{"openapi":"3.1.0","info":{"title":"Realtap public API","version":"1.0.0","description":"Read-only Cardano market, wallet, NFT, explorer and staking data. All amounts are decimal-adjusted numbers (whole ADA, whole tokens). Anonymous requests are limited per IP; send an API key in the x-api-key header (create one under Account -> API keys) for higher limits. A key's limits follow the plan of the account that owns it: Free 120 requests per minute and 10,000 per day; Plus 300 requests per minute and 50,000 per day; Pro 600 requests per minute and 200,000 per day (plans are not enforced yet: every key has the Free limits for now). Plans and prices: https://realtap.app/pricing. Responses are stable within /v1: fields may be added, never removed or retyped. Token logos: every asset carries logoUrl (a cacheable image URL); the older inline logo field is still sent by default and makes list responses large - add logos=url to any request to receive URLs only."},"x-rate-limits":{"anonymousPerMinute":60,"enforced":false,"plans":[{"plan":"free","name":"Free","perMinute":120,"perDay":10000},{"plan":"plus","name":"Plus","perMinute":300,"perDay":50000},{"plan":"pro","name":"Pro","perMinute":600,"perDay":200000}]},"servers":[{"url":"https://realtap.app/api/v1"}],"tags":[{"name":"Tokens"},{"name":"Pools"},{"name":"Wallet"},{"name":"NFT"},{"name":"Explorer"},{"name":"Staking"},{"name":"Aquarium"},{"name":"Market"},{"name":"Swap"}],"paths":{"/tokens":{"get":{"tags":["Tokens"],"summary":"List tokens","parameters":[{"name":"sort","in":"query","required":false,"description":"Default: volume. The rankings of the home table follow TapTools: volume (its \"Trending\": traded volume over `period`) | mcap (market cap: circulating supply where known, else total; default floors: liquidity of 10,000 ADA or more and 100 holders or more) | gainers | losers | change (price change over `period` in the `quote` currency; gainers is its descending end, losers its ascending one; only tokens traded in that window with liquidity of 10,000 ADA or more) | age (pair age; ascending, the default, is \"New Pairs\") | new (= age ascending: only tokens whose pools were seen being created) | txns (trades over `period`) | makers (traders of the last 24 h) | liquidity | fdv (price x total supply; floors of mcap) | holders (liquidity of 1,000 ADA or more; exact counts before capped ones). Realtap's own: rank (market cap and liquidity combined, liquidity of 100 ADA or more) | trending (trades in the last hour). volume24h and txns24h are volume and txns with period=24h. Missing values come last in either direction; ties fall to liquidity (mcap, fdv, volume) or volume (the others), then to the token.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"5m | 1h | 6h | 24h (default): the window of volume, txns, change, gainers and losers","schema":{"type":"string"}},{"name":"order","in":"query","required":false,"description":"asc | desc. Default: desc, and asc (youngest first) for age. Ignored by rank, trending, new, gainers and losers","schema":{"type":"string"}},{"name":"quote","in":"query","required":false,"description":"USD (default) or ADA: the currency price changes are ranked in","schema":{"type":"string"}},{"name":"minLiquidity","in":"query","required":false,"description":"Liquidity floor in ADA (both sides of the token's ADA pools); replaces the default floor of the chosen sort, 0 = none","schema":{"type":"string"}},{"name":"minHolders","in":"query","required":false,"description":"Holders floor; replaces the default of the chosen sort (100 for mcap and fdv), 0 = none. A token whose holder count is unknown, or known only as \"at least N\", is kept","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Search text","schema":{"type":"string"}},{"name":"logos","in":"query","required":false,"description":"url = send logo URLs instead of inline images (accepted by every endpoint)","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1","schema":{"type":"string"}},{"name":"pageSize","in":"query","required":false,"description":"Items per page (max 200)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TokenRow"}},"page":{"type":"integer"},"pageSize":{"type":"integer"},"total":{"type":"integer"},"adaUsd":{"type":["number","null"]},"quote":{"type":"string","description":"USD or ADA: the currency price changes were ranked in"},"sort":{"type":"string"},"period":{"type":"string"},"order":{"type":"string","description":"asc or desc: the direction the list came in"},"filters":{"type":"object","properties":{"minLiquidity":{"type":["number","null"],"description":"ADA"},"minHolders":{"type":["number","null"]}},"description":"The floors the list was cut by: the given ones, else the defaults of the sort"}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/tokens/{unit}":{"get":{"tags":["Tokens"],"summary":"Token detail with pools","parameters":[{"name":"unit","in":"path","required":true,"description":"Token unit: policy id + asset name hex","schema":{"type":"string"},"example":"29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/AssetRef"},"stats":{"$ref":"#/components/schemas/TokenStats"},"primaryPoolId":{"type":["integer","null"]},"description":{"type":["string","null"]},"url":{"type":["string","null"]},"pools":{"type":"array","items":{"$ref":"#/components/schemas/Pool"}},"adaUsd":{"type":["number","null"]}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/tokens/{unit}/candles":{"get":{"tags":["Tokens"],"summary":"OHLCV candles","parameters":[{"name":"unit","in":"path","required":true,"description":"Token unit: policy id + asset name hex","schema":{"type":"string"},"example":"29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e"},{"name":"interval","in":"query","required":false,"description":"1m | 5m | 15m | 1h | 4h | 1d (default 1h)","schema":{"type":"string"}},{"name":"pool","in":"query","required":false,"description":"Pool id, or \"all\" to aggregate every pool of the token (volume-weighted price, summed volume). Default: primary pool","schema":{"type":"string"}},{"name":"quote","in":"query","required":false,"description":"ADA | USD (default ADA)","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"description":"Unix seconds or ms","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"Unix seconds or ms","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"poolId":{"type":"integer","description":"0 when pool=all"},"interval":{"type":"string"},"quote":{"type":"string"},"candles":{"type":"array","items":{"$ref":"#/components/schemas/Candle"}}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/tokens/{unit}/trades":{"get":{"tags":["Tokens"],"summary":"Recent trades of a token","parameters":[{"name":"unit","in":"path","required":true,"description":"Token unit: policy id + asset name hex","schema":{"type":"string"},"example":"29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e"},{"name":"limit","in":"query","required":false,"description":"Items per page (1-200, default 50)","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"nextCursor of the previous page","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Trade"}},"nextCursor":{"type":["string","null"],"description":"pass as ?cursor= for the next page"}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/tokens/{unit}/holders":{"get":{"tags":["Tokens"],"summary":"Top holders","parameters":[{"name":"unit","in":"path","required":true,"description":"Token unit: policy id + asset name hex","schema":{"type":"string"},"example":"29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"quantity":{"type":"number"},"share":{"type":["number","null"]}}}},"total":{"type":["integer","null"]},"partial":{"type":"boolean"},"fetchedAt":{"type":["string","null"]}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/tokens/{unit}/series/{metric}":{"get":{"tags":["Tokens"],"summary":"Daily liquidity or holder-count history","parameters":[{"name":"unit","in":"path","required":true,"description":"Token unit: policy id + asset name hex","schema":{"type":"string"},"example":"29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e"},{"name":"metric","in":"path","required":true,"description":"liquidity | holders","schema":{"type":"string"}},{"name":"days","in":"query","required":false,"description":"History length (default 365)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"metric":{"type":"string"},"points":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer"},"value":{"type":"number"}}}}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/assets/{unit}/logo":{"get":{"tags":["Tokens"],"summary":"Token logo image (the target of AssetRef.logoUrl): long Cache-Control, ETag; 404 when the token has none. Not rate limited.","parameters":[{"name":"unit","in":"path","required":true,"description":"Token unit: policy id + asset name hex","schema":{"type":"string"},"example":"29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e"}],"responses":{"200":{"description":"OK","content":{"image/*":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/pools":{"get":{"tags":["Pools"],"summary":"List liquidity pools","parameters":[{"name":"dex","in":"query","required":false,"description":"Filter by DEX","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"tvl | volume24h","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1","schema":{"type":"string"}},{"name":"pageSize","in":"query","required":false,"description":"Items per page (max 200)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Pool"}},"page":{"type":"integer"},"pageSize":{"type":"integer"},"total":{"type":"integer"}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/pools/{id}":{"get":{"tags":["Pools"],"summary":"Pool detail","parameters":[{"name":"id","in":"path","required":true,"description":"Pool id","schema":{"type":"number"},"example":1}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pool"}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/pools/{id}/candles":{"get":{"tags":["Pools"],"summary":"Pool OHLCV candles","parameters":[{"name":"id","in":"path","required":true,"description":"Pool id","schema":{"type":"string"}},{"name":"interval","in":"query","required":false,"description":"1m | 5m | 15m | 1h | 4h | 1d","schema":{"type":"string"}},{"name":"quote","in":"query","required":false,"description":"ADA | USD","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"poolId":{"type":"integer"},"interval":{"type":"string"},"quote":{"type":"string"},"candles":{"type":"array","items":{"$ref":"#/components/schemas/Candle"}}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/pools/{id}/trades":{"get":{"tags":["Pools"],"summary":"Pool trades","parameters":[{"name":"id","in":"path","required":true,"description":"Pool id","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Items per page (1-200, default 50)","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"nextCursor of the previous page","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Trade"}},"nextCursor":{"type":["string","null"],"description":"pass as ?cursor= for the next page"}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/wallet/{address}":{"get":{"tags":["Wallet"],"summary":"Wallet portfolio: positions valued in ADA and USD","parameters":[{"name":"address","in":"path","required":true,"description":"Bech32 address (addr1… or stake1…)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Wallet balance, positions (asset, balance, priceAda, valueAda), totals and ADA/USD rate."}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/wallet/{address}/trades":{"get":{"tags":["Wallet"],"summary":"DEX trades made by a wallet","parameters":[{"name":"address","in":"path","required":true,"description":"Bech32 address (addr1… or stake1…)","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Items per page (1-200, default 50)","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"nextCursor of the previous page","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Trade"}},"nextCursor":{"type":["string","null"],"description":"pass as ?cursor= for the next page"}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/wallet/{address}/pnl":{"get":{"tags":["Wallet"],"summary":"Realised / unrealised profit and loss (heavy: lower rate limit)","parameters":[{"name":"address","in":"path","required":true,"description":"Bech32 address (addr1… or stake1…)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Trade count, win rate, per-token PnL and a cumulative series."}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/nft/collections":{"get":{"tags":["NFT"],"summary":"List NFT collections","parameters":[{"name":"page","in":"query","required":false,"description":"Page number, from 1","schema":{"type":"string"}},{"name":"pageSize","in":"query","required":false,"description":"Items per page (max 200)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"{ items: collection rows with floor, volume, listings, owners; page; pageSize; total }"}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/nft/collections/{policy}":{"get":{"tags":["NFT"],"summary":"NFT collection detail","parameters":[{"name":"policy","in":"path","required":true,"description":"NFT policy id (56 hex)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Collection metadata and market stats."}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/nft/collections/{policy}/sales":{"get":{"tags":["NFT"],"summary":"Recent sales of a collection","parameters":[{"name":"policy","in":"path","required":true,"description":"NFT policy id (56 hex)","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Items per page (1-200, default 50)","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"nextCursor of the previous page","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"{ items: sales; nextCursor }"}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/nft/collections/{policy}/listings":{"get":{"tags":["NFT"],"summary":"Active listings of a collection","parameters":[{"name":"policy","in":"path","required":true,"description":"NFT policy id (56 hex)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"{ items: listings with price, marketplace, asset }"}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/explorer/blocks/{id}":{"get":{"tags":["Explorer"],"summary":"Block by hash or height","parameters":[{"name":"id","in":"path","required":true,"description":"Block hash or height","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Block header, size, tx count and fees."}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/explorer/tx/{hash}":{"get":{"tags":["Explorer"],"summary":"Transaction with inputs, outputs and metadata","parameters":[{"name":"hash","in":"path","required":true,"description":"Transaction hash","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Decoded transaction."}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/explorer/address/{address}":{"get":{"tags":["Explorer"],"summary":"Address balance and summary","parameters":[{"name":"address","in":"path","required":true,"description":"Bech32 address (addr1… or stake1…)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Balance, assets, stake address and transaction counts."}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/staking/pools":{"get":{"tags":["Staking"],"summary":"Stake pools","parameters":[{"name":"page","in":"query","required":false,"description":"Page number, from 1","schema":{"type":"string"}},{"name":"pageSize","in":"query","required":false,"description":"Items per page (max 200)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"{ items: pools with ticker, stake, saturation, margin, fixed cost, ROA; page; total }"}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/staking/pools/{id}":{"get":{"tags":["Staking"],"summary":"Stake pool detail","parameters":[{"name":"id","in":"path","required":true,"description":"pool1… id","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Pool metadata, performance and delegators summary."}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/aquarium/overview":{"get":{"tags":["Aquarium"],"summary":"Aquarium (Iagon / Aquarium network) overview","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Network-wide totals and recent activity."}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/market/overview":{"get":{"tags":["Market"],"summary":"Market overview: volume, TVL, DEX shares, gainers, losers, trending","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"See MarketOverview: adaUsd, volume24h, tvlAda, txns24h, dexes[], topGainers[], topLosers[] (24 h change; traded in those 24 h, liquidity of 10,000 ADA or more), trending[] (most traded by 24 h volume)."}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}},"/swap/quote":{"get":{"tags":["Swap"],"summary":"Best-route swap quote","parameters":[{"name":"in","in":"query","required":true,"description":"Input unit (\"lovelace\" for ADA)","schema":{"type":"string"},"example":"lovelace"},{"name":"out","in":"query","required":true,"description":"Output unit","schema":{"type":"string"}},{"name":"amount","in":"query","required":true,"description":"Input amount, decimal-adjusted","schema":{"type":"number"},"example":100}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"tokenIn":{"$ref":"#/components/schemas/AssetRef"},"tokenOut":{"$ref":"#/components/schemas/AssetRef"},"amountIn":{"type":"number"},"routes":{"type":"array","items":{"type":"object","additionalProperties":true,"description":"hops, amountOut, priceImpact, fees"}},"best":{"type":"object","additionalProperties":true,"description":"best route or null"},"adaUsd":{"type":["number","null"]}}}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or revoked API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit or daily quota exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{},{"apiKey":[]}]}}},"components":{"schemas":{"AssetRef":{"type":"object","properties":{"unit":{"type":"string","description":"policyId + nameHex (\"lovelace\" for ADA)"},"policyId":{"type":"string"},"nameHex":{"type":"string"},"name":{"type":["string","null"]},"ticker":{"type":["string","null"]},"decimals":{"type":"integer"},"logo":{"type":["string","null"],"description":"Logo. By default the image itself as a data URI (30-80 KB per token, kept for backward compatibility) or an external URL. Add logos=url to any request to get the logoUrl value here instead and keep responses small."},"logoUrl":{"type":["string","null"],"description":"Absolute URL of the logo image (GET /assets/{unit}/logo: cacheable for a week, ETag, real image content type), or the external URL from on-chain metadata. Null when the token has no logo. Prefer this over logo."},"displayName":{"type":"string"}}},"TokenStats":{"type":"object","properties":{"priceAda":{"type":["number","null"]},"priceUsd":{"type":["number","null"]},"liquidityAda":{"type":["number","null"]},"liquidityUsd":{"type":["number","null"]},"volume24h":{"type":"number","description":"ADA"},"volume7d":{"type":"number","description":"ADA"},"change1h":{"type":["number","null"],"description":"change of the ADA price; fraction, 0.05 = +5%"},"change24h":{"type":["number","null"],"description":"change of the ADA price"},"change7d":{"type":["number","null"],"description":"change of the ADA price"},"change1hUsd":{"type":["number","null"],"description":"change of the USD price (the ADA change combined with the move of ADA/USD); null while ADA/USD history does not reach that far back"},"change24hUsd":{"type":["number","null"],"description":"change of the USD price"},"change7dUsd":{"type":["number","null"],"description":"change of the USD price"},"txns24h":{"type":"integer"},"buys24h":{"type":"integer"},"sells24h":{"type":"integer"},"makers24h":{"type":"integer"},"mcapAda":{"type":["number","null"]},"mcapUsd":{"type":["number","null"]},"fdvUsd":{"type":["number","null"]},"holders":{"type":["integer","null"]},"totalSupply":{"type":["number","null"]},"circulatingSupply":{"type":["number","null"]},"pools":{"type":"integer"},"firstPoolTime":{"type":["string","null"],"description":"When the first pool was created if firstPoolExact, otherwise when a pool was first seen: the token is older than that"},"firstPoolExact":{"type":"boolean"},"updatedAt":{"type":"string"}},"description":"Subset shown; the live response carries every 5m/1h/6h/24h/7d window as well. Show change* beside ADA prices and change*Usd beside USD prices."},"TokenRow":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/AssetRef"},"stats":{"$ref":"#/components/schemas/TokenStats"},"primaryPoolId":{"type":["integer","null"]}}},"Pool":{"type":"object","properties":{"id":{"type":"integer"},"dex":{"type":"string"},"identifier":{"type":"string"},"address":{"type":"string"},"tokenA":{"$ref":"#/components/schemas/AssetRef"},"tokenB":{"$ref":"#/components/schemas/AssetRef"},"reserveA":{"type":"number"},"reserveB":{"type":"number"},"tvlAda":{"type":["number","null"]},"price":{"type":["number","null"],"description":"tokenA per tokenB"},"feePercent":{"type":["number","null"]},"createdTime":{"type":"string","description":"Creation time if createdExact, otherwise the first time the pool was seen (it is older)"},"createdExact":{"type":"boolean"},"lastStateTime":{"type":["string","null"]},"volume24h":{"type":"number","description":"ADA"},"txns24h":{"type":"integer"}}},"Candle":{"type":"object","properties":{"time":{"type":"integer","description":"unix seconds, bucket start"},"open":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"close":{"type":"number"},"volume":{"type":"number","description":"ADA"},"trades":{"type":"integer"}}},"Trade":{"type":"object","properties":{"id":{"type":"integer"},"poolId":{"type":"integer"},"dex":{"type":"string"},"txHash":{"type":"string"},"time":{"type":"string"},"status":{"enum":["pending","complete","cancelled"]},"side":{"enum":["buy","sell",null]},"tokenIn":{"$ref":"#/components/schemas/AssetRef"},"tokenOut":{"$ref":"#/components/schemas/AssetRef"},"amountIn":{"type":"number"},"amountOut":{"type":["number","null"]},"priceAda":{"type":["number","null"]},"valueAda":{"type":["number","null"]},"valueUsd":{"type":["number","null"]},"maker":{"type":["string","null"]},"makerAddress":{"type":["string","null"]}}},"Error":{"type":"object","properties":{"error":{"type":"string"}}}},"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key"}}}}