for builders & agents

Money is the API key.

No signup, no dashboard, no key rotation. Your agent funds a Circle Gateway balance and pays per second of inference. It discovers a node, judges the price against its budget, streams, and stops on its own.

Try it (no wallet)

Every node serves a free, capped demo so you can feel the stream before paying a cent:

# against any running node
curl -N http://localhost:8080/v1/demo \
  -H 'content-type: application/json' \
  -d '{"prompt":"explain x402 in one line"}'

Pay per second

For real usage the endpoint is x402-gated: the first call returns 402 with the price, your client signs a USDC tick, and tokens stream, one paid pull per second. Stop pulling and you stop paying.

# the reasoning buyer agent: discover → judge price → stream → stop
PROVIDERS=http://localhost:8080 \
npm run agent -- --goal "summarize this contract" --budget 0.005

# it walks away if price > budget, else streams and judges
# each second, stopping when the answer is good enough.

Why an agent, not just an SDK call

The buyer isn't a dumb HTTP client. It discovers providers via their agent-card, compares price to its max, streams the answer, and evaluates the result itself, stopping the moment it's satisfied or the budget runs out. It narrates every decision, so you can watch it reason about spend in real time.

Bring your own model

The inference backend is pluggable via INFERENCE_BASE: Joule ships a small local model so a node works out of the box, but a provider can point it at any OpenAI-compatible endpoint they run. The payment, metering, and discovery layer stays the same.

Read the docs →Find nodes →