Prism402 is an onchain AI inference router: one API endpoint that routes calls to dozens of AI models, billed per token in USDG on Robinhood Chain — no signup, no subscription.
One endpoint, every model.
Pay per token, not per plan.
Agents can pay for themselves — no human signup (x402).
Trench Scan — instant risk check on any Robinhood Chain token.
Everything under /v1 follows the OpenAI wire format: POST /v1/chat/completions, POST /v1/embeddings and GET /v1/models. Existing OpenAI SDKs work by changing the base URL.
Two ways to pay
Prepaid key. Deposit USDG once, get a prism_sk_ key, send it as a Bearer token. Each call is charged its exact token cost. Best for apps and anything using an OpenAI SDK.
Pay per call (x402). No key and no account. The first request returns 402 Payment Required with a price; your client signs it and resends. Best for autonomous agents holding their own wallet.
Authentication
http header
Authorization: Bearer prism_sk_...
There are no accounts, emails or passwords. The key is the account, and the wallet that funded it is its owner. Refunds always go back to that wallet.
Where the models run
Every model in the catalog is served on Cloudflare's GPU network (Workers AI). Prism402 adds the payment rail, metering, cache and the public ledger. Prompts are not logged: the ledger keeps model, token counts, charge and time. The only content kept is the response cache (temperature-0 calls, scoped to your key or wallet, deleted after 24 hours).
Open the dashboard, connect a wallet holding USDG on Robinhood Chain, choose a deposit and sign. The key is shown once, so store it. Prefer a terminal? See Prepaid keys.
Streaming works the usual way: pass stream: true. Add stream_options: {"include_usage": true} for the token counts in the final chunk; that chunk also carries a prism object with the exact charge.
3. See what it cost
Every non-streaming response carries the exact charge:
response headers
X-Prism-Charge-USD: 0.000213
X-Prism-Cache: MISS
Your balance and the last calls are on the dashboard or at GET /v1/keys/me.
A risk read of one token on Robinhood Chain: contract facts from the chain, pool data from DexScreener (GeckoTerminal when DexScreener has no pool), a 0-100 score from published rules and a short model-written summary. Free on the web; $0.002 per call for agents.
With no key, the answer is a 402 for 2000 atomic units (USDG on Robinhood Chain or USDC on Base, your pick); pay it like any other x402 call.
new On 𝕏 and Telegram
Tag @prism402 in a post with a token address and the score card arrives as a reply within about a minute. On Telegram, send the address to @prism402scan_bot, or use /scan 0x… in a group it's in. Both are free and use the same rules as this page.
Wallets received ≥25% / ≥50% of supply from a pool or launch contract in the first 3 seconds
Transfer logs (launch check)
−10 / −20
3+ of the top 15 wallets share a first ETH funder and hold ≥20% / ≥40% together (exchanges and bridges ignored)
First incoming ETH transfer (Cluster X-ray)
−10 / −20
Tokens deployed as EIP-1167 clones (how launchpads usually deploy) are followed to their implementation, so the function table checked is the real one. Grades: 80+ Clean surface, 60+ Caution, 40+ High risk, below that Danger.
A clean surface is not proof of safety. It means none of these switches were found. Holder spread is read on web scans only, for tokens younger than about 11 days: your browser replays the token's Transfer logs from Robinhood Chain and leaves out contracts (pools, launchpad curves, lockers). Deployer history isn't checked yet.
Agent scans read DexScreener (then GeckoTerminal) from our servers; when it rate-limits us, market is null and the market_unavailable flag says so.
Follow a Robinhood Chain token after you buy. Trench Watch reads it again about every 5 minutes and messages you when something changed since the last reading. Free: 1 token per Telegram chat or X account, 10 when it's linked to a wallet holding 1,000,000+ $PRISM.
new Commands
Telegram (@prism402scan_bot): /watch 0x…, /watching, /unwatch 0x…. Alerts arrive in the same chat; groups work too.
𝕏: post @prism402 watch 0x… or @prism402 unwatch 0x…. Alerts arrive as replies under the post that started the watch.
What raises an alert
Alert
What is read
Threshold
LP removed (Uniswap v4)
pool liquidity in the PoolManager + its ModifyLiquidity events
−30% since the last check, or −40% within an hour, with a removal logged
Pool reserve down (V2/V3)
pool's balance of the paired asset
−30% since the last check, or −40% within an hour
Owner moved, renounced or back
owner()
any change
Contract upgraded
EIP-1967 implementation / beacon slot
any change
Supply minted
totalSupply()
+1% or more
A wallet passes 10%
Transfer logs since the last check → balanceOf the receivers
≥10% of supply, wallets only (pools and lockers are contracts and skipped)
Holders-first Launch Radar
A Telegram chat linked to a wallet holding 1,000,000+ $PRISM can send /radar on to @prism402scan_bot. Every token that clears Launch Radar (trending on Robinhood Chain, under 3 days old, $10K+ liquidity, new to the radar) then arrives in that chat the moment it is scanned, before the public channel digest. The balance is re-read before each message; below 1M, messages stop until it's back. /radar off stops it.
Holder slots
Sign in at prism402.com/watch with the wallet that holds your $PRISM and you get a one-time code (30 minutes). Open the Telegram link it gives you, or post @prism402 link CODE on 𝕏. The balance is read again whenever you add a token; drop below 1M and new watches fall back to 1 slot.
Alerts are facts read from the chain at the time shown, not predictions. A token can still go wrong without tripping any of these, and launchpad curves without a pool contract aren't covered by the liquidity rule. Not financial advice.
A key is minted by an x402 deposit and spends down per call. No login, no account.
new $1 free, first 100 wallets
Sign in on the dashboard and claim a key with $1 of calls on us. One per wallet; the wallet needs at least 3 transactions on Robinhood Chain. The free credit can be spent on any model but isn't refunded if the key is closed; anything you deposit on top still is.
Endpoints
POST /v1/keys with {"amount_usd": 5}: x402 deposit, returns a new key
POST /v1/keys/topup: x402 deposit plus Bearer, adds balance
GET /v1/keys/me: balance, totals and recent usage
DELETE /v1/keys/me: revoke the key and book what's left as a refund
Deposits are 1 to 1,000 USDG. The dashboard manages the same keys from the wallet that funded them: sign one free message and every key it owns is listed, with top up and close per key.
Mint from the dashboard
The dashboard runs the whole deposit in your browser wallet: it asks the server for terms, you sign one USDG authorization for exactly the amount you chose, and the key appears. It's kept in your browser only.
Two ways to pay, same price: USDG on Robinhood Chain (eip155:4663) or USDC on Base (eip155:8453). Sign for the one you hold and say which in accepted.network. amount is atomic (6 decimals on both). It's a ceiling: your full input (counted generously) plus max_tokens of output at the posted rate.
3. Sign and resend
Sign an EIP-3009 transferWithAuthorization for exactly that amount to payTo, wrap it in an x402 payload, base64 it, and resend the same request with a PAYMENT-SIGNATURE header. The facilitator verifies it and, once your answer is ready, settles it and pays the gas. You never send a transaction yourself.
4. Get the answer, and the change
The response carries PAYMENT-RESPONSE (the settlement transaction) and X-Prism-Charge-USD (what the call really cost). The difference between the ceiling and the real charge is booked to your wallet and paid back in batches.
Keep max_tokens close to what you expect: a tight ceiling means less USDG in flight per call. For many calls, a prepaid key is charged exact cost with nothing to refund.
Discovery
Agent directories can read /openapi.json (the OpenAPI contract with prices and request schemas) or /.well-known/x402: endpoints, models, prices, the settlement assets and the facilitator.
A byte-identical request can be answered from cache without touching a model. A hit is billed at 50% of the normal token charge and returns X-Prism-Cache: HIT.
Deterministic by default. Only requests with temperature: 0 are cached automatically.
Opt in or out per request with the X-Prism-Cache header: on caches at any temperature, off bypasses.
Tenant scoped. Your cache is keyed to your key or paying wallet. A hit never crosses tenants.
Non-streaming only, kept for 24 hours.
Fails open. Any cache problem just sends the request upstream.
Refunds
USDG is owed back to a wallet in three cases:
Change. A pay-per-call ceiling minus the real charge.
Failed deposit. A deposit settled but couldn't be credited.
Key closed. The remaining balance of a revoked key.
Refunds are booked per wallet the moment they're owed (you can see the total on the dashboard) and sent from the treasury in batches. Very small amounts wait until they add up. A paid call that fails before answering is never settled at all.
Empty replies are free
If a model returns no usable text, the charge is waived.
Hold $PRISM in the wallet that owns your key, or that signs your pay-per-call, and every call is billed lower. The threshold and rate are shown on the $PRISM page.
Checked at call time with balanceOf on Robinhood Chain, cached for ten minutes per wallet.
Applies to chat, embeddings and cache hits. Responses carry X-Prism-Discount-Pct.
On pay-per-call, the ceiling you sign is the undiscounted one; the discount comes back as part of your change.
If Robinhood Chain can't be read, the call goes through at the normal rate rather than failing.
Tiers
Tier
Hold
Discount
Status
1
1,000,000 $PRISM
20% on every call
live
2
3,000,000 $PRISM
30% on the first $20 of calls each month, then 20%
live
3
5,000,000 $PRISM
50% on the first $20 of calls each month, then 20%
live
Tiers 2 and 3 switched on by themselves when $PRISM completed its Pons curve and migrated (15 Oct 2026, 22:15 UTC); nobody flipped them by hand. The $20 is measured at list price, per wallet, per calendar month (UTC). The $PRISM page shows the curve's progress and checks any wallet's tier.
Free holder messages
In the playground, a wallet that holds the minimum $PRISM can sign in and send 25 free messages a day to any chat model (up to 2,048 output tokens each). Sign-in is a free signature, not a transaction. The count resets daily (UTC) and is shown next to the holder option.
The router never requires the token. Inference is always payable in USDG, and holding $PRISM doesn't entitle anyone to revenue.
The prism402 package is both a TypeScript client and an MCP server, so any MCP-capable agent (Claude, Cursor and others) can call every model and Trench Scan as tools.
claude code
claude mcp add prism402 -e PRISM402_API_KEY=prism_sk_... -- npx -y prism402
Every model with context length and price per 1M tokens
free
chat
Ask any model; the reply says what it cost
per token
trench_scan
Risk read of one Robinhood Chain token
$0.002
Paying
PRISM402_API_KEY: a prepaid prism_sk_ key from the dashboard.
PRISM402_PRIVATE_KEY: a wallet holding USDG on Robinhood Chain. Each call signs an x402 payment for exactly the quoted amount; the facilitator pays the gas. Use a dedicated wallet with a small balance.
PRISM402_MAX_USD: the most it will sign for one call (default 0.25). PRISM402_NETWORK: robinhood (USDG, default) or base (USDC).