For AI agents

Live Cardano data for models and agents: a remote MCP server, Markdown views of the main pages and a JSON API. Everything is read-only, works without an account, and every answer says when it was produced and which page to cite. Looking for the REST reference? See Developers.

1. Connect an MCP client

The server speaks the Model Context Protocol over Streamable HTTP (revisions 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26). It needs no key and keeps no session. Endpoint:

https://realtap.app/api/mcp

Claude Code

claude mcp add --transport http opentap https://realtap.app/api/mcp

Chat apps with custom connectors

In an app that accepts a remote MCP server (a "custom connector"), add one in its settings and paste the endpoint above. No authentication.

Cursor and clients with an mcpServers file

{
  "mcpServers": {
    "opentap": {
      "type": "http",
      "url": "https://realtap.app/api/mcp"
    }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "opentap": {
      "type": "http",
      "url": "https://realtap.app/api/mcp"
    }
  }
}

With an API key for higher limits, add the header X-API-Key: otk_… (for example --header "X-API-Key: otk_…" in Claude Code).

2. Tools (20, all read-only)

Start with search when you only have a name or ticker; the other tools take exact identifiers. ADA amounts are whole ADA, token amounts are decimal-adjusted, fields ending in Pct are percent values, times are UTC.

ToolUse it forArguments
searchFind a Cardano token, liquidity pool, NFT collection, stake pool, ADA Handle, address, transaction, block or epoch by name, ticker or identifier. Use this first whenever you have a name or ticker rather than an exact id: each result names the tool to call next and the id to pass. Stake amounts in results are whole ADA.query*, limit
list_tokensRanked list of Cardano native tokens traded on DEXes, for questions such as "top tokens", "biggest gainers today" or "new pairs". Prices are in ADA and USD, volume and liquidity in ADA (24 h), market cap in USD, changes in percent. `rank` (default) combines market cap with pool liquidity and is the best general ordering.sort, limit, page, minLiquidityAda, hideHighRisk, query
get_tokenEverything about one Cardano token: price (ADA and USD), the change of each of the two prices over 5 m to 7 d (percent; they differ by the move of ADA/USD), 24 h volume and liquidity (ADA), market cap and FDV (USD), supply, holder count, its largest liquidity pools and a safety assessment. Use it to answer price, liquidity or risk questions about a specific token.unit*
get_token_candlesOpen/high/low/close price candles and traded volume for a token, newest last, for charts, trend and volatility questions. Prices are per token in ADA (default) or USD; volume is in ADA. Returns compact rows: [time ISO, open, high, low, close, volumeAda, trades].unit*, interval, quote, limit, allPools
get_poolOne DEX liquidity pool: DEX, token pair, reserves (decimal-adjusted token amounts), TVL and 24 h volume (ADA), price (quote token per base token), fee (percent) and last update. Pool ids come from `get_token` (its `pools`) or `search`.poolId*
get_recent_tradesLatest DEX swaps, newest first, for exactly one of: a token (`unit`), a pool (`poolId`) or a wallet (`address`). Each trade has the time, DEX, side (buy/sell of the base token), amounts in and out (decimal-adjusted), price in ADA, value in ADA and USD, the trader's stake address and the transaction hash.unit, poolId, address, limit, cursor
get_market_overviewSnapshot of the whole Cardano DEX market: ADA price (USD), 24 h volume and total value locked (ADA and USD), trade count, volume share per DEX (percent), and the top gainers, losers and trending tokens. Use it for "how is the Cardano market doing" questions and to check how fresh the data is (`sync.lagSeconds`).none
get_walletCurrent holdings of a Cardano wallet: ADA balance, native tokens with balances (decimal-adjusted) and their value in ADA and USD, total portfolio value and trades in the last 24 h. Accepts a payment address (addr1…), a stake address (stake1…, all its addresses combined) or an ADA Handle ($name).address*, limit
get_wallet_pnlRealised and unrealised profit and loss of a wallet's DEX trading (FIFO, in ADA and USD), win rate (percent), trade count, volume (ADA) and the tokens that contributed most. Only covers swaps since `coverageFrom`. Slower than other tools and limited to fewer calls per minute: call it only when PnL is actually asked for.address*, limit
get_swap_quoteEstimate what a swap would return right now: the best route across the indexed DEX pools, amount out (decimal-adjusted), effective price, price impact (percent) and the smallest pool liquidity on the route (ADA). It never builds, signs or submits a transaction: the result includes `swapUrl`, a link the user opens to review the trade and sign it in their own wallet.tokenIn*, tokenOut*, amount*
list_nft_collectionsRanked list of Cardano NFT collections with floor price (ADA and USD), 24 h floor change (percent), volume (ADA, 24 h and 7 d), sales, listings, supply and holders. Use it for "top NFT collections" questions or to find a collection by name.sort, limit, query
get_nft_collectionMarket data for one NFT collection: floor price (ADA and USD) and its 24 h change (percent), volume (ADA) over 24 h, 7 d, 30 d and all time, sales counts, active listings, supply, holders and the most recent sales.policyId*
get_nft_listingsActive marketplace listings of an NFT collection: asset name, price (ADA), marketplace, rarity rank when known, seller and listing time. Use it to find the cheapest or rarest NFTs currently for sale.policyId*, sort, limit, cursor
list_stake_poolsRanked list of Cardano stake pools with ticker, live stake (ADA), saturation (percent), margin (percent), fixed cost (ADA per epoch), pledge (ADA), delegators, blocks this epoch and estimated yearly return (percent). Use it to compare pools or to find one by ticker or name.sort, limit, query, maxMarginPct, maxSaturationPct
get_stake_poolOne Cardano stake pool: name, ticker, status, margin (percent), fixed cost and pledge (ADA), live and active stake (ADA), saturation (percent), delegators, blocks minted, estimated and recently realised yearly return (percent), description and homepage.poolId*
list_governance_actionsOn-chain governance proposals (treasury withdrawals, parameter changes, hard forks, committee and constitution changes, info actions) with status, epochs, requested ADA and the current yes/no vote share (percent of voting power) of DReps and stake pools. Use it for questions about what Cardano is voting on.status, limit, query
get_transactionA Cardano transaction by hash: block, time, fee and total output (ADA), the net ADA and token change per address, minted or burned assets, certificates, withdrawals, and any DEX swaps or NFT sales it contains. Amounts are whole ADA and decimal-adjusted tokens.hash*
get_addressExplorer view of a payment address (addr1…) or stake address (stake1…): type, whether it is a script, ADA balance, tokens held (decimal-adjusted, valued in ADA), the stake key, delegation and rewards (ADA) for stake addresses, and first/last activity. For portfolio value in USD use `get_wallet` instead.address*
resolve_handleResolve an ADA Handle ($name, or sub@root for subhandles) to the address that currently holds it, with its stake address and whether a script (for example a marketplace listing) holds it. Use it before sending-related answers or to turn a $handle into an address for other tools.handle*
get_newsLatest Cardano ecosystem news headlines aggregated from several sources, newest first, with source, publication time, a short summary and the link to the original article. Use it for "what is new in Cardano" questions; cite the original article URL.limit, query

