Changelog
All notable changes to BlockRun, newest first — gateway endpoints, model lineup, pricing, and SDK releases.
[2026-11-04]
Changed — Grok Imagine Pro generates at medium quality, at a new price
- xAI retired the model behind
xai/grok-imagine-image-proon 2026-11-02 and began serving its requests at the low quality of Grok Imagine 2.0. Pro now requests Grok Imagine 2.0 at medium quality, one tier abovexai/grok-imagine-image-2.0. - A 1024x1024 image is quoted at $0.064, up from $0.0535. The 402 quote always shows the current price before you pay.
- For the lower price, use
xai/grok-imagine-image-2.0at $0.043 per image. The model idxai/grok-imagine-image-prois unchanged.
[2026-11-03]
Changed — Pay-per-call chat is charged at your full max_tokens
- The 402 quotes input plus output at your
max_tokens. Anexactpayment settles that quote, so setmax_tokensto what you need. Pay withupto(Base) or batch settlement (Solana) and you are charged only the tokens produced. - On blockrun.ai an
exactchat payment used to be quoted at a share ofmax_tokensas output. It is now quoted, and settled, at the fullmax_tokens, the same asexacton sol.blockrun.ai. A request with nomax_tokensis quoted at the default 8192 (or the model's maximum output, if lower). Example:openai/gpt-5.5with a one-word prompt and nomax_tokensis now quoted $0.246850; with"max_tokens": 1000it is $0.031090. uptois offered on Base as a secondacceptsentry on the models that support it, currently the DeepSeek and Anthropic models. It authorizes the same ceiling and settles only the tokens produced. Select the entry byscheme, not by position.- The GPT-6 reasoning-effort uplift from 2026-10-10 no longer changes a price: the quote is already the full ceiling.
- This applies to
/v1/chat/completions,/v1/messagesand/v1/responses(where the ceiling ismax_output_tokens, and an unset one is the model's maximum output, not 8192). Metered API-key billing (user.blockrun.ai, api.blockrun.ai) bills actual usage and is unaffected. See How the quote is computed.
Changed — Async media is released once its payment confirms
- On image generation, image editing, music and video, a finished job's result is now handed over only after its payment is confirmed on-chain. While the transfer confirms, the poll (or the POST, on the fast path) answers
202withpayment_status: "settling"andRetry-After: 3. Keep pollingpoll_urlwith the same wallet; no second charge is taken while a transfer is unresolved. - A transfer that confirms under a different transaction hash, for example after the facilitator bumped its gas, is still recognised as paid.
- Cancelling the signed authorization while its transfer is pending counts as a failed payment: the result is not released.
Changed — Errors never carry upstream text on a 429 or 5xx
debugnow appears only on a caller-fault4xx, redacted. Rate limits, upstream failures and gateway errors return justcodeandmessage. Quote thex-blockrun-gateway-request-idresponse header when you report one. See Errors.
Added — Model-swap headers on streams, readable from browsers
- A paid stream that fails over to its fallback model now sends
X-Fallback-Used,X-Original-ModelandX-Fallback-Model, as non-streaming responses already did. - Model-swap headers are listed in
Access-Control-Expose-Headerswhenever they are present. - Swap headers and response bodies name public model ids. When the same model answers from another endpoint, it is no longer reported as a swap.
Changed — Errors inside a stream carry a code, not upstream text
- A failure after a stream has started ends with a fixed message and a code:
deadline,stall,rate_limitedorupstream_error. An upstream rejection of one of your parameters still gives its redacted reason. See Errors.
Fixed
- Unpaid requests with an empty or invalid body (discovery crawlers, uptime monitors) got a
500from 2026-11-02 03 UTC to 2026-11-03 00 UTC instead of the402challenge. Paid calls were unaffected. sol.blockrun.ainow redirectshttp://tohttps://with a301and sendsStrict-Transport-Security, matching blockrun.ai.llms.txtno longer lists the internal-only/v1/zerox/trade-analytics/*endpoints.- Prediction-market paths with a template placeholder instead of an id (for example
REPLACE_WITH_MARKET_ID,TOKEN_ID,test) now return404before any payment is requested, instead of being charged.
[2026-10-25]
Added — Kimi K3.1 Pro
moonshot/kimi-k3.1-pro($2.00/M in · $10.00/M out, $0.20/M cached, 1M context, image + text input, returnsreasoning_content) — Moonshot's post-trained successor to Kimi K3, built for long-horizon coding and agents. Cheaper than K3's $3.00/$15.00. Verified live with real completions, streaming, forced and automatic tool calls, and vision before listing.- Kimi K3.1 Pro replaces K3 as the featured Kimi.
moonshot/kimi-k3is hidden from the public list but stays routable. - Visible model counts are unchanged.
[2026-10-10]
Changed — GPT-6 calls are priced by reasoning effort (superseded 2026-11-03: exact chat is now quoted at the full max_tokens)
- A pay-per-call chat request is charged before it runs: its input plus a tenth of its
max_tokensas output. On GPT-6, higherreasoning_effortspends more reasoning, which bills as output; measured on GPT-6.1 Sol,highran up to 2.3x the output ofmedium,xhighup to 2.5x,maxup to 4.4x. - On every GPT-6 model the output share of the quote now scales with the effort requested: 2.5x at
high, 3x atxhigh, 4.5x atmax, never pastmax_tokens. No effort,lowandmediumare charged exactly as before. On plain chat, wheremaxis served asxhigh, it is charged asxhigh. - This applies to
/v1/chat/completionsand/v1/responses. Metered API-key billing (user.blockrun.ai, api.blockrun.ai) bills actual usage and is unaffected.
[2026-10-09]
Changed — GPT-6 reasoning effort
reasoning_effort: "max"now works on every GPT-6 model. It used to fail with a 400 on chat completions. On plain chat the gateway now lowers it toxhigh; on tool calls, which the gateway serves through OpenAI's Responses API, it is sent asmax.- GPT-6 tool calls now run at the effort you ask for. They used to run at
mediumwhatever the request said, so alowcall billed medium reasoning; now it bills low. With noreasoning_effort, tool calls still default tomedium. noneandminimalare raised tolowongpt-6-astraandgpt-6.1-sol.gpt-6-solandgpt-6-lunaacceptnone;minimalis raised tolowon all four.
Added — GPT-6.1 Sol
openai/gpt-6.1-sol($2.00/M in · $10.00/M out, 1M context, 128K max output, vision, reasoning) — OpenAI's 2026-09-29 refresh of the GPT-6 Sol tier, knowledge cutoff 2026-04-30. Same price asgpt-6-sol, but cached input is $0.10/M, half of Sol's $0.20/M; cache writes are $2.50/M.- Like the rest of GPT-6, it reprices the whole request at 2x input and cached rates, 1.5x output once the prompt exceeds 272K tokens — $4.00/$15.00 above the threshold — as OpenAI bills it.
- Tool calls work: the gateway routes them through OpenAI's Responses API, so no client change is needed.
reasoning_effortacceptslowthroughmax(see the effort change above);noneandminimalare raised tolow. No Flex tier yet. - Falls back to
gpt-6-sol, at the same rate, if its upstream fails. - Visible chat models are now 88; total catalog 115.
[2026-10-07]
Changed — Decisions replaces OpenJev; free with a key, on api.blockrun.ai only
- Typed judgments are now OpenAI Decisions-compatible (
gpt-6-luna):predicate,choiceandscorequestions over text or images.POST https://api.blockrun.ai/v1/decisions, free for any registered key — register at user.blockrun.ai and create one. Any OpenAI SDK works withbase_url="https://api.blockrun.ai/v1". - Not sold over x402. There is no Decisions route or price on
blockrun.ai: the x402 minimum payment is above what a judgment costs. - OpenJev is retired.
POST https://api.blockrun.ai/v1/decidestays as a compatibility alias that translates the old shape; see Decide (legacy).
Added — Mistral Large 4
mistral/mistral-large-4($0.68/M in · $2.09/M out, 512K context, 262K max output) — Mistral's flagship, released 2026-10-06. Reasoning, tool calling, JSON mode and image input. It reasons by default and the reasoning bills as output, so leave room inmax_tokens.- The price is Mistral's launch rate, half its $1.36 / $4.18 list. When Mistral ends the promotion the price here moves with it.
- Visible chat models are now 87; total catalog 114.
[2026-10-02]
Removed — Gemma 4 31B (free), the same day
nvidia/gemma-4-31bis delisted. The free upstream stopped answering: no response inside 120 seconds, on short and realistic prompts alike. Calls now redirect tonvidia/nemotron-3-super-120b, and it comes back when the upstream does.- Visible chat models are now 86; total catalog 113; free models 7.
Added — Qwen3.8 Max, Tencent Hy4 Preview, Laguna S 2.1, Muse Glimmer 30B, Gemma 4 31B on Base
qwen/qwen3.8-max($2.00/M in · $6.00/M out, 1M context, 131K max output) — the newest Qwen flagship. Falls back to Qwen3.7 Max, which costs less, if its upstream fails.tencent/hy4-preview($0.834/M · $2.501/M, 1M context, 64K max output) — Tencent's 770B open-weight MoE. It reasons before answering; a smallmax_tokenscan be spent entirely on reasoning.poolside/laguna-s-2.1($0.09/M · $0.18/M, 1M context, 131K max output) — Poolside's 118B open-weight coding model, the paid sibling of the free Laguna XS 2.1.nvidia/muse-glimmer-30b(free, 131K) — Meta's open 30B after Llama. Reasons first; ask for 1000+max_tokens.nvidia/gemma-4-31b(free, 131K) — Google's Gemma 4.- Solana (
sol.blockrun.ai) has listed all five since 2026-09-07; Base (blockrun.ai) now matches. Each was verified with real completions on the upstream the gateway uses, and each paid price is the upstream's rate. - Visible chat models are now 87; total catalog 114; free models 8.
[2026-09-29]
Added — Claude Opus 5.5, Claude Sonnet 5.5, Grok 4.7
anthropic/claude-opus-5.5($4.00/M in · $20.00/M out, 1M context, 128K max output, vision) — the newest Opus, and cheaper than Opus 5 ($5/$25). Cache reads are $0.20/M, 0.05x input rather than the usual 0.1x. Thinking is always on; set a lowoutput_config.effortto keep it short.anthropic/claude-sonnet-5.5($2.00/M · $10.00/M, 1M context, 128K max output, vision) — the newest Sonnet at Sonnet 5's price. Falls back to Sonnet 5 at the same rate if its upstream fails.xai/grok-4.7($2.00/M · $6.00/M, 500K context, vision, reasoning effortlow–xhigh) — xAI's newest flagship. Doubles to $4.00/$12.00 once a prompt reaches 200K tokens, as xAI bills it. Falls back to Grok 4.6 at the same rate.- Opus 5.5 and Sonnet 5.5 reject a forced tool choice and a
{"type": "disabled"}thinking block. The gateway serves a forced choice asauto, dropsdisabledon Opus 5.5 (it cannot turn thinking off), and translates it to Sonnet 5.5's own off switch,between_tools. Requests written for Opus 5 / Sonnet 5 work unchanged. - All three were verified with real completions on the production upstreams before listing, available on both Base (
blockrun.ai) and Solana (sol.blockrun.ai). - Visible chat models are now 82; total catalog 109.
[2026-09-25]
Added — GPT-6 Sol and GPT-6 Luna
openai/gpt-6-sol($2.00/M in · $10.00/M out, cached $0.20/M, 1M context, 128K max output, vision) — the cost-efficient GPT-6 tier below the Astra flagship, for complex coding and agentic work.openai/gpt-6-luna($0.10/M · $0.50/M, cached $0.01/M, 1M context, 128K max output, vision) — the smallest GPT-6 tier.- Like
gpt-6-astra, both reprice the whole request at 2x input and cached rates, 1.5x output once the prompt exceeds 272K tokens —gpt-6-solis $4.00/$15.00 above the threshold — as OpenAI bills it. - Unlike Astra, both accept
reasoning_effort: "none". Both rejecttemperatureother than 1,top_p, penalties,logprobsandstop;reasoning_effort: "max"is rejected upstream despite the model page listing it (since 2026-10-09 the gateway accepts it; see that entry). - Both serve Flex (
service_tier: "flex", half the standard rate), verified with a paid call on 2026-09-26 against a no-tier control.
[2026-09-08]
Added — Claude Fable 5.1, Grok 4.6
anthropic/claude-fable-5.1($10.00/M · $50.00/M, cached $0.25/M, 1M context, 128K max output, vision) — Anthropic's most capable model, successor to Fable 5 in the same tier at the same price. It rejects a forced tool choice; the gateway servestool_choice: "required"or a named tool asauto. Anthropic's dashed idclaude-fable-5-1resolves too.xai/grok-4.6($2.00/M · $6.00/M, cached $0.50/M, 500K context, vision, reasoning effort) — doubles to $4.00/$12.00 once a prompt reaches 200K tokens.
[2026-09-07]
Added — GPT-5.1
openai/gpt-5.1($1.25/M · $10.00/M, 400K context, 128K max output, vision and tools).
Fixed — long-context tier removed where OpenAI does not charge one
openai/gpt-5.2,gpt-5.2-pro,gpt-5.3-codex,gpt-5.4-miniandgpt-5.4-nanowere repricing requests above 272K prompt tokens; OpenAI bills those five flat. They are flat now.
[2026-09-05]
Added — GPT-6 Astra
openai/gpt-6-astra($10.00/M · $50.00/M, cached $1.00/M, 1M context, 128K max output, vision) — OpenAI's GPT-6 flagship for long-horizon agentic work and computer use. 2x input / 1.5x output above 272K prompt tokens ($20.00/$75.00). It rejectsreasoning_effort: "none".
Fixed — GPT-5.6 Sol at OpenAI's cut price
openai/gpt-5.6-solandopenai/gpt-5.6-sol-probill $4.00/$20.00, following OpenAI's 2026-08-21 cut from $5.00/$30.00.
[2026-08-30]
Added — Qwen3.8 Flash, DeepSeek V4 Flash Vision, MiMo-V2.5
qwen/qwen3.8-flash($0.15/M in · $0.47/M out, 1M context, image input) — 125B MoE with GDN+QSA hybrid attention. Alibaba positions it above Qwen3.7 Plus, which we sell at $0.32/$1.28, so it is both newer and cheaper than the tier it beats.deepseek/deepseek-v4-flash-vision-exp($0.44/M · $1.32/M, 1M context, image input) — our first DeepSeek model that takes images. Priced at DeepSeek's peak rate, since their new peak/off-peak split (peak 01–04 and 06–10 UTC, Mon–Fri) would otherwise put it below cost for seven hours every weekday.xiaomi/mimo-v2.5($0.14/M · $0.28/M, 1M context, image input) — the natively multimodal MiMo SKU, distinct from (and a third the price of) the text-onlymimo-v2.5-prowe already listed.- All three were probe-verified with real completions — and real image input — before listing.
Fixed — two GPT-5.6 Pro SKUs were unroutable, not just mispriced
- OpenAI raised
openai/gpt-5.6-terra-proto $2.00/$12.00 andopenai/gpt-5.6-luna-proto $0.20/$1.20. Our catalog still carried the old $1.00/$6.00 and $0.10/$0.60, and the gateway hands upstream a cost ceiling derived from the catalog price — so every call was rejected with "no endpoints satisfy the max price". Luna Pro (no fallback) returned a hard error; Terra Pro silently fell through to its cheaper fallback while billing Terra Pro's rate. Both are repriced to the current upstream rate. - Visible chat models are now 76; total catalog 100.
Changed — free tier rebuilt after NVIDIA retired four of the five free models
- Delisted
nvidia/step-3.7-flash,nvidia/nemotron-nano-9b-v2andnvidia/nemotron-nano-12b-v2-vl(published 410 Gone on both passes of a live--realprobe) andnvidia/mistral-nemotron(still listed upstream, but a completion never returns: >150s, zero bytes, both passes). Calls pinned to any of these ids are redirected to a healthy free model and still return 200. - Also 410: the hidden
nvidia/nemotron-super-49b, which was simultaneously the free cascade's tertiary rung and the fallback of its primary — both retargeted in the same change. - Added
nvidia/nemotron-3.5-lightning(thinking-mode reasoning, 131K context, ~35 tok/s),nvidia/nemotron-3-nano-30b(~121 tok/s, the fastest free model in the catalog) andnvidia/llama-3.2-11b-vision(Meta Llama 3.2, 128K context, image input) — each verified with a real completion through the gateway before listing. nvidia/gpt-oss-120bandnvidia/gpt-oss-20brecovered upstream and no longer redirect elsewhere.nvidia/nemotron-3.5-lightningandnvidia/nemotron-3-nano-omni-30b-a3b-reasoningnow serve from a larger free-tier capacity pool, with their previous route kept as the fallback — same models, 4.9s median against 16.3s, and Lightning gains a 1M-token context (was 131K). Image input verified through the new route before moving the vision model.- Added three more free models:
nvidia/nemotron-3-ultra-550b(550B/55B MoE, 1M context — the largest free model in the catalog),cohere/north-mini-code(compact coding, sub-second) andpoolside/laguna-xs-2.1(coding, ~161 tok/s). - Visible chat models are now 73 (was 71); total catalog 97; free models 7 (was 5).
Fixed — an upstream error delivered as HTTP 200 no longer reads as an empty answer
- OpenAI-compatible relays can answer
200with an error object and nochoiceswhen the provider behind them fails ({"error":{"message":"Upstream error from Nvidia: Service temporarily overloaded","code":502}}). The gateway treated that as a successful empty completion, so the fallback chain, the free-tier health breaker and the retry classifier all saw a success — and a paid model still billed the minimum charge. Both the blocking and the streaming path now rethrow it as a real upstream error.
Fixed — 402 responses now carry the payment challenge in the body, not just the headers
- Every
402 Payment Requiredbody now spreadsx402Versionandacceptsat the top level, mirroring the signed challenge that has always lived in thePAYMENT-REQUIRED/X-Payment-Required/WWW-Authenticateheaders. Pre-v2-era x402 clients (earlyx402-fetch/x402-axios, and some third-party wrappers) only ever parsed the body; finding no top-levelacceptsthere, they silently gave up instead of auto-paying — invisible in our logs, indistinguishable from organic non-conversion. - Applies across every paid endpoint — chat completions, responses, messages, images, video, music, speech, search, market data, RPC, Modal sandboxes, RealFace, Virtual Portrait, and Polymarket funding. A route's own fields still win on any key collision with the mirrored ones. (BlockRunAI/blockrun#446)
[2026-08-29]
Removed — OpenAI GPT-5.3
- Delisted
openai/gpt-5.3— OpenAI has deprecated it upstream. Requests that still name it are redirected toopenai/gpt-5.2(same $1.75/M in · $14.00/M out), so existing callers keep working;openai/gpt-5.3-codexis unaffected. - Visible chat models are now 71 (was 72); total catalog 95 across chat, image, video, music, speech, and sound effects.
[2026-08-27]
Added — Z.AI GLM-5.3 Flash, the first natively multimodal GLM-5
- Added
zai/glm-5.3-flash($0.15/M in · $0.50/M out, 1M context, 131,072 max output, image input, always-on reasoning) — a 320B/18B hybrid-attention MoE that takes screenshots and rendered UI directly into the coding loop. Verified live on Z.AI before listing: real completions, tool calls, streaming, and vision. - Priced at Z.AI's list rate. Z.AI is running a 50% launch promotion through 2026-09-09; we list the post-promotion price rather than one that would lapse under our cost two weeks later.
- Thinking cannot be disabled on the 5.3 generation, and does not need to be — unlike GLM-5/5.1/5.2, it returns content alongside its reasoning.
zai/glm-5.3($1.40/$4.40, 1M context), launched 2026-08-19, is now listed in the model reference table as well.- Visible chat models are now 72 (was 71); total catalog 96 across chat, image, video, music, speech, and sound effects.
Changed — Reasoning rides in reasoning_content, never as tool-call content
/v1/chat/completionsnon-streaming responses now carry a model's chain of thought onchoices[].message.reasoning_content, the same field streaming has always used fordelta.reasoning_content. It is optional and absent when the model produced no reasoning. Claude thinking, DeepSeek, GLM, MiniMax, Kimi and open-weight reasoning models all populate it. (#423)- An assistant turn that carries
tool_callsnow hascontent: "", as the OpenAI spec intends. Previously the gateway rescued the empty content with the model's raw reasoning, so Anthropic-format clients rendered the chain of thought as a visible text block ahead of thetool_use, and clients echoing history fed reasoning back as content. Turns with no tool calls and no answer still receive the reasoning text ascontentso a paid call never returns a blank string. (#422) /v1/messagesbuilds a leadingthinkingblock from the same field, so streaming and non-streaming Anthropic-format responses finally have the same shape.
[2026-08-26]
Changed — Payment-verification 402s carry a machine-readable code
- Every BlockRun-native paid endpoint now answers a failed
PAYMENT-SIGNATUREwith402and acodea client can branch on instead of parsing prose:PAYMENT_UNFUNDED(the on-chain simulation reverted — usually an empty wallet, or an authorization outside its validity window),PAYMENT_BLOCKHASH_STALE(a Solana-signed transaction pinned to a blockhash that expired — re-sign against a fresh one and resend; nothing was charged),PAYMENT_REPLAY(nonce already used), andPAYMENT_INVALIDfor everything else. Previously only/v1/chat/completionsclassified failures; the other paid routes returned a bare{error, details}. - The facilitator's own explanation is now folded into
debugrather than only logged, so a rejection says which failure it was. Verification always runs before settlement, so any of these codes means nothing was charged. - The vendor-compatible
/v1/messages,/v1/responsesand Gemini-native endpoints keep their vendor error schemas and do not carry the field. (commit ac50282)
[2026-08-19]
Added — Z.AI GLM-5.3
- Added
zai/glm-5.3($1.40/$4.40 per 1M, 1M context, 131,072 max output). Thinking is always on for this generation and cannot be disabled — unlike GLM-5/5.1/5.2 it returns content alongside its reasoning, so no gateway workaround is applied. (#397)
[2026-08-13]
Added — xAI Grok Imagine Video 1.5, and official resolution tiers on both Grok video SKUs
- Added
xai/grok-imagine-video-1.5(image/text-to-video, 480p/720p/1080p, up to 15s, native audio) at xAI's official per-second rates: $0.08/s @480p (default), $0.14/s @720p, $0.25/s @1080p. (#380) xai/grok-imagine-videomoved to the same tiered model: $0.05/s @480p (default) and $0.07/s @720p; 1080p/4K are rejected with a400before payment.resolutionis now a billing tier and is pinned in the quote, so the price you sign is the tier you get. (#378)- Both Grok SKUs charge the official rate exactly (no 5% media margin) plus a flat $0.001 per generation, disclosed as
perGenerationFeein the 402 price block alongsidepricePerSecondfor the billed tier; the flat $0.001 transaction fee applies on top.aspect_ratio(incl.3:2/2:3) is now validated and forwarded — it was previously accepted and silently dropped. (#379, #381)
[2026-08-12]
Added — Seedance 2.0 Mini
- Added
bytedance/seedance-2.0-miniat $0.0797/sec (480p/720p with audio, 4–15s) — roughly half the rate ofseedance-2.0-fastfor the same 720p output, the sensible default for volume. Supports the same image, first/last-frame and RealFace inputs as the rest of the 2.0 family. (#366, #369)
[2026-08-08]
Changed — Per-token chat now bills at list price, with no platform margin
- Every per-token chat model on
/v1/chat/completions,/v1/messagesand/v1/responsesis now priced at the maker's list rate with 0% platform margin (was 5%). The flat $0.001 per-request transaction fee is unchanged and is the only thing BlockRun adds to a chat call. Image, video, music, speech and Live Search keep their 5% margin. (#354) - Three prices were corrected in the same pass:
deepseek/deepseek-chatanddeepseek/deepseek-reasonerto $0.14/$0.28 (from $0.20/$0.40, per DeepSeek's current list), andzai/glm-5to $1.00/$3.20 (from $0.60/$1.92 — Z.AI had raised its standard rate). - Images: a client that loses the response to an inline image generation can now retry with the same signed authorization and get the job it already paid for back (
402/PAYMENT_REPLAYnow carriesjob_idandpoll_url) instead of being told to sign — and pay — again. (#346)
[2026-08-07]
Added — Seedance 2.5, and the Seedance family repriced
- Added
bytedance/seedance-2.5— 4–30s clips (double the 2.0 ceiling) at a 720p ceiling, $0.315/sec. It is not a straight upgrade over 2.0, which keeps the 4K ceiling at 4–15s; both stay listed. Duration always defaults to 5s (the model's own "-1, pick for me" default is never forwarded, since the price is signed before generation). (#351) - The rest of the family moved to current per-second rates:
seedance-1.5-pro$0.070/sec,seedance-2.0-fast$0.165/sec,seedance-2.0$0.227/sec (720p, 5s default; 1080p and 4K scale by area). Per-model resolution and duration limits are now derived from the model's own parameter schema and enforced before the 402. (#353)
[2026-08-05]
Changed — Discovery now lists every live endpoint, with derived prices
/.well-known/x402andopenapi.jsonnow publish the full live surface — Surf, 0x, DefiLlama, the templated Predexon paths, every RPC chain, and the first-party phone, voice, music, RealFace, Portrait, Polymarket-funding, onramp and catalog endpoints — instead of a hand-maintained subset. Every published price is derived from the same constant the 402 signs, which corrected five stale literals (Predexon, phone buy/lookup/list, DefiLlama). (#336)- Six dead prediction-market endpoints were de-registered (
matching-markets,matching-markets/pairs,markets,listings,outcomes/{id},dflow/*). (#332, #336)
[2026-08-03]
Changed — GPT-5.6 Luna is 80% cheaper, Terra 20%, passed through in full
- OpenAI cut GPT-5.6 pricing on 2026-07-30. Both cuts are now live on the gateway:
openai/gpt-5.6-lunagoes to $0.20/$1.20 per 1M (from $1.00/$6.00, -80%) andopenai/gpt-5.6-terrato $2.00/$12.00 (from $2.50/$15.00, -20%). Long-context tiers follow at $0.40/$1.80 and $4.00/$18.00. openai/gpt-5.6-solis unchanged at $5.00/$30.00 — OpenAI left the flagship alone. Luna now costs less thangpt-5.4-mini.- We passed the cut through rather than keeping the spread. Every other OpenAI model in the catalog was re-checked against the published rates in the same pass and already matched.
- Fallbacks moved with the prices: Terra now falls back to
gpt-5.4-miniand Luna togpt-4o-mini. The previous targets were not repriced by OpenAI, so they now cost more than the primaries bill and would settle below cost on every failover.
Added — Eight models: Gemini 3.6 Flash, GPT-5.6 Pro tiers, Qwen3.7 Plus/Flash, Nano Banana 2
google/gemini-3.6-flash($1.50/$7.50 per 1M) andgoogle/gemini-3.5-flash-lite($0.30/$2.50). Thinking is always on for both — they reject a zero thinking budget upstream, which the gateway no longer sends.openai/gpt-5.6-sol-pro($5.00/$30.00),openai/gpt-5.6-terra-pro($1.00/$6.00),openai/gpt-5.6-luna-pro($0.10/$0.60) — the pro reasoning modes behind ChatGPT Pro. Served on/v1/chat/completions;/v1/responsesnow gates on the OpenAI model family rather than on the id prefix.qwen/qwen3.7-plus($0.32/$1.28, 131K max output) andqwen/qwen3.7-flash($0.03/$0.13) complete the Qwen3.7 line; both are reasoning models.google/nano-banana-2($0.09/image, 1024×1024) on both/v1/images/generationsand/v1/images/image2image. (#329)
Changed — RPC upstream faults are ours, not yours
/v1/rpc/{network}: an upstream timeout, credential failure or 5xx now returns502withRetry-After: 30and releases your payment nonce, so an SDK retry with the same signed header succeeds instead of dying as a falsePAYMENT_REPLAY. A known chain's upstream404is reported as our stale slug, not a caller error. (#324, #327, #328)
[2026-08-02]
Changed — The 402 tells you what to fix
/v1/chat/completions: an unfunded wallet now gets402/PAYMENT_UNFUNDEDwith a plain-language explanation instead of "message a human on Telegram". One empty wallet had retried 292 times against the old message. (#322)- The chat
402body'sprice.amountnow equals the amount the header signs, transaction fee included. It had been quoting the pre-fee price, under-stating a floored call by the whole $0.001 fee. (#321) - When the gateway serves a smaller
max_tokensthan you asked for (model ceiling or context headroom), the response now says so:X-Max-Tokens-Capped: true,X-Max-Tokens-Requested,X-Max-Tokens-Effective. Headers only, only when the clamp bit; bodies are unchanged. (#271)
[2026-07-29]
Changed — Transaction fee back to $0.001
- The flat per-request transaction fee added to every paid call returns to $0.001 (it had been $0.002 since 2026-07-11). The smallest possible paid chat call is therefore $0.002 all-in. Every published minimum was swept to match. (#319, #320)
[2026-07-24]
Added — Anthropic Claude Opus 5, live on launch day
- Added
anthropic/claude-opus-5($5.00/$25.00 per 1M, 1M context, 128K max output, adaptive thinking, vision), Anthropic's newest flagship — a step-change over Opus 4.8 for deep reasoning and agentic coding at the same price. Verified live before listing. claude-opus-4.8stays listed and routable at the same rates.- Visible chat models are now 64 (was 61); total catalog 84 across chat, image, video, music, speech, and sound effects.
[2026-07-20]
Added — Qwen3.7 Max (Alibaba flagship)
- Added
qwen/qwen3.7-max($1.48/$4.43 per 1M, 1M context), Alibaba's Qwen flagship — the Max tier, strong reasoning + coding + agentic tool use. Verified live before listing. Fills the gap where the only Qwen models were the free tier. - Visible chat models are now 61 (was 60); total catalog 81 across chat, image, video, music, speech, and sound effects.
[2026-07-17]
Added — Moonshot Kimi K3
- Added
moonshot/kimi-k3($3.00/$15.00 per 1M, 1M context, image + text input, returnsreasoning_content), Moonshot's new flagship — a 2.8-trillion-parameter open MoE. Verified live on release day with real completions, tool calls, and vision before listing. kimi-k3replaceskimi-k2.7as the featured Kimi. K2.7 is now hidden from the public list but remains routable, and new traffic auto-prefers K3 viafallbackModelchaining.
[2026-07-13]
Added — xAI Grok 4.5
- Added
xai/grok-4.5($2.50/$9.00 per 1M, 500K context, vision + reasoning), xAI's flagship. Live Search supported (+$0.025/source). Verified with real completions on every serving route before listing.
Changed — Grok long-context pricing now mirrors xAI's official 2x tier
- xAI bills the Grok family at 2x above 200K prompt tokens. BlockRun now applies the same tier: once a request's prompt reaches 200K tokens, the whole request reprices at the long-context rate —
grok-4.5$5.00/$18.00,grok-4.3$3.00/$8.00,grok-build-0.1$3.00/$6.00,grok-4.20$4.00/$12.00 per 1M. Below 200K, base rates are unchanged. grok-4.5fallback set togrok-4.20-reasoning(Live-Search-capable) so a failover never silently drops search.
[2026-07-09]
Added — OpenAI GPT-5.6 family (Sol / Terra / Luna), live on GA day
- Added all three GPT-5.6 tiers the day OpenAI moved them to general availability:
openai/gpt-5.6-sol($5.00/$30.00 per 1M — flagship reasoning/coding/agentic),openai/gpt-5.6-terra($2.50/$15.00 — balanced),openai/gpt-5.6-luna($1.00/$6.00 — high-volume, latency-sensitive). 1M context each. All verified with real completions and tool calls before listing. gpt-5.6-solis now the featured OpenAI flagship (replacesgpt-5.5on the homepage table at the same price; gpt-5.5 remains available).- Gateway compatibility handled transparently: GPT-5.6 rejects function tools on
/v1/chat/completionsunlessreasoning_effortis explicitly"none"— BlockRun sets this automatically whenever tools are present, so agent frameworks work unchanged.
[2026-06-28]
Added — response_format: json_schema (OpenAI structured outputs)
/v1/chat/completionsnow acceptsresponse_format: {"type":"json_schema","json_schema":{…}}and forwards it verbatim. Schema-guaranteed output is enforced natively on OpenAI (GPT) models; other providers receive it on a best-effort passthrough. Previously onlyjson_object/textwere accepted (any othertypereturned a400).- The
thinkingblock is also accepted more leniently:{"type":"disabled"}and blocks withoutbudget_tokensno longer400.
[2026-06-24]
Added — Real 4K on Seedance 2.0
bytedance/seedance-2.0now acceptsresolution: "4K"and renders true 3840×2160 (re-verified with ffprobe). Billed at 9× the 720p token rate (area-proportional, same basis as 1080p=2.25×).- 4K is seedance-2.0 only —
seedance-1.5-proandseedance-2.0-faststill cap at1080p/1Kand return400for4K.2Kremains unavailable on all Seedance models (not produced upstream).
Changed — Seedance video max duration raised
bytedance/seedance-2.0andbytedance/seedance-2.0-fast: max duration 10s → 15s.bytedance/seedance-1.5-pro: max duration 10s → 12s.- Default duration stays 5s; price scales linearly with duration (Seedance is token-metered, so a 15s clip costs 3× a 5s clip at the same resolution). Services page copy updated from "5–10s" to "5–15s".
[2026-06-22]
Added — Cache and reasoning tokens surfaced in usage fields
- Non-stream Claude (
/v1/messagesand OpenAI-compat) responses now emitcached_creation_tokens(cache-write count) underprompt_tokens_details. - Streaming responses now surface
reasoning_tokensundercompletion_tokens_details. - Pricing is unchanged — these fields are reporting-only so callers can reconcile their own ledger 1 against ours.
[2026-06-18]
Changed — context_management now requires the anthropic-beta header
/v1/messages: sendingcontext_managementwithout theanthropic-betaheader now returns a 400 at the gateway edge (previously the field passed through and silently degraded). Add theanthropic-betaheader when usingcontext_management.
Changed — Rejected sampling params stripped on native Claude paths
- Opus 4.7 / Opus 4.8 reject
temperature,top_p, andtop_k. These params are now stripped on the native/v1/messagespath so the request stays native (keeps cache fields and the nativemsg_id) instead of falling back to a lossy path. The params are dropped, not honored, for those two models.
Changed — Model identity injection defaults off
- The system-prompt model-identity directive is no longer appended by default (it had been adding ~40–130 phantom billed input tokens). Reconciled
input_tokensnow matches exactly what you sent.
[2026-06-17]
Models — GLM-5.2 added as Z.AI flagship
- Added
zai/glm-5.2— 1M-token context, 262,144 max output, pricing $1.40/M in · $4.40/M out ($0.26/M cached). Now featured on the homepage models strip. gpt-5.1/gpt-5-prorouting corrected so those ids serve the genuine models rather than a substitute.
[2026-06-12]
Models — Kimi K2.7 added as Moonshot flagship
- Added
moonshot/kimi-k2.7— 256K context, image + video input, returnsreasoning_content. Pricing $0.95/M in · $4.00/M out. Earlier Kimi versions remain routable but are hidden from the public list.
Added — Video input_type param + usage block on Seedance responses
/api/v1/videos/generationsaccepts an optional validatedinput_typeenum (text | image | first_last_frame | reference); when supplied it must match the seed fields actually sent, otherwise the request returns a 400 before any charge.- Completed video poll responses now include a
usageblock (total_tokens).
Added — Per-call completion id for 1 reconciliation
- Chat responses now carry the completion id (
chatcmpl-…/msg_…) and image/video responses carry a per-call id, surfaced publicly asid, so payers can join their ledger to ours.
[2026-05-24 — late]
Changed — Virtual Portrait enrollment dropped to $0.01 (parity with RealFace)
POST /api/v1/portrait/enroll: $0.50 → $0.01 USDC. Storing an enrolment costs us nothing, so per-enrollment margin was always trivial; the old $0.50 was friction without offsetting cost. Now matches RealFace pricing — both are 1¢ to encourage adoption, and we make our money on the downstream Seedance per-clip revenue.- All UI, docs, video-playground tooltips, and asset-storage comments updated to reflect the new price.
[2026-05-24]
Added — RealFace enrollment (real-person likeness, no KYC)
POST /api/v1/realface/init+POST /api/v1/realface/enroll— full RealFace flow now live. The rights-holder scans a QR on their phone and completes a brief liveness check (nod + blink, ~1 minute), BlockRun's backend uploads the face photo and waits for an upstream biometric match, returns ata_xxxxxxid usable asreal_face_asset_idon Seedance 2.0 / 2.0-fast. $0.01 USDC per enrollment (promotional pricing), one-time. See RealFace API reference.- No KYC required. No government ID, no account login, no name verification. Only a face-match between the live H5 capture and the photo you supply. Biometric data flows phone → upstream identity service directly, never touches BlockRun servers.
GET /api/v1/realface/status?groupId=…— free polling endpoint, used by the studio UI to detect H5 completion.GET /api/v1/wallet/<address>/realfaces— symmetric to/portraits, lists a wallet's enrolled RealFaces.- blockrun.ai/studio/realface — web UI: connect wallet → upload image URL → click Start → QR + countdown → poll for H5 completion → sign payment → copy
ta_xxx. - Video playground dropdown now combines Virtual Portrait + RealFace assets into a single
real_face_asset_idselector, grouped by type. - Header Models dropdown adds "RealFace Studio".
Reversed — earlier 2026-05-22 "RealFace removed" entry
- The 2026-05-22 changelog entry "Removed — RealFace" was based on an integration that was blocked by an upstream webhook bug at our inference partner. The partner shipped a fix on 2026-05-24; we verified the end-to-end flow (group active after H5 → photo upload →
ta_xxxactive in 6s → Seedance video generated in 86s using the enrolled face). The original conclusion that RealFace requires KYC was wrong — actual flow is liveness-only (nod + blink), no ID or account binding.
[2026-05-22]
Added — Virtual Portrait enrollment (no KYC)
POST /api/v1/portrait/enroll— $0.50 USDC per enrollment, x402-gated. Registers an AI-generated character image as a Virtual Portrait and returns ata_xxxxxxid usable asreal_face_asset_idon Seedance 2.0 / 2.0-fast. Settlement happens only after enrollment succeeds — no charge on upload failure. See Virtual Portrait API reference.GET /api/v1/wallet/<address>/portraits— lists the portraits a wallet has enrolled. Free, rate-limited (20 req/hr/IP, shared with the wallet-reconciliation bucket).- blockrun.ai/studio/portrait — web UI: connect wallet → name + image URL → sign → copy
ta_xxx. Existing portraits listed below the form. - Video playground at
/models/bytedance-seedance-2.0-fast(and 2.0 Pro) now shows a dropdown of the connected wallet's enrolled portraits instead of asking users to paste ata_xxxmanually. - Header Models dropdown now exposes "Portrait Studio".
Removed — RealFace (real-person likeness) is no longer offered (reversed on 2026-05-24, see latest entry)
BlockRun does not offer real-person likeness in video generation.This conclusion was wrong — upstream had a webhook bug that made the group never transition to active; once fixed, the flow works without KYC. RealFace was reinstated on 2026-05-24.
Changed — Seedance defaults bumped to 720p + synced audio
/api/v1/videos/generationsnow defaultsresolution: "720p"for all Seedance models (was 480p). Override by passing an explicitresolution(360p/480p/720p/1080p;1080pis the max —2K/4Kare rejected with a400)./api/v1/videos/generationsnow defaultsgenerate_audio: truefor text-to-video Seedance calls (falsefor image-conditioned orreal_face_asset_idcalls, where audio defaults are off per upstream guidance). Pass an explicit boolean to override.- Output now matches the model maker's own output — same resolution, same multimodal audio path. Per-clip cost ≈ 2× the old 480p baseline because Seedance meters by tokens and 720p doubles the per-second count.
- Updated pricing table: $0.46 / $1.19 / $1.49 per 5s 720p clip for 1.5-pro / 2.0-fast / 2.0 (was $0.22 / $0.57 / $0.71 at 480p, text-to-video).
tokensPerSecondAtDefaultupdated to 20,256 in the model catalog (was 10,128).
Fixed — Seedance copyright-filter UX
- The video playground now distinguishes Seedance's content-policy rejections from generic errors. On rejection, users see a clear "You were not charged" message + suggestions (rephrase with generic descriptors, switch to Grok Imagine Video, or enroll a Virtual Portrait for consistent characters).
[2026-05-18]
Added — Surf crypto data partnership
/api/v1/surf/*— 83 crypto data endpoints in three flat price tiers ($0.001 / $0.005 / $0.02), covering CEX prices, on-chain SQL (sub-second ClickHouse, 80+ tables), Polymarket/Kalshi/dFlow prediction markets, wallet labels (smart-money, KOL, exchange), social mindshare, AI-curated news, and project/fund/token/wallet search. Payment settles 1 directly to Surf's treasury — BlockRun takes no margin in exchange for being the discovery + x402 layer. See Surf API reference.blockrun_surfMCP tool added to the BlockRun MCP server.- Surf added as a partner in Ecosystem.
Added — Phone & Voice partnership (Bland.ai + Twilio)
/api/v1/voice/call— outbound AI conversation calls. $0.54 flat per call (up to 30 min, default 5 min). Bland.ai upstream./api/v1/phone/numbers/buy— provision a wallet-owned US/CA phone number for $5 (30-day lease). Twilio upstream. Ownership recorded in Firestore against the calling wallet — only that wallet can use the number as caller ID or renew it./api/v1/phone/numbers/renew— extend lease by 30 days for $5./api/v1/phone/numbers/list— list a wallet's active numbers.GET /api/v1/voice/call/{id}— free polling endpoint for call status / transcript / recording.- See Phone & Voice API reference.
Added — RealFace for Seedance video (deprecated 2026-05-22 — see Removed)
bytedance/seedance-2.0-fastandbytedance/seedance-2.0now accept areal_face_asset_idparameter (ta_xxxxxxformat) for face-reference image-to-video. Asset IDs are managed in the upstream RealFace catalog.- Superseded by Virtual Portrait enrollment (2026-05-22) — the API field name is preserved, but the only supported asset type is now a BlockRun-issued Virtual Portrait (
POST /v1/portrait/enroll). Real-person likeness is not offered.
Added — Brand: Franklin → Franklin Agent
- Renamed the autonomous-agent product across the entire site, docs, and SDKs. Repo (
BlockRunAI/Franklin) and CSS unchanged; surface copy now consistently says "Franklin Agent" to disambiguate from the personal name.
Changed — Seedance pricing migrated to per-M-token
- Old per-second pricing ($0.03–$0.30 / sec) is deprecated. New per-M-token pricing aligned with our upstream provider:
seedance-1.5-pro: $4.32/M tokens (flat, 480p default)seedance-2.0-fast: $11.20/M (text-only) or $6.60/M (with image input)seedance-2.0: $14/M (text-only) or $8.60/M (with image input)
- Default resolution is 480p (upstream default). Effective rate at 10,128 tok/sec.
Added — Rate-limit transparency
- 429 responses now carry
Retry-After(RFC-7231 standard) +X-RateLimit-Source: <provider>headers, plus body fieldscode: "RATE_LIMITED",source,retry_after_seconds. Clients can fail over to a same-tier model on a different provider, or honor the retry interval. See Rate Limits — there is no platform-side QPS/RPM/TPM quota on paid inference; upstream provider limits apply.
[2026-04-25]
Models
- Added
openai/gpt-5.5— released 2026-04-23, first fully retrained base since GPT-4.5. 1M context, 128K output, native agent + computer use. Pricing: $5.00 / $30.00 per 1M tokens. - Promoted
openai/gpt-5.5toFEATURED_MODEL_IDS(replacesopenai/gpt-5.4as the OpenAI flagship surfaced on the homepage and discover pages).
SDK Updates
- Python SDK (
blockrun-llm) 0.17.0:PREMIUM_TIERS["MEDIUM"]primary nowopenai/gpt-5.5;gpt-5.4demoted to first fallback.estimate_costbaseline rebased from $2.50/$15 to $5.00/$30 to match the new flagship.__version__andVERSIONreconciled (was 0.16.1 vs 0.15.0). - TypeScript SDK (
@blockrun/llm) 1.11.0: catalog refreshed withopenai/gpt-5.5.VERSIONandpackage.jsonreconciled (was 1.9.0 vs 1.10.1). - Go SDK (
blockrun-llm-go) 0.4.0:RoutingPremium.TierMediumprimary nowopenai/gpt-5.5(wasgpt-5.4).
[2026-04-17]
Added — xAI Grok Imagine
- Video generation — new endpoint
POST /api/v1/videos/generationswithxai/grok-imagine-video($0.050/sec, 8-second clips, text or image-to-video). The endpoint handles xAI's async job + polling internally so callers get the MP4 URL in a single request. See Video Generation. - Grok Imagine image models —
xai/grok-imagine-image($0.02/image) andxai/grok-imagine-image-pro($0.07/image) added toPOST /api/v1/images/generations. - Grok 4.20 chat models (hidden, API-routable) —
xai/grok-4.20-reasoning,xai/grok-4.20-non-reasoning,xai/grok-4.20-multi-agent. 2M context, vision-capable, $2/M in · $6/M out.
Added — Permanent media URLs via GCS backup
- Every generated image and video is now mirrored to BlockRun's Google Cloud Storage bucket and returned through a blockrun-hosted proxy URL (
/api/media/...). Upstream URLs fromimgen.x.aiandvidgen.x.aiare temporary — the returnedurlis permanent. - Image/video responses now include:
url— permanent proxy URL (falls back to upstream if the backup step fails)source_url— original upstream URL (for debugging / comparison)backed_up— boolean indicating whether GCS mirroring succeeded
API Changes
GET /api/v1/modelsnow includes video models withbilling_mode: "per_second"andpricing: { per_second, default_duration_seconds, max_duration_seconds }.
[2026-03-24]
API Changes
/api/v1/modelsnow returns extended metadata for each model:name,description,context_window,max_output, andcategories- Model categories indicate capabilities:
chat,reasoning,coding,vision
Models
- 33 visible models across 9 providers (Base), 31 on Solana
- Added GPT-5.4 Mini ($0.75/$4.50, 400K context)
- Added GPT-5.4 Nano, GPT-5.3, GPT-5.3 Codex
- Added Claude Opus 4.6 (1M context), Claude Sonnet 4.6
- Added Gemini 3.1 Pro, Gemini 3 Pro Preview, Gemini 3.1 Flash Lite
- Added NVIDIA Kimi K2.5 (free tier)
- Removed xAI/Grok, Qwen, and legacy GPT-4 family from visible lineup (hidden, still routable via API)
SDK Updates
- TypeScript SDK (
@blockrun/llm) v1.4.3: Model type now includescategories,contextWindow,maxOutput, properly mapped from API - MCP Server (
@blockrun/mcp) v0.4.2:blockrun_modelsshows context window and categories, smart routing updated to current models
MCP Smart Routing
fast: Gemini Flash, GPT-5 Minibalanced: GPT-5.4, Claude Sonnet 4.6powerful: GPT-5.4, Claude Opus 4.6cheap: NVIDIA free models, DeepSeek, Gemini Flashreasoning: o3, o1, DeepSeek Reasoner
[Unreleased]
Added
- Continue Integration — ClawRouter merged as a native provider in Continue (32K+ ⭐), the open-source AI code assistant. Users can now select ClawRouter directly in Continue's provider settings for cost-optimized model routing. (commit becda53)
Coming Soon
- Streaming support
- Additional AI providers
[1.0.0] - 2025-12
Added
- Initial public release
- x402 v2 protocol support
- OpenAI models (GPT-4o, GPT-4o Mini, o1, o1-mini)
- Anthropic models (Claude Opus 4, Sonnet 4, Haiku 4.5)
- Google models (Gemini 2.5 Pro, Gemini 2.5 Flash)
- xAI models (Grok 4)
- DeepSeek models (V3, R1)
- Meta models (Llama 3.3 70B)
- Qwen models (Qwen 2.5 72B)
- Mistral models (Mistral Large)
- Python SDK (
blockrun-llm) - TypeScript SDK (
@blockrun/llm) - Base network support (USDC)
- CDP Facilitator integration
Technical
- EIP-3009 TransferWithAuthorization for gasless payments
- EIP-712 typed data signing
- Automatic retry with payment on 402 response
- OpenAI-compatible Chat Completions API
SDK Versions
Python SDK (blockrun-llm)
[0.1.0] - 2025-12
- Initial release
LLMClientwithchat()andchat_completion()methodsAsyncLLMClientfor async usage- x402 v2 protocol support
- Error handling with
APIErrorandPaymentError
TypeScript SDK (@blockrun/llm)
[0.1.0] - 2025-12
- Initial release
LLMClientclass with full TypeScript typeschat()andchatCompletion()methodslistModels()for available models- x402 v2 protocol support
- Error handling with
APIErrorandPaymentError
Version Policy
BlockRun follows Semantic Versioning:
- MAJOR - Breaking API changes
- MINOR - New features, backward compatible
- PATCH - Bug fixes, backward compatible
Release Notes
For detailed release notes, see the GitHub releases page for each repository.