token402
Financial intelligence for agents

Know what a tokenized stock is worth, and whether you can trade it.

Token402 reads Robinhood Chain live and settles the two questions behind any trade: is the token priced fairly, and is there enough liquidity to fill the order.

Tokenized equities drift from the stocks they track, and the pools that trade them run thin. Token402 measures both straight from the chain and sells the answer to an AI agent for a fraction of a cent, paid in USDC through Proceeds. No account, no API key, nothing to sign up for.

Two reads per ticker

Price and liquidity, side by side
POST /price · $0.001

Is it priced fairly?

Chainlink sets the token's price onchain. We put it next to a live market quote, so an agent sees the premium or discount instead of assuming the two match.

TSLA · onchain$404.28
TSLA · market$402.90
spread+0.34% premium
→ /price endpoint
POST /signal · $0.25

Can you actually trade it?

We read the token's Uniswap v4 pool to see how much is really there. Deep enough to fill at the quoted price, or thin enough that your own order moves it?

TSLA · depth~$34k · deep
most tickers~$150 · thin
→ /signal endpoint

How it works

Ticker to answer in five steps
  1. Find a ticker. GET /stocks lists every symbol you can request and its Robinhood Chain contract address. Free.
  2. Pick a read. POST /price for the price comparison, POST /signal for liquidity and risk.
  3. Put the ticker in the body. { "symbol": "TSLA" }. It goes in the POST body, not the URL, since a query string is dropped when the payment retries.
  4. Pay the 402. Your wallet signs the USDC payment over x402 or MPP and resends. The client does this for you.
  5. Read the answer. A 200 comes back with the data and a payment-receipt header.

Endpoints

One free, two paid
GET/stocks ● free · no auth

Every ticker you can request, with its Robinhood Chain token address. Start here to see what /price and /signal accept.

POST/price · x402 / MPP

Two prices for a ticker and the gap between them: the Chainlink oracle read on Robinhood Chain and a live market quote.

body{ "symbol": "NVDA" }
returnsprice · sources.chainlink · sources.market · priceDifference {absolute, percent}
POST/signal · x402 / MPP

Uniswap v4 pool depth from the PoolManager, realized volatility from Chainlink round history, corporate-action detection from the Stock Token multiplier, and a Claude-written risk read tying them together.

body{ "symbol": "TSLA" }
returnsliquidity {depthUsd, tier} · volatility · corporateAction · score · narrative

Live · GET /stocks

The 23 tickers agents can request
loading…
SymbolToken contract address
fetching from /stocks

Pay

Two rails, same endpoints

x402 on Base settles through an EIP-3009 USDC authorization; MPP on Tempo settles a USDC transfer. Either way, point your client at the payment URL and POST the ticker.

MPP · Tempo
# 1 · discover tickers (free)
curl https://token402.vercel.app/stocks

# 2 · buy a risk signal for TSLA over MPP (Tempo)
tempo request -X POST --json '{"symbol":"TSLA"}' \
  https://myproceeds.xyz/api/mpp/pay/SERVICE/signal
x402 · Base
# pay with any x402 client (USDC on Base)
x402 fetch -X POST --json '{"symbol":"NVDA"}' \
  https://myproceeds.xyz/api/x402/pay/SERVICE/price

Agent prompts

Paste into any agent harness

Drop any of these into Claude Code, Cursor, Codex, or your own harness. Each runs start to finish on its own: the agent finds the ticker, pays for the call, and reports back.

Prompt · onchain vs. offchain price check
Compare the onchain and offchain price of NVDA on Robinhood Chain.