* required. Full schemas come from tools/list and are written out in llms-full.txt.

3. Try it with curl

A tool call in the current revision: the protocol version and client capabilities travel in the request, mirrored in three headers.

curl -s https://realtap.app/api/mcp \
  -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2026-07-28' -H 'Mcp-Method: tools/call' -H 'Mcp-Name: get_market_overview' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_market_overview","arguments":{},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}'

The short form of the handshake revisions also works for a single call, because nothing is stored between requests:

curl -s https://realtap.app/api/mcp \
  -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_tokens","arguments":{"sort":"gainers","limit":5}}}'

The answer carries the data as JSON text and as structuredContent. A problem the model can fix (a bad argument, an unknown identifier, a data source that is down) comes back as a result with isError: true and a sentence saying what to do next.

4. Markdown views

One GET, compact text with units, an as-of time and links. The matching pages advertise them with <link rel="alternate" type="text/markdown">.

PathContentExample
/api/md/marketDEX market overview: ADA price, 24 h volume, TVL, DEX shares, gainers, losers, trending.open
/api/md/dashboardOne-page summary: market, top tokens, NFT collections, chain and governance status, news.open
/api/md/tokensRanked token table (`?sort=rank|trending|gainers|losers|volume24h|mcap|new&limit=1-100`).open
/api/md/token/{unit}One token: price, changes, volume, liquidity, market cap, holders, pools, safety.open
/api/md/pool/{id}One liquidity pool: pair, reserves, TVL, price, fee, recent trades.open
/api/md/wallet/{address}A wallet (addr1…, stake1… or $handle): ADA, token positions, total value. Also served as /api/md/address/{address}.open
/api/md/nft/{policyId}One NFT collection: floor, volume, listings, holders, recent sales.open
/api/md/stake-pool/{poolId}One stake pool: fees, stake, saturation, blocks, returns.open
curl -s https://realtap.app/api/md/market

