BlockRun
The routing & payment layer for AI

Pay for the outcome.

One endpoint for every model, tool and data source an agent needs — each call priced in dollars before it runs.

One request routed to many providers
01
The API

One endpoint. Your existing client.

OpenAI-compatible and Anthropic-compatible, so pointing an existing SDK at BlockRun works on the first call — no migration, no rewrite.

Models
96
chat, image, video, voice
Data & tool APIs
183
search, markets, RPC, compute

Point an OpenAI client at one base URL. Every model, one wire format.

POST /v1/chat/completions

{
  "model": "openai/gpt-5.6-luna",
  "messages": [
    { "role": "user",
      "content": "In one sentence: what does a routing layer do?" }
  ],
  "max_tokens": 120
}
Response
{
  "model": "openai/gpt-5.6-luna",
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "A routing layer directs incoming requests or data
                  to the appropriate destination, service, or
                  processing path."
    },
    "finish_reason": "stop"
  }],
  "usage": { "prompt_tokens": 17, "completion_tokens": 23,
             "total_tokens": 40 }
}

Real responses, captured from the gateway — not illustrative.

02
Proof

Every call is metered and settled on its own.

Not a monthly invoice reconciled after the fact — each request is priced, charged and receipted as it happens, which is what makes per-agent budgets and exact cost passthrough possible. The ledger beside this is live.

Live / on-chain, Base & Solana
28,900,000
transactions settled
ModelAmountAge
Listening for on-chain payments…
96 models · 183 data & tool APIsVerify on Basescan ↗Live feed →
03
BlockRun MCP · in the terminal

Watch an agent
pay its way.

A Claude Code session with BlockRun MCP. The agent asks, the call settles in USDC, the receipt's on-chain.

claude code · mcp
get a second opinion on this race condition from GPT-5.6
blockrun_chat(model: "openai/gpt-5.6-sol", prompt: "review queue/worker.ts — workers occasionally double-claim jobs…")
402 → signed USDC auth → verified
"Two workers can read status='pending' before either UPDATE lands. Move the claim check inside the row lock — SELECT … FOR UPDATE SKIP LOCKED."
$0.0042 · settled on Base · 0x8f2a…c41d
04
AI model gateway

96 models.
One endpoint.

Chat, image, video, music — one OpenAI-compatible API. You pay the provider's rate plus 5%, and we publish the provider's rate.

FreeTry without paying — no card, no signup
modelprovin / out · 1M
Claude Fable 5
anthropic$10.00 / $50.00
GPT-5.6 Sol
openai$5.00 / $30.00
Claude Opus 5
anthropic$5.00 / $25.00
Claude Sonnet 5
anthropic$3.00 / $15.00
Gemini 3.1 Pro
google$2.00 / $12.00
Gemini 3.6 Flash
google$1.50 / $7.50
06
Enterprise

AI infrastructure
for teams.

Spend caps that hold, usage you can attribute to a team, and an audit trail that reconciles against the chain.

Budget controls
Per-key spend caps, hard limits, alerts
Usage analytics
Per-team, per-model, per-call attribution
Team management
SSO, roles, audit log, key rotation
Dedicated support
Slack channel, SLA, named CSM
We don't share your data

No training, no retention beyond the request. Privacy policy →

No accounts, no KYC

Wallet in, prompt out. Pseudonymous by default.

Open-source SDKs, MIT

Audit the wire format on npm and PyPI.

Settled in USDC — payment rails
FAQ

Questions we get
before you ask them.

Do you train on my prompts?
No. We forward your prompt only to the AI provider you select to generate the response. We don't store it beyond the request, and we don't share it with anyone else.
What about "free" models?
We don't ship free models that require sharing your data with the upstream provider. If a free tier's terms allow training on user prompts, we don't list it.
How is this different from OpenRouter or Portkey?
Pay-per-call USDC on Base or Solana via x402. No account, no API key, no subscription. Auto-fallback when a model is down. SDKs are OpenAI-compatible.
Why USDC instead of a subscription?
Agents can hold USDC; agents can't hold a credit card. Settlement happens on-chain in the same request via the x402 protocol — no prepaid credits, no minimum spend.
What happens if a model is down?
We auto-fallback to a comparable model and surface which one served you via the X-Fallback-Model response header, so your application never sees a hard failure.
Are the SDKs OpenAI-compatible?
Yes. Change base_url and you're done — every endpoint matches OpenAI's shape. @blockrun/llm for TypeScript, blockrun-llm for Python, both MIT-licensed.
Ship today

Point your client at BlockRun.
The first call already works.