# SingIt > Your agent spends. Your wallet keeps the money: set a daily and a per-purchase limit once, and your AI agent buys gift cards, eSIMs, top-ups and live answers inside those limits. Agents with no wallet of their own: use an MCP key with limits your owner sets: https://singitai.app/docs/mcp-key/ Caps apply only to calls made with the key to SingIt's MCP and /v1 endpoint; they do not limit spending elsewhere or protect an agent's own wallet. Free first call: POST https://ask.singitai.app/v1/chat/completions with model free/deepseek-v4.1-flash; no key or wallet, subject to the free allowance below. Agent instructions: https://singitai.app/SKILL.md Discovery card (MCP, not an A2A task endpoint): https://singitai.app/.well-known/agent-card.json ## I need to... -> Call -> Price | Task | Call | Price | | --- | --- | --- | | Chat completion (OpenAI format) | POST https://ask.singitai.app/v1/chat/completions | 0.001..1.225042 USDC per call | | Anthropic Messages | POST https://ask.singitai.app/v1/messages | 0.001..1.225042 USDC per call | | OpenAI Responses | POST https://ask.singitai.app/v1/responses | 0.001..1.225042 USDC per call | | Per-model chat routes | POST https://ask.singitai.app/v1/chat/{model} | 0.001..0.20584 USDC per call | | Image generation | POST https://ask.singitai.app/v1/images/generations | 0.014..2.602 USDC per call | | Speech | POST https://ask.singitai.app/v1/audio/speech | 0.001..0.336 USDC per call | | Exa web search | POST https://ask.singitai.app/v1/exa/search | 0.001..0.05 USDC per call | | Exa page contents | POST https://ask.singitai.app/v1/exa/contents | 0.001..0.05 USDC per call | | Exa cited answer | POST https://ask.singitai.app/v1/exa/answer | 0.001..0.05 USDC per call | | Free models (free/ prefix) | POST https://ask.singitai.app/v1/chat/completions | Free (limited daily allowance) | | Crypto / metal / FX prices (free) | GET https://ask.singitai.app/v1/prices; GET https://ask.singitai.app/v1/prices/crypto/{symbol}; GET https://ask.singitai.app/v1/prices/metal/{symbol}; GET https://ask.singitai.app/v1/prices/fx/{base}/{quote} | Free | | Models / pricing lookups (free) | GET https://ask.singitai.app/v1/models; GET https://ask.singitai.app/pricing.json | Free | | Health | GET https://ask.singitai.app/health | Free | ## Money rules for agents Call without payment: HTTP 402 includes PAYMENT-REQUIRED (base64 JSON, x402Version 2). Decode that header, sign one offer, and retry the same request with PAYMENT-SIGNATURE. Success is HTTP 200 with PAYMENT-RESPONSE. `upto` is listed first: pay the actual cost up to the signed ceiling. `exact` is a flat price for a typical-length answer (about 30% of max_tokens), settled at that flat price whatever length the answer turns out to be. Do not sign above your budget. LLM, image and speech charges are model cost plus 30% markup, plus a settlement fee of $0.001 on Base or $0.002 on Solana. Solana uses the same API URLs as Base. Exa uses Exa's own price with no markup or settlement fee by default. The route table shows discovery ranges in USDC; the request's 402 offer is authoritative. Charged only when a billable answer came back: an upstream 503 never charges. Do not retry a 400/413/422 on another model; fix the request. A 409 means this payment signature was already used. For 503, wait for Retry-After where supplied. A 429 on the free tier means wait for Retry-After. Free tier: 6 free models, up to 20 answers a day per network, with a shared daily cost cap of $0.25. The shared free tier may run out for the day (free_budget_exhausted); it resets at midnight UTC. No wallet or key required. Reference chat request: 1 message(s), 30 characters, 12 input tokens, max_tokens 800. Per-model reference prices are in the full models list, with upto before exact. ## What it is SingIt lets you connect the wallet you already use, set a daily and a per-purchase limit, and approve once. Your AI agent then buys gift cards, eSIMs, mobile top-ups and live model answers inside those limits, on Base or Solana. One signature takes the allowance back. ## Products - Web app at https://app.singitai.app/app/ — connect a wallet, set limits, let an agent spend inside them. - SingIt Ask, an x402 API at https://ask.singitai.app — language-model chat completions, Anthropic's Messages and OpenAI's Responses formats, images, speech and web search, each paid per call in USDC on Base or Solana, no account or API key. Its own llms.txt: https://ask.singitai.app/llms.txt - A remote MCP server at https://app.singitai.app/mcp (free tools without a key; a SingIt API key for paid tools). ## Start here: free, then a key, then MCP 1. Free: POST https://ask.singitai.app/v1/chat/completions with model "free/deepseek-v4.1-flash". One of 6 free models; up to 20 answers a day per network, shared $0.25/day cost cap. May run out for the day (free_budget_exhausted); resets at midnight UTC. No wallet or key. 2. API key: in the SingIt app (https://app.singitai.app/app/), Settings → API keys. The wallet signs the key's limits (per day, per request, how many days); top up $1 to $50 at a time in USDC. With a key, OpenAI SDK, Anthropic SDK and Claude Code work at https://app.singitai.app/v1 (cost + 30%, no per-call fee). 3. MCP: https://app.singitai.app/mcp (Streamable HTTP), official MCP Registry name app.singitai/singit. - Free, no key: get_price, list_price_symbols, list_models. - Free with a key (read-only): get_balance, get_limits, get_receipts. - Paid per call from the key's limits (USDC on Base or Solana): web_search, read_page. - Paid, Base accounts for now: get_x_profile, get_crypto_news, get_hyperliquid_market, get_funding_rates, resolve_ens, get_token_price; demo calls get_weather, get_singit_risk_check. - Claude Code: claude mcp add --transport http singit https://app.singitai.app/mcp --header 'Authorization: Bearer ${SINGIT_API_KEY}' Single quotes keep ${SINGIT_API_KEY} as a reference so the key is not written into Claude Code's configuration. - Install guide: https://github.com/SingItAi/SingItAI/blob/main/llms-install.md Agents with their own wallet can skip the key: pay per answer over x402 at https://ask.singitai.app (USDC on Base or Solana). ## First paid x402 call 1. POST https://ask.singitai.app/v1/chat/completions with no payment, e.g. {"model":"deepseek-v4.1-flash","max_tokens":200,"messages":[{"role":"user","content":"Hello"}]}. The answer is HTTP 402 with a PAYMENT-REQUIRED header: base64 JSON, x402Version 2. 2. Its accepts list `upto` first (Base, then Solana): you sign a ceiling and pay the answer's actual cost + 30% + a 0.001 USDC fee on Base (0.002 on Solana). `exact` follows on both networks: a flat price for a typical-length answer (about 30% of max_tokens), for wallets that sign only exact. For Claude Opus, sign `upto`: its `exact` price carries room for thinking tokens and is usually dearer than the answer used (recommendedScheme in https://ask.singitai.app/pricing.json). USDC on Base needs no ETH (gas is sponsored). 3. Sign one offer and retry the same request with the PAYMENT-SIGNATURE header. HTTP 200: choices[0].message.content, billing.totalAtomic (what was settled, in USDC micro-units) and a PAYMENT-RESPONSE header. - Walkthrough with code (x402 fetch, Coinbase Bazaar MCP, Coinbase agentic wallet): https://github.com/SingItAi/SingItAI/blob/main/docs/first-paid-call.md ## Errors JSON errors include a stable code: OpenAI-style error.code, Messages-format error.code, or a top-level code alongside a string error. Tolerate unknown codes. Reference: https://singitai.app/docs/errors/ A 402 challenge body includes x402Version and accepts, equal to the corresponding fields in the decoded PAYMENT-REQUIRED header, plus error: "payment_required" and code: "payment_required". A settlement-failure 402 has only error and code, with no challenge header. 429s include Retry-After (seconds). Free-tier daily 429s and /v1/prices 429s include X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix seconds). Free-tier busy 429s have only Retry-After: 5. Prices use fixed minute windows and Retry-After: 60. | HTTP status | code | meaning | charged? | what to do | | --- | --- | --- | --- | --- | | 400 / 413 | invalid_json, invalid_request, payload_too_large | Invalid JSON, input or body size | No | Fix request; reduce body for 413. | | 401 / 403 | unauthorized, forbidden | Authentication or access refused | No answer charge | Check access. | | 402 | payment_required | Payment challenge or refusal | No answer charge on refusal | Inspect PAYMENT-REQUIRED; check budget before signing. Without a challenge, reconcile submitted payment. | | 404 | model_not_found, not_found | Model, route or symbol unavailable | No | Check route or catalogue. | | 409 | payment_duplicate, stale_payment_permit | Signature used or permit nonce stale | No new charge | Check original result; wait for settlement before signing a fresh permit. | | 422 | max_tokens_too_small, invalid_request | No answer within output budget or invalid request | No | Fix request; raise max_tokens within budget. | | 429 | rate_limited, free_tier_exhausted, free_budget_exhausted, free_tier_busy | Allowance exhausted or busy | No | Wait Retry-After. | | 503 | no_billable_answer, no_healthy_sellers, upstream_unavailable | No billable answer or upstream unavailable | Never | Wait Retry-After where supplied, then retry. | ## For developers - Health and status: https://ask.singitai.app/health (JSON: model and payment-rail status), https://singitai.app/status/ (page), https://ask.singitai.app/numbers.json (measured numbers) - Docs: https://singitai.app/developers/ - Docs index: https://singitai.app/docs/ - Errors: https://singitai.app/docs/errors/ - Limits: https://singitai.app/docs/limits/ - How a payment is charged: https://singitai.app/docs/payments/ - Security: https://singitai.app/docs/security/ - FAQ: https://singitai.app/docs/faq/ - SingIt Ask OpenAPI: https://ask.singitai.app/openapi.json - SingIt Ask x402 discovery: https://ask.singitai.app/.well-known/x402 - Source: https://github.com/SingItAi/SingItAI ## Links - Home: https://singitai.app/ - Developers: https://singitai.app/developers/ - Models: https://singitai.app/models/ - App: https://app.singitai.app/app/ ## Models - [Privacy policy](https://singitai.app/privacy/) - [Data deletion](https://singitai.app/data-deletion/) - [Model pages with prices](https://singitai.app/llms-models.txt) - [All model pages](https://singitai.app/models/all/) - [Live models](https://ask.singitai.app/v1/models) - [Live reference prices](https://ask.singitai.app/pricing.json) - [Agent spending limits for USDC on Base](https://singitai.app/agent-spending-limits/) - [How to limit what an AI agent can spend](https://singitai.app/limit-ai-agent-spending/) - [x402 payments with a budget for AI agents](https://singitai.app/x402-budget-for-agents/)