That is the difference between a budget and a report, and it is the reason to choose proxy mode by default — you also get response caching and cross-agent deduplication, so two agents asking the same question pay once. Self-custody is the other half: the agent signs its own USDC payments and the key stays on your machine, which is worth the extra setup only when you actually need to pay per call on-chain.
A client for Gatewards, a routing layer for paid APIs. It finds services on the marketplace, makes the call, and settles payment — either through the gateway with a budget enforced, or on-chain from the agent's own wallet.
- Paid API services on the marketplace, with names, descriptions, endpoints and prices, searchable — gatewards_discover_services
- A GET or POST call made through the layer, returning status, data and what it cost; if the API answers 402, USDC settles on-chain and the request retries carrying a receipt — gatewards_call_api
- Today's spend, the remaining budget and active subscriptions — gatewards_check_budget
- Prepaid credit plans listed for a service, at a fixed USDC price — gatewards_get_plans
- A credit bundle bought for a service, in proxy mode — gatewards_subscribe
- Two modes from the same server: proxy, which adds budget enforcement, response caching and cross-agent deduplication, and x402 self-custody, where the agent signs payments itself and the keys never leave the machine
For proxy mode, an agent API key from the Gatewards dashboard — pass it as --api-key or GATEWARDS_API_KEY — and the gateway URL, which defaults to a local address and should be pointed at https://api.gatewards.com for the hosted one. Self-custody mode instead takes --private-key with an RPC URL and a USDC contract address. Run npx @gatewards/mcp-server; the server starts without a key but cannot reach the gateway until it has one.
One command plus a key — npx @gatewards/mcp-server --api-key=gw_agent_xxx --gateway=https://api.gatewards.com, then supply credentials
