The safety layer between intent and spend

The AI agent API that acts.
You control the money.

One API for domains, email, images and LLM routing — with a quote before spend, human approval for risky actions, duplicate-charge protection and a proof receipt afterward.

No real purchases on Free Approval before high-risk actions Scoped keys and spend caps Receipts for every execution

toolcallstore.com/llms.txt  ·  /.well-known/agent-card.json  ·  /openapi.json

Agents discover capabilities automatically via standard manifest files. Drop any URL into your agent's system prompt.

your agent's first tool call
POST /v1/tools/search
Authorization: Bearer tc_live_xxxxxxxxxxxx

{ "intent": "register a domain and set up business email" }

 { "intent": "register a domain and set up business email",
    "results": [
      { "tool_id": "domains.search", "name": "domains.search", "category": "domains", "pricing": { "typical_usd": "0.00" } },
      { "tool_id": "domains.register", "name": "domains.register", "category": "domains", "pricing": { "typical_usd": "12.00/yr" } },
      { "tool_id": "email.create_mailbox", "name": "email.create_mailbox", "category": "email", "pricing": { "typical_usd": "4.00/mo" } }
    ] }
Why this is needed now

Agents can click “buy” faster than your team can notice a mistake.

A model retry, a vague prompt or an over-scoped provider key can create duplicate purchases and unaudited changes. ToolCall Store puts a deterministic transaction layer in the middle.

Before execution

Know the exact action and price

The agent searches available tools and receives an expiring quote. Nothing billable has happened yet.

At the decision

Require a human when risk is real

Domain purchases, DNS changes, email setup and larger spends pause for approval instead of guessing your intent.

After execution

Prove what happened

Idempotency prevents duplicate retries. Receipts record provider IDs, cost, status and rollback guidance.

🌐

Domains

Search availability now. Live registration, nameservers and DNS changes are activated through beta onboarding.

📬

Email

Stalwart mailbox, alias and routing automation is available through beta onboarding, with DKIM/SPF/DMARC templates.

🖼

Image Generation

Generate images through Runware FLUX Schnell first, with Together and Leonardo as automatic fallbacks.

🔀

LLM Routing

Multi-provider failover and cost routing across Claude, OpenRouter, DeepSeek, and Groq.

Discover → Search → Quote → Approve → Execute → Verify

From request to verifiable result

Six deterministic steps replace a pile of custom provider integrations. Billable actions are quoted first; risky actions wait for approval.

1Discover
GET /llms.txt
or  GET /.well-known/agent-card.json

 Agent reads available
  tools, auth, pricing model
2Search
POST /v1/tools/search
{ "intent": "register a
  domain + business email" }

 { "tools": ["domains.search",
  "domains.register",
  "email.create_mailbox",
  "dns.apply_template"] }
3Quote
POST /v1/quotes
{ "items": ["domain:mysaas.com",
  "mailbox:hello@mysaas.com"] }

 { "quote_id": "q_abc",
  "total_estimate_usd": 17.30,
  "requires_approval": true,
  "expires_at": "..." }
4Approve (human)
POST /v1/approvals
{ "quote_id": "q_abc",
  "reason": "New SaaS onboarding" }

 { "approval_id": "appr_xyz",
  "status": "pending" }
// Email sent. You approve.
// Agent polls.
5Execute
POST /v1/execute
{ "approval_id": "appr_xyz" }

 { "receipt_id": "rcpt_123",
  "status": "processing" }
6Verify
GET /v1/receipts/rcpt_123

 { "domain": "mysaas.com",
  "status": "registered",
  "dns_verified": true,
  "cost_usd": 7.30,
  "provider_id": "OP-29793388",
  "rollback_hint": "..." }
See the full worked example →
Capabilities

What your agent can do

Provider-backed tools are released in stages. Available tools are marked below; production domain and email actions are enabled during beta onboarding.

🌐

Domain Registration beta

Availability search is live. Production registration and DNS execution are enabled after plan and scope verification.

✉️

Business Email beta

Mailbox provisioning and DNS authentication templates are enabled during production onboarding. Published pricing starts at $5/mo per mailbox.

🎨

Image Generation available

Runware runware:100@1 first, Together FLUX Schnell second, Leonardo third. One endpoint with automatic fallback.

🧠

LLM Routing available

Claude, OpenRouter, DeepSeek, and Groq. Route by cost, quality, or speed. BYOK supported.

🛡️

Human Approval Gates approval

Every high-risk action requires your sign-off via email or webhook. Spend caps enforced per key.

🧾

Proof Receipts always on

Every action returns provider_id, cost_usd, timestamp, DNS status, and a rollback_hint.

For the developer

Wire it into your agent in minutes

Bearer auth, scoped permissions, spend caps, and webhooks. Your agent stays inside the rails you set.

auth + scopes
Authorization: Bearer tc_live_xxxxxxxxxxxx

Scopes:
  domains:read    — search availability
  domains:buy     — register (needs approval)
  email:write     — create mailboxes (needs approval)
  llm:call        — route LLM requests
  media:generate  — generate images / video
  receipts:read   — fetch proof

Spend caps: set per-key daily / monthly limits
Webhooks:   GET notified on approval, execute, receipt

Your agent stays safe

  • Quote before every billable action — no surprise spend.
  • Approval required for domain buys, DNS writes, email setup, and any spend over $25.
  • Idempotency keys prevent duplicate charges on retry.
  • Every action is documented — receipts carry verification and a rollback hint when reversal is supported.
  • 403 = missing scope — it never silently fails.
  • 402 = add funds — never a surprise charge.
Why not just call OpenProvider / Together / OpenRouter directly?

Direct provider keys give the agent capability. They do not give you control.

Every provider integration means: writing auth, billing, idempotency, spend caps, rollback, and approval logic — separately, for each one. Then doing it again for every agent you build.

One key, one bill

OpenProvider, Runware, Together, Leonardo, Stalwart, OpenRouter — one API key, one usage statement, one bill at end of month.

No surprise charges

Every billable action is quoted first. Anything over $25 needs your explicit approval before a single cent moves.

Auditable receipts

Every action returns a proof receipt with provider ID, cost, status, and a rollback_hint when reversal is supported.

AI agent API FAQ

Give agents tools without giving up control

The safety and billing questions teams should answer before an agent can take real actions.

What is an AI agent API?

An API of structured tools an agent can call while authentication, permissions, limits and auditable results stay enforced.

How is uncontrolled spending prevented?

Billable actions are quoted first, keys have scopes and spend caps, and high-risk actions require approval before execution. Read the agentic AI security guide.

Can I test without real purchases?

Yes. A free sandbox key returns mocked action results and cannot buy domains, mailboxes or provider usage.

What is in a proof receipt?

Provider identifier, timestamps, cost, result, verification data and rollback guidance when the action supports reversal. See the worked API example.

Pricing <