# Agentgates > Three things are for sale here, all to software, all over plain HTTP: a > confidential virtual machine by the hour, an open model by the request, and > a phone number an agent can call from. > Payment is USDC over x402 — send the request, read the 402 that comes back, > sign that exact amount, send it again. There is no signup and no API key > needed: the wallet that pays is the account. A wallet CAN mint bearer API > keys on its prepaid inference balance (one per agent, revocable), so plain > `Authorization: Bearer` clients work too — see the inference docs. ## Compute — a machine by the hour - [Agent docs](https://agentgates.ai/api/compute/docs): plans, live prices per network, and the buy / read / renew / destroy contract, plus the owner's controls: restart, stop (paid hours paused), start, resize (time left converts, no payment) and update (a new setup, hours kept). - [Catalog, JSON](https://agentgates.ai/api/compute/catalog): the same plans and prices, machine-readable. - [Buy](https://agentgates.ai/api/compute/deployments): `POST {"plan","hours","image"|"compose"}`. With no payment header it answers 402 and charges nothing. - [Human page](https://agentgates.ai/compute) Each deployment is one dedicated confidential VM (Intel TDX) running your Docker workload, with a remote-attestation quote and a public proof page. ## Inference — a model by the request - [Agent docs](https://agentgates.ai/api/inference/docs): models, live prices per million tokens, and how a request is priced before it runs. - [Catalog, JSON](https://agentgates.ai/api/inference/catalog): the same models and prices, machine-readable. - [Ask](https://agentgates.ai/api/inference/chat): `POST {"model","messages","max_tokens"}`. With no payment header it answers 402 and charges nothing. - [Human page](https://agentgates.ai/inference) Models run on attested GPUs. You pay for the tokens used, at the rates per million; the size of your prompt and the ceiling you set bound the most a request can cost before a token is generated. ## Your account — twelve words, no signup - [Agent docs](https://agentgates.ai/api/account/docs): the account, the owner-signed calls, the balance. - Onboard yourself: `curl -fsSL https://agentgates.ai/api/install | sh` then `agentgates init`. - Prove you are in: `agentgates browser balance` (the balance and the address that tops it up). - Coming back: nothing to log in; the key on this machine signs every call, and `agentgates init` again answers "key already here". A new machine: `agentgates init --seed ""`. The account is a key: twelve words sign every call, hold a prepaid USDC balance, own browser tasks and lock a vault of logins. `init` mints them once and prints them with what to tell your human; `init --seed` brings words a human gave you. On one machine `agentgates open` hands the session to a browser and `agentgates receive` takes one back. Every request carries `X-Wallet-Auth`, a signature over the method, path, a nonce and a timestamp; no session, no token, nothing to refresh. ## Phone — a number, or one call with no account at all - [Agent docs](https://agentgates.ai/api/account/docs): the plans, the booth, the owner-signed calls. - [Catalog, JSON](https://agentgates.ai/api/account/catalog): products, plans and prices, machine-readable. - [Payphone price](https://agentgates.ai/api/booth): `GET` for the windows, free. Then `POST {"kind":"call","minutes":5,"to":"+1…"}` over x402. - [Human page](https://agentgates.ai/dashboard/user/phone) The payphone needs no account and no number of your own: pay for a window of minutes, name who to dial, and the call is placed from a house number. Pass a `streamUrl` and the audio is a bidirectional websocket (mulaw 8kHz, 20ms frames), so an agent that brings its own voice talks to a person directly. Ladder is $0.05 for one minute down to $0.035 a minute at ten. A plan instead sells your own number, which receives texts and places calls. Sending texts is shut until the carrier registration clears; the API says so rather than charging for a message that would be dropped. ## Directory — every paid API, and who actually paid for it - [Agent docs](https://agentgates.ai/api/directory/docs): search, list your own, and turn a settle into a review. - [Search, JSON](https://agentgates.ai/api/directory/resources): `?q=&category=&chain=&rated=1&sort=rating&limit=&offset=`. Free, no key. - [By provider, JSON](https://agentgates.ai/api/directory/providers): the same board grouped by host, for when one publishes thousands. - [List yours](https://agentgates.ai/api/directory/listings): `GET` for the price per network, then `POST {"resource"}` over x402 (a 402, sign, retry with X-PAYMENT). We fetch the URL first and read the prices out of its own 402. - [Review one you paid for](https://agentgates.ai/api/directory/reviews): `GET` for the exact bytes to sign, then `POST` with the signature. Aggregated from the public x402 registries; listing your own is the paid act, reviews are free. **Anyone who paid may review, and the settle is the receipt**: every review carries a transaction hash this deployment read on chain, the payer comes from the transfer log rather than the relayer, a reviewer wallet may never be the payee, and one settle carries one review. Reviews weight by the wallet's paid history, and the formula is published at `/api/directory/reviewers/`. Every response carries `pagination.total`. One page is not the board. ## How to pay 1. Send the request with no `X-PAYMENT` header. 2. The answer is HTTP 402 with an `accepts` array. Each entry is ONE network's own offer: `maxAmountRequired` in USDC atomic units, the `asset` contract, and the `payTo` address. The price differs per network, so read the entry you intend to pay. 3. Sign that entry's amount as an EIP-3009 transfer authorization. 4. Send the SAME request again with the signature in `X-PAYMENT`. The answer carries the work and the settlement. Quoting is free and repeatable: a request with no payment header is priced and stopped, never fulfilled and never charged. ## Talk to us A person answers, usually within minutes. `POST https://agentgates.ai/api/contact/threads` `{"name","email"?,"text"}` (a name or an alias; the email only if you want the answer by mail) answers `{"threadId","token"}`. Keep the token: post more with `POST https://agentgates.ai/api/contact/threads//messages` `{"text"}` and read the conversation with `GET https://agentgates.ai/api/contact/threads/`, both with `Authorization: Bearer `. To be reached later, prove an email on your account: `POST https://agentgates.ai/api/account/email` (the account's own signature), then `POST https://agentgates.ai/api/account/email/verify` `{"code"}`. ## Guides - [Rent a confidential VM with USDC — no signup](https://agentgates.ai/docs/rent-a-confidential-vm-with-usdc) - [Pay-per-request LLM inference over x402](https://agentgates.ai/docs/pay-per-request-inference-x402) - [How x402 payment works: the 402 is the quote](https://agentgates.ai/docs/how-x402-payments-work) - [An API without API keys: the wallet is the account](https://agentgates.ai/docs/api-without-api-keys-wallet-auth) - [Confidential computing for AI agents: attested TEEs you can verify](https://agentgates.ai/docs/confidential-computing-for-ai-agents) - [An MCP server for agent payments: propose, never drain](https://agentgates.ai/docs/mcp-server-for-agent-payments) - [How AI agents pay for APIs: a wallet, not a card](https://agentgates.ai/docs/how-ai-agents-pay-for-apis) - [Everything above plus both lanes' full docs, one file](https://agentgates.ai/llms-full.txt)