1. GET https://token402.vercel.app/stocks to confirm NVDA is supported.
2. Using my MPP (Tempo) or x402 (Base) wallet, pay this endpoint with
   POST body {"symbol":"NVDA"} — it costs $0.001:
   https://myproceeds.xyz/api/mpp/pay/SERVICE/price
   (x402: https://myproceeds.xyz/api/x402/pay/SERVICE/price)
3. From the response, report sources.chainlink.price (the tokenized asset
   onchain) vs sources.market.price (real-time traditional market), and the
   priceDifference in absolute and percent terms.
4. Tell me whether the token trades at a premium or discount to the stock
   market, and flag anything wider than 1% as a dislocation worth attention.
Prompt · TVL & execution-risk assessment
Assess whether tokenized TSLA on Robinhood Chain is liquid enough to trade.

1. Using my MPP (Tempo) or x402 (Base) wallet, pay this endpoint with
   POST body {"symbol":"TSLA"} — it costs $0.25:
   https://myproceeds.xyz/api/mpp/pay/SERVICE/signal
   (x402: https://myproceeds.xyz/api/x402/pay/SERVICE/signal)
2. From the response, report:
   - liquidity.depthUsd and liquidity.tier — the token-side TVL pooled in
     Uniswap v4 on Robinhood Chain (the official DEX)
   - volatility and sampleCount (realized vol from Chainlink round history)
   - corporateAction.changed (split/dividend just adjusted the token?)
   - score and narrative
3. Estimate the largest order that stays under ~5% of depthUsd, and give me
   a clear read: can I trade my intended size without moving the price?
Prompt · full pre-trade due diligence
I'm considering buying tokenized GOOGL on Robinhood Chain. Run pre-trade
due diligence before I execute. Spend at most $0.30 total, paid with my
MPP (Tempo) or x402 (Base) wallet.

1. GET https://token402.vercel.app/stocks — confirm GOOGL is supported and
   note its token contract address.
2. POST {"symbol":"GOOGL"} to https://myproceeds.xyz/api/mpp/pay/SERVICE/price
   ($0.001) — compare the onchain Chainlink price to the offchain market
   price and report the premium/discount.
3. POST {"symbol":"GOOGL"} to https://myproceeds.xyz/api/mpp/pay/SERVICE/signal
   ($0.25) — summarize the risk score, realized volatility, corporate-action
   status, and Uniswap v4 liquidity depth/tier.
4. Finish with a go / no-go recommendation naming the single biggest risk
   (e.g. thin liquidity, price dislocation, or a fresh corporate action),
   and keep every payment receipt for my records.

Under the hood

No mock data, anywhere
Assets
Robinhood Chain
23 tokenized equities & ETFs, ERC-20, trading 24/5.
Price
Chainlink
Per-asset oracle feeds; volatility from real round history.
Liquidity
Uniswap V4
Pool depth read from the PoolManager — execution risk.
Intelligence
Claude
Turns the raw signals into a 0–100 score + narrative.

Built on Proceeds

The hard part was the finance, not the payments

We wrote the intelligence. We wrote none of the payment code. /price and /signal are plain HTTP endpoints, and Proceeds sits in front of them: it answers the 402, settles the x402 or MPP payment, and pays out. That frees you to sell any data an agent will pay for and let Proceeds run the commerce underneath.

  1. Wrap an endpoint. Point a Proceeds paywall at your origin and set a price, anywhere from a tenth of a cent up. Your backend stays untouched.
  2. Take the payment. Proceeds returns the 402, verifies the x402 or MPP payment, and passes the request through. The agent brings a wallet, not an account.
  3. Get settled. USDC lands in your wallet across whichever chain the buyer used, with every transaction in the dashboard.
  4. Cash out. Off-ramps turn those proceeds into fiat when you want them out.

Four pieces cover the whole arc of selling to machines:

Platform
Dashboard
Services, paywalls, transactions, and webhooks in one control plane.
APIs
REST
Configure it in code. The two paywalls here were created by a script, not clicked together.
Wallets
Payments
Buyer wallets and merchant settlement across Base and Tempo, over x402, MPP, and Circle Nanopayments.
Off-ramps
Cash out
From an agent's payment to money in your bank.

Terms

You pay for what you call, nothing more
  1. Per request. $0.001 a price check, $0.25 a signal. No minimum, no subscription.
  2. Settlement. USDC onchain, over x402 on Base or MPP on Tempo. Every call returns a payment-receipt.
  3. No signup. The wallet that pays is the only account there is.
  4. Not advice. Signal output is AI-generated market commentary, not investment advice.