Api Endpoint

Otto AI

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.

Open interactive test console

Offering

Provider
x402.ottoai.services
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Blockchain And Crypto
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://x402.ottoai.services/stock-pools
MIME type
application/json
First seen
2026-10-16T01:50:10.647Z
Last seen
Tags
stock pools, tokenized stock liquidity, pool discovery, onchain equities, stock pairs

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.001 USDC
Atomic price: 1000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.001 USDC
Atomic price: 1000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "1000",
    "payTo": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1000",
    "payTo": "6XcSfqJHr9vNW2vbiRaMqUYVm7shDgLepca54wUTDPN5"
  }
]

Observed health

Status
Healthy
Latest latency
151 ms
Average latency
392 ms
HTTP status
402
Last checked
Reachability
100% over 13 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "stock": {
          "type": "string",
          "description": "Network-qualified stock identity: \"<network>:<TICKER>\" or \"<network>:<token address>\" where network is robinhood, base, bsc or solana (e.g. robinhood:MU). A bare ticker is rejected — the same ticker is tokenized on several chains. A ticker that names two deployments on ONE chain is also rejected: give the token address."
        }
      },
      "required": [
        "stock"
      ]
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "stock": {
              "description": "Network-qualified stock identity: \"<network>:<TICKER>\" or \"<network>:<token address>\" where network is robinhood, base, bsc or solana (e.g. robinhood:MU). A bare ticker is rejected — the same ticker is tokenized on several chains. A ticker that names two deployments on ONE chain is also rejected: give the token address.",
              "type": "string"
            }
          },
          "required": [
            "stock"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "data": {},
            "meta": {
              "type": "object"
            },
            "reason": {
              "description": "status=unavailable only; every >=400 is UNCHARGED",
              "type": "string"
            },
            "status": {
              "enum": [
                "success",
                "unavailable"
              ],
              "type": "string"
            }
          },
          "required": [
            "status"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}