Skip to main content
Most inference gateways answer one question: “Which provider should handle this model call?” Compose answers that, then keeps the payment state attached to the same HTTP request. That matters when the caller is an agent, a workflow, or an IDE spending from a user-controlled budget. The API can tell you which model answered, what was authorized, what the provider reported, what was settled, and which receipt belongs to the call.

Where it fits

Use Compose when billing is part of the request lifecycle: budgeted keys, raw x402, receipts, and catalog-backed metering. If you only need a generic LLM router, use the router that fits that job.

What stays explicit

Trade-offs, plainly

Compose does not hide every provider difference. Some models support tools, some do not. Some stream usage, some only return final usage. Some support image input, some only text. The catalog exposes those differences so clients can choose before sending work. That is less tidy than pretending every model is identical, but it is much easier to debug.