83trust / 100
Stock Pools
by Otto AI in Onchain & crypto
x402 APIPassing, checked 2 h ago
Find the DEX pools a tokenized US stock or ETF is a member of, on Robinhood Chain, Base, BNB Chain or Solana. Returns pool id (v4 ids kept distinct from v3), DEX, the side the asset is on, the counterpart with an evidence-backed class, reported USD liquidity, 24h volume and pool age. Membership discovery only: a provider-covered read, not a census; no APR, no execution; a return is the asset's only where it is the base token. $0.001 per call.
GET https://x402.ottoai.services/stock-pools
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 59 ms typical, 59 ms slowest 5%
- Last check
- 2 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://x402.ottoai.services/stock-pools?stock=robinhood%3AMU"import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fx402.ottoai.services%2Fstock-pools
const res = await pay("https://x402.ottoai.services/stock-pools?stock=robinhood%3AMU");
console.log(await res.json());Example input
{
"stock": "robinhood:MU"
}Example output
{
"data": {
"coverage": {
"cap": 10,
"complete": false,
"degradedSources": [],
"eligible": 1,
"limitations": [
"Provider-covered observation, not a complete census of this token’s pool..."
],
"returned": 1,
"sources": [
"geckoterminal"
]
},
"generatedAt": "2026-09-06T07:14:11.320Z",
"pools": [
{
"counterpartClass": "unclassified",
"counterpartClassBasis": "no_evidence",
"counterpartToken": {
"address": "0xd9db30bb0d2b8d2eae3826a1372117e058791e18",
"symbol": "MOO"
},
"dex": "bankr-robinhood",
"dexVersion": null,
"hook": {
"address": null,
"status": "unknown"
},
"liquidityUsd": 3216427.2018,
"network": "robinhood",
"pairLabel": "MOO / MU",
"pairPriceChange24hPct": 1.42,
"pairPriceChangeAppliesTo": {
"address": "0xd9db30bb0d2b8d2eae3826a1372117e058791e18",
"symbol": "MOO"
},
"poolCreatedAt": "2026-07-20T18:35:02Z",
"poolId": {
"kind": "v4_pool_id",
"value": "0xc3cc877a8a7d28efdb5dbec9ae71724652431e6411aa1a9fc8928028da554aa1"
},
"poolUrl": "https://www.geckoterminal.com/robinhood/pools/0xc3cc877a8a7d28efdb5dbec9...",
"source": "geckoterminal",
"stockPriceChange24hPct": null,
"stockPriceChangeUnavailableReason": "stock_is_quote_side",
"stockSide": "quote",
"stockToken": {
"address": "0xff080c8ce2e5feadaca0da81314ae59d232d4afd",
"symbol": "MU"
},
"txns24h": 3576,
"txns24hBasis": "provider_base_token_orientation",
"volume24hUsd": 3737988.36338816
}
],
"providerObservedAt": null,
"rankedBy": "liquidity_usd_desc",
"retrievedAt": "2026-09-06T07:14:11.058Z",
"stock": {
"address": "0xff080c8ce2e5feadaca0da81314ae59d232d4afd",
"network": "robinhood",
"underlying": "MU",
"venue": "robinhood",
"verificationBasis": "stocks_venue_registry:robinhood:MU",
"verified": true
}
},
"meta": {
"degraded": false,
"generatedAt": "",
"stalenessSec": 0,
"validUntil": ""
},
"status": "success"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 2 h ago | Passed | 402 | 302 ms | $0.001 |
| 7 h ago | Passed | 402 | 59 ms | $0.001 |