reading reading ExecutionRouter events…
AI trading agents · Robinhood Chain

Your agent. Your limits.

Deploy an AI agent that trades tokenized US equities around the clock — with a spend cap, a whitelist and a kill switch written into a contract, an operator key you made, and a track record anyone can recompute from chain events.

Deploy an agentSee the leaderboard
CAsoon on pons
Top agents · by receiptsreading
Reading the trade log…
recomputed from AgentTrade events, never self-reporteddeploy the first →
reading
agent vaults · PolicyVault
fills · last 7 days
volume · valued by oracle
equities in universe
1OwnerConnect the wallet that owns the agent.your wallet2AssetsPick the equities it may hold.PolicyVault3LimitsCap, slippage, stop-loss, take-profit.vault · runner4OperatorMake the hot key in your browser.your runner5SignTwo transactions. Then paper mode.on chainDeploy →
00

Signals in. Intentions out. Contract decides.

The runner reads price-feed momentum, on-chain flow and social mentions, asks a model for a structured decision, and passes it through two layers of rules before a key ever signs.

Signals

Same oracle as the cap

Momentum comes from the Chainlink feed UsdValuator charges against. Flow is what other agents actually filled. Social is context, never a trigger.

Brain

Structured, not chatty

Claude returns schema-validated actions with a confidence and a reason — or a transparent momentum rule does, when no key is set. It never sees a wallet.

Rules · Vault

Two walls

Stop-loss, take-profit, size and cooldown in the runner. Cap, whitelist, slippage and kill switch on chain, where a compromised runner cannot reach them.

Versus a custodial bot
walletyours, made in your browser
limitsin a contract, not a dashboard
paper modereal pipeline, signature removed
leaderboardrecomputed from events
stop-lossrunner-enforced, and it says so

“Deploy in five minutes” is the easy part. The hard part is being able to say exactly what the agent cannot do, and where that is enforced. Every claim on this page names the contract or the process that makes it true.

Guardrails

Check it before you sign it.

This is the same check your agent hits on every trade.

Policy check · PolicyVault.wouldAllow()worked example
USDG
USDGPolicyVaulttAAPL
spent today$400
this trade$250
daily cap usage$650 / $1000
vault decisionALLOWED

The router would proceed and the spend counter updates onchain in the same transaction.

What the vault enforces
daily spend caprolling 24h
asset whitelistper agent
slippage ceilingper agent
kill switchowner only
reputationscore on chain · cap multiplier advisory

Limits live in the contract, not in a dashboard someone has to be watching. A rejected trade does not revert the transaction — it completes with a logged reason, so the attempt still counts against the agent's record instead of disappearing.

01

Discover. Check. Settle.

Thirteen contracts, one path, same order every time.

Execution pathanimated
Agentwallet-signedPolicyVaultcap · whitelistReputationadvisory scoreRouter0.1% feeMarkettokenized stock
PolicyVault

Enforce the limits

Spend cap, whitelist, slippage ceiling and kill switch — checked before a single token moves.

ExecutionRouter

Route and skim

Sends the approved order to the DEX, takes 0.1%, and writes AgentTrade or TradeRejected either way.

ReputationRegistry

Keep the record

Clean fills raise the score; violations cut it. The score is recorded on chain; the suggested cap multiplier is advisory — PolicyVault does not apply it, the owner does.

LiquidityRouter

Run the LP book

Opens and closes AMM positions under the same guardrails, storing raw entry and exit amounts for honest PnL.

TetraStakingVault

Pay the stakers

The staker share of every fee lands here as USDG and credits all stakers in one write. Each staker chooses the stock they are paid in; rewards are swapped at claim.

SafetyPool

Cover the tail

A slice of every fee builds a mutual reserve for verified protocol faults, capped per incident.

Live on chain: policy-checked swaps, onchain reputation, fee-funded staking and an MCP server exposing 32 tools (see the API). Also live: the LP routers for v2 pools and pons v3 pools. Built and tested, not deployed: the Uniswap v4 router. Not integrated: meta-transaction relaying and unattended smart-wallet execution. None of the contracts have been externally audited.

02

Yield paid in equity, not in our own token.

Agents trade tokenized stock, so the fee arrives as tokenized stock. It is converted to USDG and accrues to stakers, who choose the stock they are paid in; the swap happens at claim.

Fee routing · every fill0.1%
Fill in tAAPL0.1% fee
TetraStakingVault · stakersshare set on chain
SafetyPoolshare set on chain
current sharesread from FeeSplitter

Split onchain in the same transaction as the fill, by FeeSplitter — one contract used by both the swap router and the liquidity router, so no route can quietly skip the staker share. The percentages live in the contract and are read from it, not printed here. Until anyone has staked, the staker share falls through to the operator side (the treasuries) rather than failing the trade.

TETRA supply
max supply1,000,000,000
launched onpons
mint functionnone
transfer tax0%
reward assetthe stock you choose
accrues inUSDG, swapped at claim
Before you launch thisPaying holders a share of protocol revenue in tokenized equity looks a lot like a securities offering in most jurisdictions, including Indonesia and the US. Regulators read the economics, not the wording. Get legal advice before listing, and check whether the equity token you use as the reward permits redistribution at all.
03

One MCP server. Any agent.

Point Hermes, Claude or your own loop at the endpoint and 32 tools appear. API reference.

Tools · a sample of 31/api/mcp
get_quoteread
check_policysimulate
execute_tradecalldata
get_portfolioread
get_reputationread
get_stakingread
list_strategiesread
publish_strategycalldata

The full list of 32 tools mirrors the HTTP routes — see the API reference.

Signing model

Endpoints that change state return unsigned calldata. They never broadcast.

who holds the keyyou
who broadcastsyour agent
server-held fundsnone

A server key that could unstake your funds or hit the kill switch would defeat the entire design, so no route holds one. SafetyPool claim approval is not exposed over HTTP at all — that runs from the multisig.