_ registry / mcp + a2a http-sse · checked 3h ago

agentpay

https://agentpay.tools

Registry code: a352d421a5edc3be

api record

Buyer-side trust oracle + capped sessions for x402 agents: verified_route, receipts, 17 free tools.

from a public catalogue that lists it, not from the operator

endpoint
https://agentpay.tools/mcp
door code
408d3c266bfc0b60
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
10 · newcomer
_ is it live, free and safe measured by this hub
Is agentpay live?
Yes — it answered the hub's last check (checked 3h ago). It answered 100% of checks over the last 30 days.
Is agentpay free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does agentpay have?
25 tools: session_create, pre_trade_check, sbtc_peg, orderbook_depth, route, estimate_plan, verified_route, verified_route_preview, ….
Is agentpay safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.5%

90 days 99.1%· all time 99.8%

latency
501ms

last good check

priced tools
0

of 25 tools

_ answered our checks, 90 days 747 checks · signed record
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • find a trustworthy paid x402 tool
  • estimate cost of a tool plan
  • run a pre-trade sanity check
  • check token security
  • get crypto prices and funding
takes → gives
text → data
tools
22 reads1 moves money
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts, and USDC settlements on base into the address this listing's priced doors name, read off the chain. Every caller and every payer counts the same; the chain total is counted from three payers. The address also stands behind 1 other origin: the chain figures are the gateway's, not this listing's alone. How it is counted.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

payers on base
11

distinct

settlements
17

last 2026-11-05

received on chain
0.17 USDC

shared-payto