5. Access and limits

CallerPer minutePer day
No key (per IP address)60no daily cap
Free API key12010,000
Plus API key30050,000
Pro API key600200,000
  • No key: 60 requests per minute per IP address on https://realtap.app/api/v1, https://realtap.app/api/md and https://realtap.app/api/mcp.
  • Free API key (created at https://realtap.app/account after signing in with a Cardano wallet): 120 per minute, 10,000 per day. Send it as x-api-key: otk_… or Authorization: Bearer otk_….
  • Once plans are switched on (https://realtap.app/pricing says whether they are), a key's limits follow the plan of the account that owns it: Plus 300 per minute and 50,000 per day, Pro 600 per minute and 200,000 per day.
  • Expensive calls (wallet profit and loss) have an extra limit of 20 per minute without a key.
  • Over the limit the answer is HTTP 429 with a JSON body (error, hint, docs, retryAfter) and a Retry-After header in seconds: wait that long, then continue.
  • Create a key under Account (sign in with a Cardano wallet; no email needed).

6. What the data is, and what agents may do

  • DEX trades, pool states and token prices follow the chain tip, normally within one to two minutes; the exact lag is sync.lagSeconds in the market overview.
  • Stake pool, DRep and governance data are synced periodically (minutes to a few hours); holder counts of large tokens once a day.
  • How far back history reaches depends on the deployment; answers that are bounded say so (coverageFrom, indexedSince).
  • Every answer carries an as-of time.
  • Prices come from on-chain DEX pools, not from an exchange feed: read the pool liquidity together with any price.
  • Realtap is read-only for programs. The swap quote tool and endpoint return an estimate and a link to https://realtap.app/swap; the user reviews the trade there and signs it in their own wallet. No endpoint builds, accepts or submits transactions on behalf of an agent.

Citing

Cite as: "Source: Realtap (<page URL>), retrieved <asOf time>". Prices are derived from on-chain DEX pools and are not financial advice.

7. Machine-readable entry points

  • llms.txt https://realtap.app/llms.txt · short map of the site for language models
  • llms-full.txt https://realtap.app/llms-full.txt · every tool, view, unit and limit in one file
  • MCP server card https://realtap.app/api/mcp/server-card · where and how to connect, machine-readable
  • AI catalog https://realtap.app/.well-known/ai-catalog.json · domain-level discovery of the MCP server
  • OpenAPI 3.1 https://realtap.app/api/v1/openapi.json · the versioned REST API
  • Sitemap https://realtap.app/sitemap.xml · all listed pages