AI Agent Tokenized Stock OS
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Non-custodial MCP for Stock Tokens on Robinhood Chain (4663): quotes, plans, Morpho Earn.
| Author | dev.aatos |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2662 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"AI Agent Tokenized Stock OS": {
"url": "https://aatos.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (37)
stocktoken_access_pricingList Free / Pro / Team pricing (ETH on-chain, no Stripe) and how agents pay for write tools.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_access_checkoutBuild on-chain ETH payment plan for Pro/Team. After user pays, call stocktoken_access_activate.
Parameters:
owner(required) — stringtier— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_access_activateAfter ETH payment to treasury is confirmed, verify and issue API key (shown once).
Parameters:
owner(required) — stringtier— stringtxHash— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_access_statusCheck paid access for current API key context or a wallet owner.
Parameters:
owner— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_listread-onlyList canonical Stock Tokens, ETFs, USDG, and WETH on Robinhood Chain 4663. Use this before trusting any address. Do NOT use for US brokerage equities (use Robinhood Trading MCP). Only registry addresses are real tokenized stocks.
Parameters:
kind— string — Filter by token kind. Use stock for Stock Tokens. Default all.
Hints: read-only yes · destructive no · idempotent yes · open-world no
stocktoken_getGet metadata for one canonical Stock Token or core asset by symbol (e.g. NVDA) or contract address on Robinhood Chain 4663. Use to verify a token is official before trading.
Parameters:
symbolOrAddress(required) — string — Ticker like NVDA or 0x contract address
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_priceread-onlyRead the Chainlink USD price and ERC-8056 uiMultiplier for one registry token on chain 4663. This is not a swap quote and not a brokerage quote. Use stocktoken_quote when you need amountOut.
Parameters:
symbolOrAddress(required) — string — Ticker like NVDA or a 0x registry address
Hints: read-only yes · destructive no · idempotent yes · open-world yes
stocktoken_value_holdingsRead balances. This does not quote or swap. For a trade, use stocktoken_quote then stocktoken_execute_plan.
Parameters:
owner(required) — string — 0x wallet addresssymbols— array
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_policy_getGet current AI Agent Tokenized Stock OS agent policy (max notional, slippage, simulate-first, kill switch).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_policy_setUpdate session policy guardrails for AI Agent Tokenized Stock OS.
Parameters:
killed— booleanallowedSymbols— arraymaxNotionalUsd— numbermaxSlippageBps— integerrequireSimulate— booleanmaxDailyNotionalUsd— number
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_quoteread-onlyQuote a Stock Token swap on chain 4663. Compares 0x, the Uniswap API, on-chain Uniswap v3, and hookless Uniswap v4, and returns the executable route with the higher amountOut. If none is executable, the result is oracle-indicative and is not a fill. Pro required. Does not sign or broadcast.
Parameters:
tokenIn(required) — string — Registry symbol or 0x address, e.g. USDGtokenOut(required) — string — Registry symbol or 0x address, e.g. NVDAfirm— boolean — Request firm 0x calldata when possible. Default true.amountIn— string — Raw token units. Use this or amountInHuman.recipient— string — 0x recipient. v3 uses it. v4 pays the signing wallet.notionalUsd— number — Optional USD notional for policy. Not the swap size.slippageBps— integer — Slippage in basis points. Default 50.amountInHuman— string — Human amount, e.g. "25" USDG
Hints: read-only yes · destructive no · idempotent yes · open-world yes
stocktoken_simulateread-onlyPre-trade check on chain 4663: allowlist, policy limits, and whether the quote is executable. This is not an eth_call of the swap. Pro required. If executable is false, stop and do not promise a fill.
Parameters:
tokenIn(required) — string — Registry symbol or 0x addresstokenOut(required) — string — Registry symbol or 0x addressnotionalUsd(required) — number — USD notional the policy should checkamountIn— string — Raw amount in. Optional if amountInHuman is set.sessionId— string — Existing session id, if one was createdslippageBps— integer — Max slippage in basis points. Default 50.amountInHuman— string — Human amount, e.g. "10"
Hints: read-only yes · destructive no · idempotent yes · open-world yes
stocktoken_execute_planBuild an unsigned swap plan on chain 4663. Picks the executable venue with the higher amountOut (v4, v3, 0x, or Uniswap API). Steps are an ETH fee of about 10 bps, token approve, and the swap. v4 also adds a Permit2 approval. Does NOT sign or broadcast. Pro required. The user signs. A v4 plan expires 30 minutes after it is built.
Parameters:
owner(required) — string — 0x wallet on chain 4663 that will sign. Not an API key.tokenIn(required) — string — Registry symbol or address, usually USDGtokenOut(required) — string — Registry symbol or address, e.g. NVDAamountIn— string — Raw amount in. One of amountIn or amountInHuman is required.sessionId— string — Existing session id, if one was createdapproveMax— boolean — Unlimited allowance. Leave false.notionalUsd— number — USD notional for the policy checkslippageBps— integer — Slippage in basis points. Default 50.amountInHuman— string — Human amount, e.g. "10"
Hints: read-only no · destructive no · idempotent no · open-world yes
stocktoken_session_createCreate a durable agent session with scoped permissions (persisted to DATA_DIR). Non-custodial.
Parameters:
owner(required) — stringttlHours— numbersessionKey— stringpermissions— arraymaxNotionalUsd— numberallowlistSymbols— arraymaxDailyNotionalUsd— number
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_session_killKill an agent session immediately (kill switch).
Parameters:
sessionId(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_session_listList agent sessions, optionally filtered by owner.
Parameters:
owner— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_session_updateUpdate limits/permissions on an existing session.
Parameters:
sessionId(required) — stringpermissions— arraymaxNotionalUsd— numberallowlistSymbols— arraymaxDailyNotionalUsd— number
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_protocolsReturn Uniswap Universal Router, PoolManager, WETH, USDG, and feed source metadata for Robinhood Chain 4663.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_feesSummarize disclosed AATOS execution fee events and on-chain monetization status (treasury / ETH fees).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_subscription_tiersList AATOS on-chain subscription tiers (paid in ETH to treasury). No Stripe.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_subscribe_planBuild non-custodial ETH subscription plan (tier pro|team, or custom ethAmount). Pays treasury on chain 4663.
Parameters:
owner(required) — stringtier— string — pro | team — preferred over raw ethAmountethAmount— string — Custom ETH amount if not using a named tier, e.g. "0.01"
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_subscription_statusCheck on-chain subscription status for a wallet (requires SUBSCRIPTION_REGISTRY_ADDRESS when deployed).
Parameters:
owner(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_tip_presetsList optional tip presets (ETH) and what assets the tip wallet accepts (ETH, any ERC-20 on 4663, optional native BTC). Tips never required.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_tip_assetsWhat the AATOS tip wallet can accept: native ETH + any ERC-20 on Robinhood Chain 4663; optional native BTC address if configured.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_tip_planBuild OPTIONAL tip plan. asset=ETH (default) | BTC | registry symbol (USDG,WETH,NVDA,…) | 0x token. amount or ETH preset. User must confirm. Never coerce.
Parameters:
owner(required) — stringmemo— string — Short reason for the tipasset— string — ETH | BTC | USDG | WETH | NVDA | … or 0x token addressamount— string — Human amount e.g. "0.001" ETH or "5" USDG or "0.00005" BTCpreset— string — ETH only: thanks | helpful | excellentethAmount— string — Alias for amount when asset is ETH
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_metricsOperational metrics for this AI Agent Tokenized Stock OS process.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_morpho_statusMorpho / Robinhood Earn status on chain 4663: Steakhouse USDG vault address, live TVL, share price.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_morpho_positionRead a wallet's Morpho Earn (steakUSDG) share balance and underlying USDG on chain 4663.
Parameters:
owner(required) — string — 0x wallet address
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_morpho_deposit_planBuild non-custodial ERC-4626 deposit plan (approve USDG + deposit) into Morpho Steakhouse Earn vault. Does NOT broadcast.
Parameters:
owner(required) — stringassets— string — Raw USDG amount (6 decimals)approveMax— booleanassetsHuman— string — Human USDG amount e.g. "100"
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_morpho_withdraw_planBuild non-custodial Morpho Earn withdraw (by USDG) or redeem (by shares) plan. Does NOT broadcast.
Parameters:
owner(required) — stringassets— stringshares— stringassetsHuman— stringsharesHuman— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_intent_typed_dataBuild EIP-712 typed data for an agent trade intent (offchain authorization standard). User/wallet signs; onchain verifier later.
Parameters:
sessionId(required) — stringowner(required) — stringtokenIn(required) — string — Symbol or addresstokenOut(required) — stringamountIn(required) — stringnonce— integerdeadlineSec— integerminAmountOut— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_basket_previewPreview basket prices only. This does not swap and it is not a vault deposit. For one Stock Token, use stocktoken_quote then stocktoken_execute_plan.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_permit2_prepareOptional Permit2 helper. stocktoken_execute_plan already includes the Permit2 approval on a v4 route. Use this only when you are assembling a plan by hand.
Parameters:
token(required) — string — Token symbol or address to approve via Permit2permitData— Optional Uniswap quote.permitData to normalize for signing
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_liquidity_matrixLiquidity matrix for major USDG pairs on chain 4663. each row reports hookless Uniswap v4 and on-chain v3. eitherExecutable true means at least one of those can fill the sample size. A false row is not every pool on earth: hooked v4 pools are not scanned. If stocktoken_quote.executable is false, do not promise a fill.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_find_poolsScan Uniswap v3 pool addresses only. This is not a fill check and it does not see v4. For a swap, use stocktoken_quote then stocktoken_execute_plan.
Parameters:
tokenA(required) — stringtokenB(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_system_statusFull system status: secrets, venues, chain, version, session count, fees.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stocktoken_explain_routingStart here. Brokerage equities go to Robinhood Trading MCP. Stock Tokens on chain 4663 stay here: stocktoken_list, stocktoken_price, stocktoken_quote, stocktoken_execute_plan.
Parameters:
userIntent— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.