AI model APIs, pay per call
OpenAI-compatible chat completions for 136 AI models (Claude, GPT, Gemini, Grok, Kimi, GLM, DeepSeek, Qwen), paid per call in USDC on Base with x402. No API key, no account.
POST https://agent402-arb.rosariovitale0096.workers.dev/v1/chat/completions with body.model from GET /models.One short address per model:
POST https://agent402-arb.rosariovitale0096.workers.dev/llm/<model>Popular models
- Claude Opus 5.5
/llm/claude-opus-5.5 - Claude Sonnet 5.5
/llm/claude-sonnet-5.5 - Claude Haiku 5.5
/llm/claude-haiku-5.5 - GPT-6 Astra
/llm/gpt-6-astra - GPT-6.1 Sol
/llm/gpt-6.1-sol - GPT-5.5
/llm/gpt-5.5 - GPT-6 Luna
/llm/gpt-6-luna - Gemini 4 Argon
/llm/gemini-4-argon - Gemini 3.1 Pro
/llm/gemini-3.1-pro - Gemini 3.8 Flash
/llm/gemini-3.8-flash - Grok 4.7
/llm/grok-4.7 - Kimi K3
/llm/kimi-k3 - GLM-5.3
/llm/glm-5.3 - DeepSeek V4 Pro
/llm/deepseek-v4-pro - DeepSeek V4.1 Flash
/llm/deepseek-v4.1-flash - DeepSeek V4 Flash Chat
/llm/deepseek-chat - Qwen3.8 Max
/llm/qwen3.8-max - MiniMax M3
/llm/minimax-m3 - Llama 3.3 70B
/llm/llama-3.3-70b - Mistral Large 4
/llm/mistral-large-4 - OpenAI GPT OSS 120B
/llm/gpt-oss-120b - Claude Opus 5
/llm/claude-opus-5 - Claude Sonnet 5
/llm/claude-sonnet-5 - Gemini 3.6 Flash
/llm/gemini-3.6-flash
All other models
aion-3.0 · aion-3.0-mini · aion-3.5 · aion-3.5-mini · chat-latest · claude-fable-5 · claude-fable-5.1 · claude-haiku-4.5 · claude-opus-4.5 · claude-opus-4.6 · claude-opus-4.7 · claude-opus-4.8 · claude-opus-4.8-fast · claude-opus-5-fast · claude-opus-5.5-fast · claude-sonnet-4.5 · claude-sonnet-4.6 · deepseek-reasoner · deepseek-v3.2 · deepseek-v4-flash-0731 · deepseek-v4-flash-0731-fast · deepseek-v4-flash-vision-exp · deepseek-v4-pro-0813 · gemini-2.5-flash · gemini-2.5-flash-lite · gemini-2.5-pro · gemini-3-flash-preview · gemini-3.1-flash-lite · gemini-3.5-flash · gemini-3.5-flash-lite · gemini-3.7-flash · gemma-3-27b-instruct · gemma-4-26b-a4b-instruct · gemma-4-31b-instruct · glm-4.6 · glm-4.7 · glm-4.7-flash · glm-5 · glm-5-turbo · glm-5.1 · glm-5.2 · glm-5.3-flash · glm-5v-turbo · gpt-4.1 · gpt-4.1-mini · gpt-4.1-nano · gpt-4o · gpt-4o-mini · gpt-5-mini · gpt-5.1 · gpt-5.2 · gpt-5.2-pro · gpt-5.3-codex · gpt-5.4 · gpt-5.4-mini · gpt-5.4-nano · gpt-5.4-pro · gpt-5.5-pro · gpt-5.6-luna · gpt-5.6-luna-pro · gpt-5.6-sol · gpt-5.6-sol-pro · gpt-5.6-terra · gpt-5.6-terra-pro · gpt-6-astra-pro · gpt-6-sol · gpt-6.1-sol-ultrafast · grok-4.20 · grok-4.20-multi-agent · grok-4.3 · grok-4.5 · grok-4.6 · grok-build-0.1 · hermes-3-llama-3.1-405b · hy4-preview · kimi-k2.5 · kimi-k2.6 · kimi-k2.7-code · kimi-k3-fast · laguna-s-2.1 · llama-3.2-3b · mercury-2 · mercury-2.5 · mimo-v2.5 · mimo-v2.5-pro · mimo-v2.6-flash · minimax-m2.5 · minimax-m2.7 · mistral-small-3.2-24b-instruct · nemotron-3-nano-30b · nemotron-3-ultra · o1 · o3 · o3-mini · o4-mini · qwen-3-235b-a22b-instruct-2507 · qwen-3-235b-a22b-thinking-2507 · qwen-3-coder-480b-turbo · qwen-3-next-80b · qwen-3.5-35b-a3b · qwen-3.5-397b · qwen-3.5-9b · qwen-3.6-27b · qwen-3.6-35b-a3b · qwen-3.8-2.4t · qwen-3.8-27b · qwen3-vl-235b · qwen3.7-flash · qwen3.7-max · qwen3.7-plus · qwen3.8-flash · seed-2.1-turbo
How to call it
- POST your OpenAI-style request to
https://agent402-arb.rosariovitale0096.workers.dev/v1/chat/completionswithout payment. The answer is HTTP 402 with aPAYMENT-REQUIREDheader: the exact price in USDC for that prompt andmax_tokens(x402 v2, schemeexact, Base mainnet). - Sign the payment with any x402 client (EIP-3009
transferWithAuthorization; the wallet needs USDC on Base, no ETH). - Send the same request again with the
PAYMENT-SIGNATUREheader. You get a standardchat.completion. If the model fails to answer, the payment is refunded automatically.
// npm i @x402/core @x402/evm @x402/fetch viem
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.WALLET_KEY), networks: ["eip155:8453"] });
const pay = wrapFetchWithPayment(fetch, client);
const r = await pay("https://agent402-arb.rosariovitale0096.workers.dev/v1/chat/completions", { method: "POST", headers: { "content-type": "application/json" },
body: JSON.stringify({ messages: [{ role: "user", content: "Hello" }], max_tokens: 256 }) });
console.log((await r.json()).choices[0].message.content);
Quote only (free): curl -i -X POST https://agent402-arb.rosariovitale0096.workers.dev/v1/chat/completions -H 'content-type: application/json' -d '{"messages":[{"role":"user","content":"Hello"}],"max_tokens":256}'