_ what it can do 25 tools
14 open2 auth-required 9 never probed 16 of 25 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • token_price reads open 19h ago

    Get the current USD price of any cryptocurrency token Use when: You need the current USD price, 24h change, or market cap of any cryptocurrency. Not for: you need volume, ATH or a pair quote — token_market_data; a one-call macro + crypto overview — market_snapshot; pool depth or slippage — orderbook_depth. Returns: price_usd, change_24h_pct, market_cap_usd, coin_id Example response: {"symbol":"ETH","price_usd":2069.73,"change_24h_pct":-4.04,"market_cap_usd":250330787714.19,"source":"coingecko"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "symbol"
      ],
      "properties": {
        "symbol": {
          "type": "string",
          "description": "Token symbol, e.g. BTC, ETH, SOL"
        }
      }
    }
    arguments 12 lines
  • gas_tracker reads open 21h ago

    Get current Ethereum gas prices (slow, standard, fast) Use when: You need to know current Ethereum gas prices before submitting a transaction or estimating costs. Not for: you need gas as part of a broader read — market_snapshot already includes standard gwei; only Ethereum mainnet gas is reported. Returns: slow_gwei, standard_gwei, fast_gwei, base_fee_gwei, estimated confirmation times Example response: {"slow_gwei":1.5,"standard_gwei":2,"fast_gwei":3,"base_fee_gwei":1.2,"source":"etherscan"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • crypto_news reads open 3h ago

    Latest crypto news and community sentiment from r/CryptoCurrency for any token Use when: You need recent news headlines or community sentiment for one or more crypto tokens. Not for: you need general web news or documentation — web_search; a specific article's text — url_reader; a numeric sentiment gauge — fear_greed_index. Returns: headlines[] with title, url, sentiment (bullish/neutral/bearish), score, published_at Example response: {"currencies":"ETH","headlines":[{"title":"Ethereum devs confirm Pectra upgrade timeline","url":"https://reddit.com/r/CryptoCurrency/...","sentiment":"bullish","score":1842,"published_at":"2026-03-22T08:14:00Z"},{"title":"ETH gas fees drop to yearly lows","url":"https://reddit.com/r/CryptoCurrency/...","sentiment":"bullish","score":934,"published_at":"2026-03-22T06:31:00Z"}],"source":"reddit"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "properties": {
        "filter": {
          "enum": [
            "hot",
            "new",
            "rising",
            "top"
          ],
          "type": "string",
          "default": "hot",
          "description": "Feed sort order (default: hot)"
        },
        "currencies": {
          "type": "string",
          "default": "BTC,ETH",
          "description": "Comma-separated token symbols, e.g. 'BTC,ETH'"
        }
      }
    }
    arguments 21 lines
  • defi_tvl reads open 3h ago

    DeFi protocol Total Value Locked from DeFiLlama. Returns top 10 or a specific protocol. Use when: You need the Total Value Locked in a specific DeFi protocol or want to compare the top protocols by TVL. Not for: you want the best yield for a token — yield_scanner; protocol revenue or custom metrics — dune_query. Returns: tvl, change_1h, change_1d, change_7d, chains[], category for the protocol (or top 10 list) Example response: {"protocol":"aave","tvl":23800000000,"change_1h":0.12,"change_1d":-1.43,"change_7d":3.21,"chains":["Ethereum","Polygon","Avalanche","Base"],"category":"Lending","source":"defillama"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "properties": {
        "protocol": {
          "type": "string",
          "default": "",
          "description": "Protocol name or slug, e.g. 'uniswap', 'aave', 'lido'. Leave empty for top 10."
        }
      }
    }
    arguments 10 lines
  • token_market_data reads open 19h ago

    Get market cap, 24h volume, ATH, and price change for any token. Note: does NOT return pool depth or slippage — for pre-trade liquidity estimates, use a dedicated orderbook tool. Use when: You need 24h trading volume, market cap, or all-time high for a token pair on decentralized exchanges. Not for: you only need the spot price — token_price is lighter; you need pool depth or slippage — orderbook_depth. Returns: volume_24h_usd, market_cap_usd, price_usd, ath_usd, price_change_24h_pct Example response: {"token_a":"ETH","token_b":"USDC","price_usd":2071.45,"volume_24h_usd":312847293,"volume_change_24h_pct":-8.3,"market_cap_usd":249800000000,"ath_usd":4878.26,"price_change_24h_pct":-3.91,"source":"coingecko"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "token_a",
        "token_b"
      ],
      "properties": {
        "token_a": {
          "type": "string",
          "description": "First token symbol"
        },
        "token_b": {
          "type": "string",
          "description": "Second token symbol, e.g. USDC"
        }
      }
    }
    arguments 17 lines
  • funding_rates reads open 21h ago

    Get perpetual futures funding rates across Binance, Bybit, and OKX Use when: You need funding rates to gauge leveraged market sentiment or cost of holding a perp position. Not for: you need open interest or long/short ratio — open_interest; one verdict combining funding, OI, slippage and security for a trade — pre_trade_check. Returns: funding_rate_pct, annualized_rate_pct, sentiment (bullish/neutral/bearish) per exchange Example response: {"asset":"BTC","rates":[{"exchange":"binance","funding_rate_pct":0.012,"annualized_rate_pct":13.14,"sentiment":"bullish"},{"exchange":"bybit","funding_rate_pct":0.011,"annualized_rate_pct":12.04,"sentiment":"bullish"},{"exchange":"okx","funding_rate_pct":0.009,"annualized_rate_pct":9.85,"sentiment":"neutral"}],"source":"binance/bybit/okx"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "default": "",
          "description": "Token symbol, e.g. 'BTC', 'ETH'. Leave empty for all major assets."
        }
      }
    }
    arguments 10 lines
  • dune_query reads open 9h ago

    Run any Dune Analytics query and return live onchain results by query ID. Use fast_only=True for live bots — returns cached result instantly or raises immediately, never blocks. Use when: You need deep onchain analytics from a specific Dune query — protocol revenue, user counts, custom metrics. Not for: you have no Dune query ID — the other tools cover prices, derivatives, TVL and security without one; you need sub-second answers — set fast_only=true or use a cached tool. Returns: rows[], columns[], row_count, generated_at from the Dune Analytics query result Example response: {"query_id":3810512,"row_count":2,"columns":["protocol","revenue_usd"],"rows":[{"protocol":"Uniswap V3","revenue_usd":1243800},{"protocol":"Aave V3","revenue_usd":987200}],"generated_at":"2026-03-22T00:00:00Z","source":"dune"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "query_id"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 25,
          "description": "Maximum rows to return (default 25)"
        },
        "query_id": {
          "type": "integer",
          "description": "Dune Analytics query ID (visible in the query URL)"
        },
        "fast_only": {
          "type": "boolean",
          "default": false,
          "description": "If True, return cached result immediately or raise — never execute a fresh query. Use for live bots where latency matters. Default: False."
        },
        "query_parameters": {
          "type": "object",
          "default": {},
          "description": "Optional named parameters to pass to the Dune query"
        }
      }
    }
    arguments 27 lines
  • web_search reads open 9h ago

    Search the web and return the top 5 results with their full content as clean markdown. Better than DIY because zero setup and results include page content, not just links. Use when: You need to find current information on any topic — news, documentation, prices, events, or anything else on the web. Not for: you already have the URL — url_reader; you want crypto headlines with sentiment — crypto_news. Returns: results[] with url, title, description, content; query; count Example response: {"query":"ETH gas fees today","count":5,"results":[{"url":"https://etherscan.io/gastracker","title":"Ethereum Gas Tracker","description":"Real-time Ethereum gas price tracker","content":"Current gas: 2 Gwei..."}],"source":"jina_search"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "description": "The search query"
        }
      }
    }
    arguments 12 lines
  • open_interest reads open 3h ago

    Get total open interest in perpetual futures for any asset, with 1h and 24h change rates. Pairs with funding_rates to complete the derivatives picture — rising OI with high funding = overcrowded position. Use when: You need to know total open interest in perpetual futures and whether it's rising or falling. Combine with funding_rates for a full derivatives picture. Not for: you need the funding cost of holding a position — funding_rates; a single trade verdict — pre_trade_check. Returns: total_oi_usd, oi_change_1h_pct, oi_change_24h_pct, long_short_ratio, per-exchange breakdown Example response: {"asset":"ETH","price_usd":2069.73,"total_oi_usd":8420000000,"oi_change_1h_pct":1.2,"oi_change_24h_pct":12.4,"long_short_ratio":1.08,"long_short_ratios":{"Binance":1.08,"OKX":1.11,"Gate.io":1.02},"long_short_spread":0.09,"exchanges":[{"exchange":"Binance","oi_contracts":4066123.5,"oi_change_1h_pct":1.2,"oi_change_24h_pct":12.4,"long_short_ratio":1.08}],"source":"binance/bybit/okx + gate/bitget (L/S)","primary":"binance"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "default": "BTC",
          "description": "Token symbol, e.g. 'BTC', 'ETH', 'SOL'"
        }
      }
    }
    arguments 10 lines
  • fear_greed_index reads open 21h ago

    Crypto Fear & Greed Index (0=extreme fear, 100=extreme greed) with optional history Use when: You need to gauge overall crypto market sentiment or mood — whether the market is fearful or greedy. Not for: you want token-specific sentiment — crypto_news (per-token headlines) or funding_rates (leveraged positioning). Returns: value (0–100), value_classification (e.g. 'Greed'), optional history[] Example response: {"value":10,"value_classification":"Extreme Fear","timestamp":1774137600,"source":"alternative.me"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "default": 1,
          "description": "Number of days of history to return (default 1, max 30)"
        }
      }
    }
    arguments 10 lines
  • token_security reads open 14h ago

    Scan any token contract for honeypot, rug pull, and security risks Use when: You need to check if a token contract is safe before trading or investing. Not for: the asset is a native coin (BTC, ETH, SOL) with no contract — nothing to scan; you want liquidity or price — orderbook_depth / token_price. Ethereum and BSC contracts only. Returns: risk_level, is_honeypot, buy_tax, sell_tax, holder_count, owner_address, is_mintable, can_take_back_ownership Example response: {"contract_address":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","chain":"ethereum","risk_level":"low","is_honeypot":false,"buy_tax":0,"sell_tax":0,"holder_count":842341,"is_mintable":false,"can_take_back_ownership":false,"source":"goplus"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "contract_address"
      ],
      "properties": {
        "chain": {
          "enum": [
            "ethereum",
            "bsc"
          ],
          "type": "string",
          "default": "ethereum",
          "description": "Blockchain to query (default: ethereum)"
        },
        "contract_address": {
          "type": "string",
          "description": "Token contract address (0x...)"
        }
      }
    }
    arguments 21 lines
  • url_reader reads open 14h ago

    Convert any URL to clean, LLM-ready markdown. Strips ads, nav, and boilerplate — returns just the content. No API key needed. Use when: You need to read the content of a web page or article and get clean, structured text for further processing. Not for: you do not have a URL yet — web_search returns pages with content; the page requires a login or renders only in a browser. Returns: content (markdown), url, length, truncated flag Example response: {"url":"https://example.com","content":"# Example Domain\n\nThis domain is for use in illustrative examples...","length":1256,"truncated":false,"source":"jina_reader"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "The URL to fetch and convert to markdown"
        }
      }
    }
    arguments 12 lines
  • wallet_balance reads open 9h ago

    Get the token balances for any Ethereum or Stellar wallet address Use when: You need to look up the token holdings of an Ethereum or Stellar wallet address. Not for: you want a token's price or market data rather than one address's holdings — token_price / token_market_data; large transfers across many wallets — whale_activity. Ethereum addresses are 0x…, Stellar addresses G…; no other chains. Returns: list of token balances (symbol, amount) for the given address Example response: {"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","chain":"ethereum","balances":[{"token":"ETH","amount":"1.234"},{"token":"USDC","contract":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","amount":"500.00"}]} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "address",
        "chain"
      ],
      "properties": {
        "chain": {
          "enum": [
            "ethereum",
            "stellar"
          ],
          "type": "string",
          "description": "Blockchain to query"
        },
        "address": {
          "type": "string",
          "description": "Wallet address (Ethereum 0x... or Stellar G...)"
        }
      }
    }
    arguments 21 lines
  • market_snapshot reads open 19h ago

    Fed rate, inflation proxy, S&P 500, BTC, ETH, and gas in one call. Replaces three separate API integrations with a single normalized response — the only tool that gives you macro + crypto in one shot. Use when: You need a combined macro + crypto market overview in one call: S&P 500, Treasury yield, BTC, ETH, and Ethereum gas. Not for: you need one asset in depth — token_price, gas_tracker or funding_rates; history or time series — dune_query. Returns: sp500_price, sp500_change_pct, treasury_yield_10y, btc_price_usd, eth_price_usd, gas_standard_gwei, timestamp Example response: {"sp500_price":5234.18,"sp500_change_pct":-0.42,"treasury_yield_10y":4.31,"btc_price_usd":67200,"eth_price_usd":3450,"gas_standard_gwei":5.2,"timestamp":"2026-05-26T12:00:00Z","source":"yahoo_finance+coingecko+etherscan"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • yield_scanner reads auth-required 24h ago

    Find best DeFi yield opportunities across protocols for a given token Use when: You need to find the best yield/APY for a token across DeFi protocols. Not for: you need a protocol's total TVL rather than pool APYs — defi_tvl; risk_level is a heuristic, run token_security on the pool's token before depositing. Returns: list of pools with protocol, apy, tvl_usd, chain, risk_level sorted by APY descending Example response: {"token":"USDC","pools":[{"protocol":"morpho","apy":8.74,"tvl_usd":312000000,"chain":"Ethereum","risk_level":"low"},{"protocol":"aave-v3","apy":5.21,"tvl_usd":1840000000,"chain":"Ethereum","risk_level":"low"},{"protocol":"compound-v3","apy":4.87,"tvl_usd":920000000,"chain":"Ethereum","risk_level":"low"}],"source":"defillama"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "chain": {
          "type": "string",
          "default": "",
          "description": "Filter by chain: 'ethereum', 'base', 'arbitrum', 'polygon'. Leave empty for all chains."
        },
        "token": {
          "type": "string",
          "description": "Token symbol to find yields for, e.g. 'ETH', 'USDC', 'BTC'"
        },
        "min_tvl": {
          "type": "number",
          "default": 1000000,
          "description": "Minimum pool TVL in USD (default 1,000,000)"
        }
      }
    }
    arguments 22 lines
  • whale_activity reads auth-required 6h ago

    Detect recent large wallet movements for a token (whale tracking) Use when: You need to detect large token transfers that may signal institutional moves, accumulation, or sell-offs. Not for: you need one address's holdings — wallet_balance; exchange order-book size rather than on-chain transfers — orderbook_depth. Ethereum ERC-20 transfers only. Returns: large_transfers[] with from, to (full addresses), amount, usd_value, minutes_ago, tx_hash; total_volume_usd Example response: {"token":"USDC","large_transfers":[{"from":"0xabababababababababababababababababababab","to":"0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd","amount":5000000,"usd_value":5000000,"minutes_ago":12,"tx_hash":"0x9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f"},{"from":"0x1111111111111111111111111111111111111111","to":"0x2222222222222222222222222222222222222222","amount":2500000,"usd_value":2500000,"minutes_ago":34,"tx_hash":"0x7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a"}],"total_volume_usd":7500000,"source":"etherscan"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "description": "Token symbol to track"
        },
        "min_usd": {
          "type": "number",
          "default": 100000,
          "description": "Minimum transaction size in USD"
        }
      }
    }
    arguments 17 lines
  • session_create moves money unknown never probed

    Open a budget-capped agent session on AgentPay. Pay $0.01 USDC once — get a session_id, budget config, and gateway URL. Enforces a hard max_spend cap across all subsequent tool calls via the AgentPay SDK. The entry point for agents discovering AgentPay on Base Bazaar. Use when: You want to start an AgentPay session with a hard spend cap and get a session_id for tracking. Not for: you only need a session for free tools — the SDK's quickstart() opens one at no cost; this call settles $0.01 on-chain. Returns: session_id, max_spend, agent_address, gateway_url, tools_endpoint, created_at, receipt (tx_hash + network) Example response: {"session_id":"f47ac10b-58cc-4372-a567-0e02b2c3d479","max_spend":"0.10","agent_address":"GBCVQCNFWPM3GDO4GPT4YEQ42ZHPY67QTJA3WN5ERQIKQDXKBX62SLNJ","label":null,"gateway_url":"https://agentpay.tools","tools_endpoint":"https://agentpay.tools/tools","created_at":"2026-05-27T12:00:00Z","receipt":{"tx_hash":"0xabc...def","network":"base","amount_usdc":"0.01"},"sdk_hint":"Use `from agentpay import Session` to enforce the max_spend cap client-side."} Price: $0.01 USDC per call (x402 over MCP: an unpaid call returns PaymentRequired; pay via _meta x402/payment)

    mcp-tool

    {
      "type": "object",
      "properties": {
        "label": {
          "type": "string",
          "description": "Optional human-readable label for this session"
        },
        "max_spend": {
          "type": "string",
          "default": "0.10",
          "description": "Hard budget cap in USDC for this session, e.g. '0.10'"
        },
        "agent_address": {
          "type": "string",
          "description": "Your wallet address (Stellar G... or EVM 0x...)"
        }
      }
    }
    arguments 18 lines
  • pre_trade_check reads unknown never probed

    One-call pre-trade sanity check: 'I want to long $X of SYMBOL — is now sane?' Combines live orderbook slippage at YOUR size, cross-exchange funding (carry cost), open-interest crowding, and contract security (GoPlus) into a single ok/caution/avoid verdict with a per-factor breakdown. Major ERC-20 addresses (LINK, UNI, ARB, OP, AAVE, PEPE, SHIB) resolve automatically; native assets (BTC, ETH, SOL, ...) report security n/a; an unrecognized token without token_address reads 'unknown' and caps the verdict at caution — an unscreened contract can never read 'ok'. Replaces four API integrations and the judgment layer on top of them. Raw component data embedded so you can apply your own thresholds. Stacks tokens (STX, sBTC, USDCx, stSTX, ZEST, LEO, USDh, aeUSDC, stBTC) add the Bitflow DEX venue: price impact at YOUR size from a live route quote, the pools and bins the swap crosses, and their TVL; STX and sBTC keep their CEX perp legs, DEX-only tokens report funding/OI n/a and contract risk unscreened (no GoPlus coverage on Stacks). Use when: An agent (or human) is about to enter a position and wants one verdict covering liquidity, carry, crowding, and security — instead of four raw feeds plus its own synthesis. Not for: you need a single raw factor — funding_rates, open_interest, orderbook_depth or token_security are free; you are not about to size a position. This call settles $0.01 on-chain. Returns: verdict (ok/caution/avoid), factors{liquidity,carry,crowding,security} each with level + reason, components{orderbook_depth,funding_rates,open_interest}, symbol, side, size_usd Example response: {"symbol":"ETH","side":"long","size_usd":50000,"venue":"cex","verdict":"caution","factors":{"liquidity":{"level":"ok","slippage_pct":0.011,"bucket_usd":50000,"reason":"fills within 0.011% of best ask"},"carry":{"level":"caution","median_funding_pct":0.062,"annualized_pct":67.9,"reason":"longs paying elevated funding"},"crowding":{"level":"ok","long_short_ratio":1.4,"oi_change_24h_pct":3.2,"reason":"positioning unremarkable"},"security":{"level":"n/a","reason":"ETH is a native chain asset — no token contract to screen"}},"not_checked":["security"]} Price: $0.01 USDC per call (x402 over MCP: an unpaid call returns PaymentRequired; pay via _meta x402/payment)

    mcp-tool

    {
      "type": "object",
      "required": [
        "symbol"
      ],
      "properties": {
        "side": {
          "enum": [
            "long",
            "short"
          ],
          "type": "string",
          "default": "long",
          "description": "Trade direction (funding carry is side-aware)"
        },
        "venue": {
          "enum": [
            "auto",
            "cex",
            "bitflow"
          ],
          "type": "string",
          "default": "auto",
          "description": "Where the trade executes. auto (default): CEX books for majors, Bitflow for Stacks tokens, both for STX/sBTC. bitflow: price the swap on Bitflow only; cex: skip Bitflow"
        },
        "symbol": {
          "type": "string",
          "description": "Asset to check, e.g. 'ETH', 'BTC', 'SOL'"
        },
        "size_usd": {
          "type": "number",
          "default": 10000,
          "description": "Intended position size in USD (drives the slippage check)"
        },
        "token_address": {
          "type": "string",
          "description": "Optional ERC-20 contract address for the GoPlus security scan. Auto-resolved for major tokens; required for a full verdict on tokens the resolver doesn't know (otherwise security reads 'unknown' and caps the verdict at caution)"
        }
      }
    }
    arguments 40 lines
  • sbtc_peg unknown never probed

    The sBTC peg as an agent-readable feed — the one dataset only Stacks state can answer. Live sBTC supply (and share of the peg cap), peg-in and peg-out flows for 24h and 7d (sats, counts, unique recipients, net), in-flight bridge requests (pending and accepted deposits with the oldest pending age, pending withdrawals, 24h failures), the last peg events with Bitcoin txids, the signer set and signature threshold, and the rolling withdrawal cap with its current headroom. Read from the sBTC token and registry contracts and the bridge API (Emily); a source that fails degrades to null plus a note. Signer liveness is not public and is reported as null — the pending ages and withdrawal headroom are the proxies. Use when: An agent wants the state of the sBTC peg before moving BTC onto or off Stacks, sizing against the withdrawal cap, or reading Bitcoin-capital flow into Stacks as a signal. Not for: you need the sBTC price or market data — token_price / token_market_data are free; you need a swap quote — pre_trade_check prices Bitflow. This call settles $0.01 on-chain. Returns: asset, contract, network, as_of{time, stacks_height, bitcoin_height}, supply{sats, btc, peg_cap_sats, pct_of_cap}, flows{24h, 7d}{peg_in_sats, peg_in_count, peg_in_unique_recipients, peg_out_sats, peg_out_count, net_sats, from_stacks_height, complete}, in_flight{deposits_pending, deposits_accepted, oldest_pending_deposit_age_hours, withdrawals_pending, withdrawals_accepted, deposits_failed_24h, withdrawals_failed_24h}, last_events[{type, sats, stacks_height, bitcoin_txid, recipient|sender}], signers{count, signature_threshold, aggregate_pubkey, limits{peg_cap_sats, per_deposit_minimum_sats, per_withdrawal_cap_sats, rolling_withdrawal_cap_sats, rolling_window_blocks, available_to_withdraw_sats, withdrawal_headroom_pct, throttle_mode}, liveness, note}, read, sources, notes[] Example response: {"asset":"sBTC","contract":"SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token","network":"stacks-mainnet","as_of":{"time":"2026-11-05T13:16:06+00:00","stacks_height":9418770,"bitcoin_height":974675},"supply":{"sats":248402294199,"btc":2484.02294199,"peg_cap_sats":2100000000000000,"pct_of_cap":0.0118},"flows":{"24h":{"peg_in_sats":349000521,"peg_in_count":870,"peg_in_unique_recipients":11,"peg_out_sats":172451573,"peg_out_count":15,"net_sats":176548948,"from_stacks_height":9411041,"complete":true},"7d":{"peg_in_sats":1093108934,"peg_in_count":5324,"peg_in_unique_recipients":39,"peg_out_sats":790710098,"peg_out_count":110,"net_sats":302398836,"from_stacks_height":9359229,"complete":true}},"in_flight":{"deposits_pending":10,"deposits_accepted":16,"oldest_pending_deposit_age_hours":50,"withdrawals_pending":0,"withdrawals_accepted":3,"deposits_failed_24h":0,"withdrawals_failed_24h":1},"last_events":[{"type":"peg_in","sats":85000,"stacks_height":9418744,"bitcoin_txid":"62acd3f2cee3b1bb0ba547de0d1fc32253bf69e79b63cf19f9e055dc97f741db","recipient":"SP000000000000000000002Q6VF78.pox-5"}],"signers":{"count":11,"signature_threshold":8,"aggregate_pubkey":"0x02d99ad0f0111a7e9aaa2ed22940efec98db0ece9b9475e61e1eec65a6e7f3af69","limits":{"peg_cap_sats":2100000000000000,"per_deposit_minimum_sats":10000,"per_withdrawal_cap_sats":5100000000,"rolling_withdrawal_cap_sats":15100000000,"rolling_window_blocks":150,"available_to_withdraw_sats":14786411900,"withdrawal_headroom_pct":97.9,"throttle_mode":null},"liveness":null,"note":"signer liveness is not published; the observable proxies are pending/accepted deposit ages and the rolling withdrawal headroom"},"read":"sBTC supply 2484.02 BTC; 24h net +1.7655 BTC (870 in / 15 out); 7d net +3.0240 BTC (5324 in / 110 out); 10 deposits pending (oldest 50.0h); 8-of-11 signers; withdrawal headroom 97.9%","notes":[]} Price: $0.01 USDC per call (x402 over MCP: an unpaid call returns PaymentRequired; pay via _meta x402/payment)

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {}
    }
    arguments 5 lines
  • orderbook_depth reads unknown never probed

    Get real bid/ask depth and slippage estimates at $10k, $50k, and $250k notional from Binance, Bybit and OKX. Use before sizing a position to know if you can execute without moving the market. Use when: You need to estimate slippage before executing a large trade. Tells you how much a $10k, $50k, or $250k order will move the market. Not for: you need market cap or 24h volume — token_market_data; a full pre-trade verdict at your size — pre_trade_check. Centralised-exchange books (Binance/Bybit/OKX) only, not DEX pools. Returns: best_bid, best_ask, spread_pct, depth with slippage_pct at $10k/$50k/$250k notional, per-exchange best prices Example response: {"asset":"ETH","pair":"ETH/USDT","best_ask":2071.5,"best_bid":2071.2,"spread_pct":0.0145,"depth":[{"notional_usd":10000,"slippage_pct":0.002,"executable":true},{"notional_usd":50000,"slippage_pct":0.008,"executable":true},{"notional_usd":250000,"slippage_pct":0.031,"executable":true}],"exchanges":[{"exchange":"Binance","best_ask":2071.5,"best_bid":2071.2},{"exchange":"Bybit","best_ask":2071.6,"best_bid":2071.1}],"source":"binance/bybit/okx"} Price: $0.000 USDC per call

    mcp-tool

    {
      "type": "object",
      "required": [
        "asset"
      ],
      "properties": {
        "asset": {
          "type": "string",
          "default": "ETH",
          "description": "Token symbol, e.g. 'BTC', 'ETH', 'SOL'"
        }
      }
    }
    arguments 13 lines
  • route reads unknown 6h ago

    Legacy alias of verified_route (kept for back-compat). Find and judge the best paid x402 tool for a need, within a budget. Discovers across Coinbase Bazaar, drops stubs (no schema / factory clones), ranks survivors by real usage (unique payers × 3 + calls + recency bonus), enforces the budget, price- tiebreaks quality-equal candidates. Returns ranked candidates + a recommendation + ready-to-pay details. Advise-only — no payment happens here. Prefer verified_route (same vetting, matches the paid tool + Bazaar listing). Use when: "which x402 tool for X", "find a paid API for X under $Y".

    mcp-tool

    {
      "type": "object",
      "required": [
        "need"
      ],
      "properties": {
        "need": {
          "type": "string",
          "description": "What capability you need, e.g. \"funding rates\", \"token security\", \"DeFi TVL\""
        },
        "budget": {
          "type": "number",
          "default": 0.01,
          "description": "Maximum USDC per call (default 0.01). Tools priced above this are excluded."
        }
      }
    }
    arguments 17 lines
  • estimate_plan reads unknown 6h ago

    Price a multi-tool plan BEFORE spending anything. Submits the tool calls an agent intends to make to the gateway's free /v1/plan/estimate and returns per-step cost, total, a fits-budget verdict, and a cheaper alternative per paid step. No payment, no wallet needed. Use when: planning a multi-step task with paid tools, "what would this cost", "does this plan fit my budget", or before committing a Session cap.

    mcp-tool

    {
      "type": "object",
      "required": [
        "steps"
      ],
      "properties": {
        "steps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Tool names to price, in order, e.g. [\"token_price\", \"dune_query\", \"session_create\"]"
        },
        "budget": {
          "type": "number",
          "description": "Optional USDC budget for the fits_budget verdict, e.g. 0.05"
        }
      }
    }
    arguments 19 lines
  • verified_route reads unknown 39d ago

    Paid buyer-side trust oracle: 'I need X, budget $Y — which x402 tool is real?' Sweeps the WHOLE x402 marketplace across many queries (a single search shows only a slice), collapses sybil/factory clusters (one wallet stamping many fake-distinct listings → one entry), ranks the genuinely-used survivors by real unique-payer usage, and returns ONE vetted recommendation with a ready-to-pay x402 challenge. The credit-bureau check an agent cannot do itself in one query — pay $0.01 to avoid paying a scam or a dead stub. Use when: An agent is about to pay an unknown x402 tool and wants the real, used, non-sybil one under budget — not just the cheapest. Not for: you already know which AgentPay tool you need — call it directly; you only want a free preview of the marketplace ranking — the MCP's free preview (verified_route_preview on the remote server). This call settles $0.01 on-chain. Returns: recommendation (with ready_to_pay), survivors[] (each with typed evidence[]), catalog{scanned, real_providers, sybil_collapsed, biggest_factory}, vetting summary Example response: {"need":"dex pair liquidity","chain":null,"budget_usd":"1","recommendation":{"name":"Otto AI","url":"https://otto.example/dex","price_usd":"0.001","network":"eip155:8453","pay_to":"0x0e84ddedaae6a7","payers30d":200,"calls30d":3246,"quality":3851,"flags":[],"evidence":[{"type":"delivery","source":"agentpay-prober","metric":"delivery_rate","value":1,"n":12,"observed_at":"2026-09-30T13:05:00Z","ref":"/s/otto-example-dex-1a2b3c"},{"type":"third-party","source":"coinbase-bazaar","metric":"unique_payers_30d","value":200,"observed_at":"2026-10-01T12:00:00Z","ref":null}],"ready_to_pay":{"url":"https://otto.example/dex","network":"eip155:8453","price_usd":"0.001","accepts":{"scheme":"exact","network":"eip155:8453"}}},"survivors":[],"catalog":{"scanned":117,"after_vetting":114,"real_providers":41,"unique_wallets":38,"sybil_collapsed":73,"biggest_factory":{"pay_to":"0x2bb72231eed3","listings":72}},"vetting":"swept 17 queries → 117 listings → collapsed 73 sybil listings → 41 real providers"} Price: $0.01 USDC per call (x402 over MCP: an unpaid call returns PaymentRequired; pay via _meta x402/payment)

    mcp-tool

    {
      "type": "object",
      "required": [
        "need"
      ],
      "properties": {
        "need": {
          "type": "string",
          "description": "What the agent needs, e.g. 'dex pair liquidity', 'crypto prices'"
        },
        "chain": {
          "type": "string",
          "default": "",
          "description": "Optional chain filter: 'base', 'arbitrum', 'arbitrum-stack'. Empty = all chains."
        },
        "budget_usd": {
          "type": "number",
          "default": 1,
          "description": "Max USDC the agent will pay the downstream tool per call"
        }
      }
    }
    arguments 22 lines
  • verified_route_preview reads unknown 14h ago

    Buyer-side trust oracle for the x402 marketplace: "I need X, budget $Y — which tool is real?" Vets Coinbase Bazaar (discover → drop stubs/factory clones → rank by real unique-payer usage → budget-gate). This MCP runs the FREE single-query PREVIEW: it returns the vetted pick (name + usage stats + why) and survivor count to PROVE a real provider exists, but WITHHOLDS the provider URL + ready-to-pay x402 challenge. To get those — plus the full multi-query sweep + usage-based sybil-collapse + trust allowlist — call verified_route ($0.01: an unpaid call returns the x402 PaymentRequired, which a wallet-carrying client pays in-band), or use the agentpay-x402 SDK. This preview never charges. Use when: "which x402 tool for X", "find a real/trustworthy paid API for X", "avoid a scam or dead stub", "vet this provider before I pay".

    mcp-tool

    {
      "type": "object",
      "required": [
        "need"
      ],
      "properties": {
        "need": {
          "type": "string",
          "description": "What you need, e.g. \"dex pair liquidity\", \"funding rates\", \"token security\""
        },
        "chain": {
          "type": "string",
          "description": "Optional chain filter: \"base\", \"arbitrum\". Empty = all chains."
        },
        "budget_usd": {
          "type": "number",
          "default": 0.01,
          "description": "Max USDC the agent will pay the downstream tool per call (default 0.01)."
        }
      }
    }
    arguments 21 lines
  • funding_spread unknown never probed

    Cross-venue perp funding divergence for one asset — the basis/carry read, not the raw rates. Reads Binance, Bybit, OKX, Gate.io, Bitget, Hyperliquid, dYdX, MEXC and KuCoin in parallel, normalises every rate to a per-8h figure (hourly venues scaled), and returns the spread (max minus min, cheapest and dearest venue, deviation from the median), its percentile against the last 7 days of cross-venue spreads, a plain-English read, and — given notional_usd — a carry estimate (per 8h / day / 30d) net of an assumed taker fee with the breakeven holding time. Venues that fail to answer are named in venues_unavailable; the spread is computed over the ones that did. Use when: An agent wants to know whether funding on one venue is out of line with the others for the same perp — to pick the cheaper venue for a position, or to size a long/short carry across venues. Not for: you only need one venue's current funding — funding_rates is free; you want a trade verdict for one venue — pre_trade_check. This call settles $0.01 on-chain. Returns: asset, as_of, venues[{venue, rate_8h_pct, rate_annualized_pct, raw_rate_pct, interval_hours, next_funding_time}] sorted cheapest first, spread{pct_8h, bps_8h, annualized_pct, median_8h_pct, max_deviation_from_median_pct, cheapest, dearest}, history{days, buckets, spread_pct_8h_p50/p90/max, current_percentile}, carry_estimate{per_8h_usd, per_day_usd, per_30d_usd, taker_fees_round_trip_usd, breakeven_hours, assumptions} | null, read, venues_unavailable{venue: reason} Example response: {"asset":"ETH","as_of":"2026-11-05T12:41:00+00:00","venues":[{"venue":"okx","rate_8h_pct":0.01,"rate_annualized_pct":10.95,"raw_rate_pct":0.01,"interval_hours":8,"next_funding_time":1793923200000},{"venue":"hyperliquid","rate_8h_pct":0.01,"rate_annualized_pct":10.95,"raw_rate_pct":0.00125,"interval_hours":1,"next_funding_time":1793883600000},{"venue":"dydx","rate_8h_pct":0.039,"rate_annualized_pct":42.7,"raw_rate_pct":0.004875,"interval_hours":1,"next_funding_time":1793883600000}],"spread":{"pct_8h":0.029,"bps_8h":2.9,"annualized_pct":31.75,"median_8h_pct":0.01,"max_deviation_from_median_pct":0.029,"cheapest":"okx","dearest":"dydx"},"history":{"days":7,"buckets":22,"venues_with_history":["dydx","hyperliquid","okx"],"spread_pct_8h_p50":0.0125,"spread_pct_8h_p90":0.04242,"spread_pct_8h_max":0.05698,"current_percentile":77},"carry_estimate":{"notional_usd":10000,"long_on":"okx","short_on":"dydx","per_8h_usd":2.9,"per_day_usd":8.7,"per_30d_usd":261,"taker_fees_round_trip_usd":20,"breakeven_hours":55.2,"assumptions":"taker 0.05% per leg on both venues, open and close; spread held constant; no slippage, no basis move"},"read":"ETH funding 0.0390%/8h on dydx vs 0.0100% on okx — 2.9 bps/8h, 77th percentile of the last 7 days (7 of 9 venues answered)","venues_unavailable":{"binance":"geo-blocked (451)","bybit":"geo-blocked (403)"}} Price: $0.01 USDC per call (x402 over MCP: an unpaid call returns PaymentRequired; pay via _meta x402/payment)

    mcp-tool

    {
      "type": "object",
      "required": [
        "symbol"
      ],
      "properties": {
        "symbol": {
          "type": "string",
          "description": "Perp underlying, e.g. 'BTC', 'ETH', 'SOL'"
        },
        "notional_usd": {
          "type": "number",
          "description": "Optional position size per leg in USD — adds carry_estimate (long the cheapest venue, short the dearest)"
        }
      }
    }
    arguments 16 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id a352d421a5edc3be.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/a352d421a5edc3be/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/a352d421a5edc3be/badge.svg)](https://brick.blue/agent/a352d421a5edc3be?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.