For agents and developers
Any model. One key, or none.
150+ models, Claude, GPT, Gemini and DeepSeek among them, below list price. One SingIt API key works in the OpenAI SDK, the Anthropic SDK and Claude Code. Agents with a wallet need no key: they pay per answer over x402. Try it free first.
Just want to chat with these models? Open SingIt, no code needed.
Base URL with an API keyhttps://app.singitai.app/v1
https://ask.singitai.app/v1
Claude Opus 5.5 · output, per 1M tokens
−75% below the model's list price, markup includedExpected price: what answers from this model cost us, plus 30%. You pay what each answer actually used, and nothing without an answer. With a key, that is all; over x402, plus $0.001 per answer on Base.
Live prices did not load. They are at ask.singitai.app/v1/models.
Quickstart
Your first answer in one request.
For your own code or agent. To chat, open SingIt instead.
- Start freeModel free/deepseek-v4.1-flash answers with no wallet and no key: 20 answers a day.
- Get a keyIn the SingIt app, Settings → API keys. Your wallet signs the key's limits: a day, a request, how many days.
- Top upBuy a balance for your keys, $1 to $50 at a time, in USDC from your wallet. Each request costs what it used + 30%, with no fee per call.
- Use it anywhereThe OpenAI SDK, the Anthropic SDK or Claude Code, at app.singitai.app/v1, with any id from the model list. Agents with a wallet can skip the key and pay per answer over x402.
curl · free
curl https://ask.singitai.app/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "free/deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Hello!"}]}'
No wallet, no key. Drop the free/ prefix or pick another model and the same request returns a 402 asking for payment.
Python · key
from openai import OpenAI
# The official OpenAI SDK, pointed at SingIt, with a key from the SingIt app.
client = OpenAI(base_url="https://app.singitai.app/v1", api_key="sk_singit_...")
answer = client.chat.completions.create(
model="claude-opus-5.5",
messages=[{"role": "user", "content": "Hello!"}],
)
print(answer.choices[0].message.content)
Streaming, tools and images work as the model offers them. Each answer carries billing.chargedAtomic: what it took from your balance, in USDC micro-units. /v1/responses, /v1/balance and /v1/usage answer too.
Claude Code
# Your SingIt key, in Anthropic's format
export ANTHROPIC_BASE_URL="https://app.singitai.app"
export ANTHROPIC_AUTH_TOKEN="sk_singit_..."
export ANTHROPIC_MODEL="claude-sonnet-5.5"
claude
Make the key with at least $2 a request: a coding agent sends long contexts. The Anthropic SDK works the same way: base_url="https://app.singitai.app" and the key as api_key. Any model from the list answers here, not only Claude.
x402 · no key
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { UptoEvmScheme } from "@x402/evm/upto/client";
import { createPublicClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
// A wallet holding a little USDC on Base. No ETH: the facilitator pays the gas.
const account = privateKeyToAccount(process.env.AGENT_KEY);
const chain = createPublicClient({ chain: base, transport: http() });
const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453",
client: new UptoEvmScheme({ address: account.address, signTypedData: account.signTypedData,
readContract: chain.readContract.bind(chain) }) }] });
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://ask.singitai.app/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ model: "claude-opus-5.5",
messages: [{ role: "user", content: "Hello!" }] }),
});
const answer = await res.json();
console.log(answer.choices[0].message.content, answer.billing.totalAtomic);
For agents with their own wallet: no account and no key, just a little USDC on Base. The payment is upto: you sign a ceiling, and Coinbase's facilitator settles only what the answer used (billing.totalAtomic, in USDC micro-units). A failed answer is never settled.
Discovery
# Models, our prices, list prices and fees
GET https://ask.singitai.app/v1/models
# OpenAPI 3.1 with x402 payment info (x402scan reads this)
GET https://ask.singitai.app/openapi.json
# x402 resource list
GET https://ask.singitai.app/.well-known/x402
Listed on Coinbase's x402 Bazaar and on x402scan, so agents can find SingIt on their own.
Works with
Where you already work.
- LiveAny OpenAI client
Base URL app.singitai.app/v1 and a SingIt key. Chat completions and the Responses API, streaming included.
- LiveClaude Code and the Anthropic SDK
The same key, in Anthropic's format at app.singitai.app. Every model in the list, not only Claude.
- LiveAny x402 agent
Listed on Coinbase's x402 Bazaar and x402scan. Agents find the endpoint and pay with their own wallet, no key.
- LiveSingIt app and Telegram
Your own agent, paying from limits held in your wallet. Open SingIt
- SoonAn MCP server
Purchases and live data from your SingIt limits inside Claude Code, Codex and Cursor, installed with one command.
- SoonMore than models
Search, web pages, images, voice and data with the same key.
Prices
Popular models, below list price.
| Model | Output | Saving | ||
|---|---|---|---|---|
| Live prices load from ask.singitai.app/v1/models. | ||||
How payment works
Pays what it used. Stops at your limit.
The agent signs a ceiling and is charged the actual cost of the answer. Paying from a SingIt budget, it cannot go past the limits you set, and says why when it stops.
An example run. Ceilings and charges depend on the model and the answer.
Safety
A budget, not a hot wallet.
A key on disk
- The agent's key holds the whole balance
- A leaked key is lost money
- Limits live in the agent's own software
- Stopping it means moving the funds out
SingIt
- USDC stays in your own wallet
- Daily and per-purchase limits in a contract on Base
- An API key spends only the balance you bought, within its own limits
- One click revokes a key; one signature revokes the limits
In the open
Check it yourself.
One key for every model. Start free.
Try the free model with no key, then get a key in the SingIt app and top it up from your wallet.