Docs are available to browse. API keys and live queries are not open to the public yet; launching soon.

AdaBubbles API Documentation

Complete reference for accessing real-time Cardano token data, market metrics, and on-chain analytics.

Base URL

https://api.adabubbles.net

30+ Endpoints

Comprehensive coverage across tokens, wallets, and markets

Real-time Data

Live updates via DEX webhooks and on-chain monitoring

Easy Authentication

Simple API key authentication via wallet connection

The AdaBubbles API provides programmatic access to comprehensive Cardano token data including prices, market metrics, holder information, trading activity, and wallet analytics. All data is sourced directly from on-chain transactions and updated in real-time.

Authentication

All API requests require authentication using an API key passed in the request header.

Header Format
X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

API keys coming soon: Endpoint reference is ready now. When the public API launches, visit the API page and connect your Cardano wallet to generate a key.

Rate Limiting & Credits

Per Second

5 requests/sec

Smooth, burst-friendly limiting

Per Minute

300 requests/min

Comparable to Blockfrost & CardanoScan

How It Works:

  • Each API key can make up to 5 requests per second (300 per minute)
  • Rate limits are enforced per API key using a sliding window
  • Each IP address is limited to 1 API key; multiple keys per IP are not allowed
  • If you exceed the limit, wait 1 second and retry

Credit System

  • New users receive 100 free credits upon signup
  • Each API request costs 1 credit (except /address/{address}/portfolio/performance, which costs 2 credits)
  • Top up anytime by sending ADA to your payment address

Rate limit headers are included in 429 responses: Retry-After, X-RateLimit-Limit-Second, X-RateLimit-Remaining-Minute

Response Format

All responses are returned in JSON format. List endpoints return arrays, while single-resource endpoints return objects.

Single Resource

{
  "asset_id": "279c909f...",
  "ticker": "SNEK",
  "current_price_ada": 0.00377
}

Array Response

{
  "page": 1,
  "limit": 10,
  "tokens": [...]
}

Data Format & Units

Numbers

All numeric values are returned in human-readable format - already divided by decimals. No conversion needed.

Token Amounts:
1000000 = 1M tokens
ADA Amounts:
123.45 = 123.45 ADA
Prices:
0.00377 ADA/token
Percentages:
14.25 = +14.25%

Timestamps

All timestamps are in UTC timezone and ISO 8601 format.

2025-11-01T12:00:00Z

Asset ID Format

Tokens are identified by their policy_id + asset_name_hex (concatenated, no separator)

Example (SNEK):
279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b

Error Handling

The API uses standard HTTP status codes and returns detailed error messages in JSON format.

200OK

Request successful, data returned

400Bad Request

Invalid parameters or malformed request

{"detail": "Invalid Asset ID format"}
401Unauthorized

Missing or invalid API key

{"detail": "Missing API key. Include 'X-API-Key' header"}
402Payment Required

Insufficient credits remaining

{"detail": "Insufficient credits. Please top up"}
404Not Found

Token or resource not found

{"detail": "Token not found: {asset_id}"}
429Too Many Requests

Rate limit exceeded

{"detail": "Rate limit exceeded. Limit: 5 requests/second (300 requests/minute). Try again in 1 second."}
500Internal Server Error

Server error - please try again or contact support

{"detail": "Internal server error"}

Data Quality & Filtering

This API is CNT-only: fungible Cardano native tokens. List endpoints (like /tokens) apply quality filters so only tradeable CNTs appear. Pricing eligibility is maintained by background crons before those list filters run.

NFTs

We do not index, store, or serve NFT / collectible data, and we will not add NFT support in the future. This product is purely CNT-based.

  • Low usage vs cost: Indexing and storing full NFT collections is not worth the storage and maintenance burden for the usage we see
  • Pricing is unreliable: Sparse, thin markets and floor-price noise create bad valuations that pollute portfolio totals and related metrics
  • Scope stays focused: Keeping the dataset CNT-only keeps prices, holders, and portfolio figures cleaner for fungible tokens

List Endpoint Filters

List endpoints automatically exclude tokens that don't meet minimum quality standards:

  • Must have a ticker symbol: Tokens without tickers are excluded
  • Must have at least 30 holders: Ensures minimum distribution
  • Must have valid price data: current_price_ada > 0

Pricing Eligibility (Cron)

Background jobs keep price and market-cap data honest. Tokens that fail these checks have price/mcap/FDV zeroed, so they drop out of list results via the valid-price filter:

  • ≥10 ADA DEX liquidity: liquidity_ada < 10 clears price and market cap
  • Traded within the last 2 years: No trade, or last trade older than 2 years, also clears price and market cap
  • Above Cardano's network mcap: Caps above ~45B ADA (Cardano's own mcap in ADA) get holder/supply repair; still-impossible values with no trade/volume stats are zeroed

Filtered Out

List results also exclude non-CNT and curated problem tokens:

  • LP / LQ / DeFi receipt tokens
  • Implausible market cap values
  • Fake or unrealistic volume
  • Non-readable symbols in the name
  • Invalid metadata links or decimal fields

Curated problem tokens may still exist in storage but are hidden from bubble maps and API list results.

Specific asset lookups

When querying a specific asset by ID (e.g., /token/{asset_id}/metadata), list filters are not applied. You can retrieve data for any CNT, including those without tickers or with low holder counts. Filters only apply to list and search endpoints. Pricing eligibility can still leave price/mcap null on illiquid or inactive tokens.

Token Endpoints

Token metadata, pricing, holders, trading data, and analytics

Description

Returns metadata for a token: name, ticker, logo, decimals, total and circulating supply, description, website, and social links.

Cache Duration

1 hour

Path Parameter: assetId

Token Asset ID (policy_id + asset_name_hex concatenated, no separator)

Type: string
Required: Yes

Response Fields

asset_id:string
policy_id:string
asset_name:string
ticker:string
display_name:string
description:string
decimals:number
logo_url:string
website:string
twitter:string
discord:string
telegram:string
total_supply:number
circulating_supply:number
category:string | null
is_verified:boolean
is_snekfun:boolean
is_chakra:boolean

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "policy_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f",
  "asset_name": "534e454b",
  "ticker": "SNEK",
  "display_name": "Snek",
  "description": "In Snek We Trust",
  "decimals": 0,
  "logo_url": "https://ipfs.blockfrost.dev/ipfs/QmaPe6g9NPTTkJ87CF2MjN9fS8Mbfwv8Ue6DwZyyUyXUQF",
  "website": "https://www.snek.com/",
  "twitter": "https://x.com/snek",
  "discord": "https://discord.gg/snek",
  "telegram": "https://t.me/sabordasnek",
  "total_supply": 76715880000,
  "circulating_supply": 76715880000,
  "category": "meme",
  "is_verified": true,
  "is_snekfun": false,
  "is_chakra": false
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/metadata" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Returns current price in ADA, market cap, FDV, ATH/ATL, and price change percentages (10m through 30d). For DEX liquidity use `/dex-breakdown`; for volume use `/volume`. Daily OHLC candles are at `/price/daily`.

Cache Duration

1 minute

Path Parameter: assetId

Token Asset ID (policy_id + asset_name_hex)

Type: string
Required: Yes

Response Fields

current_price_ada:number
market_cap_ada:number
fdv_ada:number
ath_price_ada:number | null
ath_at:string | null
pct_from_ath:number | null
atl_price_ada:number | null
atl_at:string | null
pct_from_atl:number | null
price_change_10m:number
price_change_30m:number
price_change_1h:number
price_change_4h:number
price_change_6h:number
price_change_24h:number
price_change_7d:number
price_change_30d:number

Example Response

{
  "current_price_ada": 0.0037756234796006614,
  "market_cap_ada": 289650277.7862268,
  "fdv_ada": 289650277.7862268,
  "ath_price_ada": 0.0042,
  "ath_at": "2025-10-01T12:00:00Z",
  "pct_from_ath": -10.1,
  "atl_price_ada": 0.0008,
  "atl_at": "2024-06-01T08:00:00Z",
  "pct_from_atl": 371.95,
  "price_change_10m": 0.05,
  "price_change_30m": 0.12,
  "price_change_1h": 0.19,
  "price_change_4h": -0.08,
  "price_change_6h": -0.18,
  "price_change_24h": 14.25,
  "price_change_7d": 8.5,
  "price_change_30d": -12.3
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/price" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Returns the wallet address that minted this token, the creation timestamp, and platform flags for snek.fun or Chakra AI when applicable.

Cache Duration

1 hour

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Response Fields

asset_id:string
creator_address:string
created_at:string (ISO 8601 timestamp)
is_snekfun:boolean
is_chakra:boolean

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "creator_address": "addr1q9...",
  "created_at": "2023-04-26T13:40:13",
  "is_snekfun": false,
  "is_chakra": false
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/creator" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Returns the total count of unique wallet addresses currently holding this token.

Cache Duration

10 minutes

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Response Fields

asset_id:string
total_holders:number
holders_change_24h:number
holders_change_7d:number

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "total_holders": 44106,
  "holders_change_24h": 42,
  "holders_change_7d": 180
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/holder-count" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Sparse daily holder count time series from pre-aggregated snapshots. Rows exist only when the count changed; missing dates mean holders were unchanged.

Cache Duration

10 minutes

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Query Parameter: days

Recent calendar days to return, max 365 (default: 30)

Type: string
Required: No

Response Fields

asset_id:string
days:number
series:sparse array of { date, holder_count }; gaps mean unchanged
sparse:true when rows are change-only (missing dates = flat count)

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "days": 30,
  "sparse": true,
  "series": [
    { "date": "2025-11-01", "holder_count": 44000 },
    { "date": "2025-11-02", "holder_count": 44106 }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/holder-history" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Precomputed unique trader counts and money-flow netflow (buy minus sell ADA) across standard timeframes.

Cache Duration

1 minute

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Response Fields

asset_id:string
unique_traders_24h:number
unique_traders_7d:number
unique_traders_30d:number
unique_traders_1y:number
unique_traders_all:number
netflow_24h_ada:number
netflow_7d_ada:number
netflow_30d_ada:number
netflow_1y_ada:number

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "unique_traders_24h": 842,
  "unique_traders_7d": 4200,
  "unique_traders_30d": 9800,
  "unique_traders_1y": 45000,
  "unique_traders_all": 62000,
  "netflow_24h_ada": 125000.5,
  "netflow_7d_ada": -45000.2,
  "netflow_30d_ada": 210000.0,
  "netflow_1y_ada": 1500000.0
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/trader-stats" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Paginated list of the largest token holders with wallet addresses, balances, and percentage of total supply. Marks DEX liquidity pools and the creator address.

Cache Duration

10 minutes (page 1 only)

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Query Parameter: page

Page number (default: 1)

Type: string
Required: No

Query Parameter: limit

Items per page, max 100 (default: 100)

Type: string
Required: No

Response Fields

page:number
limit:number
holders:array of holder objects with address, balance, percentage, is_dex, platform, is_creator

Example Response

{
  "page": 1,
  "limit": 100,
  "holders": [
    {
      "address": "addr1...",
      "balance": 5000000,
      "percentage": 6.51,
      "is_dex": true,
      "platform": "minswap",
      "is_creator": false
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/top-holders" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Recent trades for a token: transaction hash, DEX, token and ADA amounts, price, buy/sell flag, buyer and seller addresses, and timestamp.

Cache Duration

30 seconds

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Query Parameter: limit

Number of trades to return, max 100 (default: 10)

Type: string
Required: No

Response Fields

asset_id:string
limit:number
trades:array of trade objects with tx_hash, platform, token_amount, ada_amount, price_ada, is_buy, user_address, block_time

Example Response

{
  "asset_id": "279c909f...",
  "limit": 10,
  "trades": [
    {
      "tx_hash": "abc123...",
      "platform": "minswap",
      "token_amount": 50000.0,
      "ada_amount": 6.17,
      "price_ada": 0.0001234,
      "is_buy": true,
      "user_address": "addr1...",
      "user_address": "addr1...",
      "block_time": "2025-11-01T12:00:00"
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/trades" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Most active buyer and seller addresses for a token within a timeframe (DEX addresses excluded), ranked by transaction volume.

Cache Duration

5 minutes

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Query Parameter: limit

Number of top traders to return, max 100 (default: 10)

Type: string
Required: No

Query Parameter: timeframe

Time period: 1h, 6h, 24h, 7d, 30d (default: 30d)

Type: string
Required: No

Response Fields

asset_id:string
ticker:string
timeframe:string
limit:number
top_buyers:array of trader objects
top_sellers:array of trader objects

Example Response

{
  "asset_id": "279c909f...",
  "ticker": "SNEK",
  "timeframe": "30d",
  "limit": 10,
  "top_buyers": [
    {
      "address": "addr1...",
      "trade_count": 25,
      "total_volume_ada": 5000.50
    }
  ],
  "top_sellers": [
    {
      "address": "addr1...",
      "trade_count": 18,
      "total_volume_ada": 3200.75
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/most-active-traders" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Supply distribution across four holder tiers: whales, large, medium, and small. Shows holder count and supply percentage per tier. DEX liquidity addresses and Byron-era script addresses (DdzFF) are excluded.

Cache Duration

15 minutes

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Response Fields

asset_id:string
total_holders:number
distribution:array of distribution buckets with range, holder_count, percentage

Example Response

{
  "asset_id": "279c909f...",
  "total_holders": 44106,
  "distribution": {
    "whales": {
      "min_percentage": 1.0,
      "holder_count": 15,
      "supply_percentage": 45.23
    },
    "large_holders": {
      "min_percentage": 0.1,
      "max_percentage": 1.0,
      "holder_count": 120,
      "supply_percentage": 25.67
    },
    "medium_holders": {
      "min_percentage": 0.01,
      "max_percentage": 0.1,
      "holder_count": 850,
      "supply_percentage": 15.45
    },
    "small_holders": {
      "max_percentage": 0.01,
      "holder_count": 43121,
      "supply_percentage": 13.65
    }
  }
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/holder-distribution" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Total trade count for a token over a custom lookback, broken down into buys and sells.

Cache Duration

10 seconds

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Query Parameter: hours

Lookback period in hours, 1–168 (default: 24)

Type: string
Required: No

Response Fields

asset_id:string
hours:number
requested_hours:number
trade_count:number
buy_count:number
sell_count:number
source:string

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "hours": 24,
  "requested_hours": 24,
  "trade_count": 1250,
  "buy_count": 680,
  "sell_count": 570,
  "source": "token_row"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/trade-count" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Trading volume for the requested timeframe (no price fields). Use `/trade-count` for counts, `/volume/daily` for daily volume, `/price/daily` for OHLC.

Cache Duration

10 seconds

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Query Parameter: timeframe

Time period: 1h, 6h, 24h, 7d, 30d (default: 24h)

Type: string
Required: No

Response Fields

asset_id:string
timeframe:string
volume_ada:number
buy_volume_ada:number
sell_volume_ada:number
trade_count:number
volume_change_24h:number
volume_change_7d:number
source:string

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "timeframe": "24h",
  "volume_ada": 1062476.50,
  "buy_volume_ada": 580123.25,
  "sell_volume_ada": 482353.25,
  "trade_count": 4200,
  "volume_change_24h": 15.3,
  "volume_change_7d": -8.2,
  "source": "token_row"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/volume" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Daily volume and trade counts by calendar day. Volume only; use `/price/daily` for OHLC candles.

Cache Duration

10 minutes

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Query Parameter: days

Calendar days ending today, 1-365 (default: 30)

Type: string
Required: No

Response Fields

asset_id:string
days:number
start_date:string (YYYY-MM-DD)
end_date:string (YYYY-MM-DD)
count:number
series:array of { date, volume_ada, transaction_count, buy_volume_ada, sell_volume_ada }

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "days": 30,
  "start_date": "2026-06-28",
  "end_date": "2026-07-27",
  "count": 1,
  "series": [
    {
      "date": "2026-07-27",
      "volume_ada": 1250000.0,
      "transaction_count": 4200,
      "buy_volume_ada": 640000.0,
      "sell_volume_ada": 610000.0
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/volume/daily" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Daily OHLC price candles by calendar day. Price only; use `/volume/daily` for volume series.

Cache Duration

10 minutes

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Query Parameter: days

Calendar days ending today, 1-365 (default: 30)

Type: string
Required: No

Response Fields

asset_id:string
days:number
start_date:string (YYYY-MM-DD)
end_date:string (YYYY-MM-DD)
count:number
series:array of { date, open_price_ada, high_price_ada, low_price_ada, close_price_ada }

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "days": 30,
  "start_date": "2026-06-28",
  "end_date": "2026-07-27",
  "count": 1,
  "series": [
    {
      "date": "2026-07-27",
      "open_price_ada": 0.0037,
      "high_price_ada": 0.0039,
      "low_price_ada": 0.0036,
      "close_price_ada": 0.00377
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/price/daily" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Holder concentration metrics including Gini coefficient (0-1), top holder percentages, and concentration risk level. DEX liquidity addresses and Byron-era script addresses (DdzFF) are excluded.

Cache Duration

15 minutes

Path Parameter: assetId

Token Asset ID (policy_id + asset_name_hex concatenated)

Type: string
Required: Yes

Response Fields

asset_id:string
total_holders:number
top_10_holders_percentage:number
top_50_holders_percentage:number
top_100_holders_percentage:number
gini_coefficient:number (0-1, where 0 = perfect equality, 1 = perfect inequality)
concentration_risk:string (low, medium, high, extreme)
largest_holder_percentage:number

Example Response

{
  "asset_id": "279c909f...",
  "total_holders": 15234,
  "top_10_holders_percentage": 45.2,
  "top_50_holders_percentage": 72.8,
  "top_100_holders_percentage": 85.3,
  "gini_coefficient": 0.82,
  "concentration_risk": "medium",
  "largest_holder_percentage": 8.5
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/holder-concentration" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Liquidity and 24-hour trading volume broken down by DEX. Includes token balance in pools, percentage of supply, pool count, and each DEX share of volume.

Cache Duration

10 minutes

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Response Fields

asset_id:string
liquidity_by_dex:array of DEX liquidity objects
volume_by_dex_24h:array of DEX volume objects

Example Response

{
  "asset_id": "279c909f...",
  "liquidity_by_dex": [
    {
      "platform": "minswap",
      "token_balance": 5000000000,
      "percentage": 6.51,
      "pool_count": 2
    },
    {
      "platform": "wingriders",
      "token_balance": 3500000000,
      "percentage": 4.56,
      "pool_count": 1
    }
  ],
  "volume_by_dex_24h": [
    {
      "platform": "minswap",
      "volume_ada": 12458.32,
      "trade_count": 820,
      "percentage_of_total": 68.5
    },
    {
      "platform": "wingriders",
      "volume_ada": 5721.18,
      "trade_count": 310,
      "percentage_of_total": 31.5
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/dex-breakdown" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Supply distribution metrics: total and circulating supply, supply locked in DEXs, creator holdings, and top holder concentrations, with percentages for each category.

Cache Duration

10 minutes

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Response Fields

asset_id:string
total_supply:number
circulating_supply:number
circulating_percentage:number
total_holders:number
supply_in_dex_pools:number
supply_in_dex_percentage:number
supply_held_by_creator:number
creator_percentage:number
top_10_non_dex_supply:number
top_10_non_dex_percentage:number

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "total_supply": 76800000000,
  "circulating_supply": 76800000000,
  "circulating_percentage": 100.0,
  "total_holders": 44106,
  "supply_in_dex_pools": 8500000000,
  "supply_in_dex_percentage": 11.07,
  "supply_held_by_creator": 0,
  "creator_percentage": 0.0,
  "top_10_non_dex_supply": 15234000000,
  "top_10_non_dex_percentage": 19.84
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/supply-metrics" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Token price at a specific timestamp from the closest trade. Returns the actual trade timestamp, price, volume, and time distance from the requested moment.

Cache Duration

10 seconds

Path Parameter: assetId

Token Asset ID (policy_id + asset_name_hex)

Type: string
Required: Yes

Query Parameter: timestamp

ISO 8601 timestamp (e.g., 2026-03-08T12:00:00Z)

Type: string
Required: Yes

Response Fields

asset_id:string
requested_timestamp:string (ISO 8601)
actual_timestamp:string (ISO 8601)
price_ada:number
volume_ada:number
time_difference_seconds:number

Example Response

{
  "asset_id": "279c909f...",
  "requested_timestamp": "2026-03-08T12:00:00Z",
  "actual_timestamp": "2026-03-08T12:02:15Z",
  "price_ada": 0.00377,
  "volume_ada": 123.45,
  "time_difference_seconds": 135
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/price-at" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Returns total DEX liquidity in ADA (sum of DEX-pool holder balances × price). For per-DEX liquidity split use `/dex-breakdown`. For volume use `/volume`.

Cache Duration

1 minute

Path Parameter: assetId

Token Asset ID (policy_id + asset_name_hex)

Type: string
Required: Yes

Response Fields

asset_id:string
ticker:string
liquidity_ada:number | null
market_cap_ada:number | null
liquidity_to_mcap_pct:number | null
note:string

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "ticker": "SNEK",
  "liquidity_ada": 1250000.5,
  "market_cap_ada": 289650277.8,
  "liquidity_to_mcap_pct": 0.4315,
  "note": "For per-DEX liquidity split use GET /token/{asset_id}/dex-breakdown"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/liquidity" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Top swap (token↔token) counterparties by ADA volume from pre-aggregated daily pair rolls. ADA pair volume is not stored here; use `/volume` for total trading volume.

Cache Duration

1 minute

Path Parameter: assetId

Token Asset ID (policy_id + asset_name_hex)

Type: string
Required: Yes

Query Parameter: days

Lookback calendar days, max 90 (default: 30)

Type: string
Required: No

Query Parameter: limit

Top pairs to return, max 50 (default: 20)

Type: string
Required: No

Response Fields

asset_id:string
ticker:string
days:number
limit:number
pairs:array of { other_asset_id, ticker, display_name, volume_ada, transaction_count }
note:string

Example Response

{
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "ticker": "SNEK",
  "days": 30,
  "limit": 20,
  "pairs": [
    {
      "other_asset_id": "f66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880…",
      "ticker": "iUSD",
      "display_name": "iUSD",
      "volume_ada": 42000.5,
      "transaction_count": 180
    }
  ],
  "note": "Swap (token↔token) volume only. ADA pair volume is not stored here; use /volume for total."
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/token/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b/pair-volume?days=30&limit=10" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Address Endpoints

Address holdings, trading history, and portfolio analytics

Description

Token balance for a wallet. Accepts stake1… or payment addr1…; resolves to stake when possible and aggregates holdings under that stake.

Cache Duration

10 seconds

Path Parameter: address

Cardano wallet address (bech32 format starting with addr1...)

Type: string
Required: Yes

Path Parameter: assetId

Token Asset ID (policy_id + asset_name_hex concatenated)

Type: string
Required: Yes

Response Fields

address:string
queried_address:string
asset_id:string
balance:number
percentage:number
is_dex:boolean
platform:string | null
last_updated:string (ISO 8601 timestamp)

Example Response

{
  "address": "stake1…",
  "queried_address": "addr1…",
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "balance": 1000000,
  "percentage": 1.30,
  "is_dex": false,
  "platform": null,
  "last_updated": "2025-11-01T12:00:00Z"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1q9yu938hdu3c2c79ny9r2uza5gdrvhkzf8nn58um4s5f8f6u8yrpyt4wj7t43j3alrejecn76k7uasdygmkvwakyk2aqcke767/token-balance/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Paginated list of tokens held by a wallet: metadata, balance, percentage of supply, current price, value in ADA, DEX pool status, and platform flags.

Cache Duration

10 seconds

Path Parameter: address

Cardano wallet address

Type: string
Required: Yes

Query Parameter: page

Page number (default: 1)

Type: string
Required: No

Query Parameter: limit

Items per page, max 100 (default: 100)

Type: string
Required: No

Response Fields

address:string
total_tokens:number
page:number
limit:number
portfolio:array of token holdings with asset_id, ticker, display_name, balance, percentage, current_price_ada, value_ada, is_dex, platform, is_snekfun, is_chakra

Example Response

{
  "address": "addr1...",
  "total_tokens": 5,
  "page": 1,
  "limit": 100,
  "portfolio": [
    {
      "asset_id": "279c909f...",
      "ticker": "SNEK",
      "display_name": "Snek",
      "balance": 1000000,
      "percentage": 1.30,
      "current_price_ada": 0.00377,
      "value_ada": 3770.0,
      "is_dex": false,
      "platform": null,
      "is_snekfun": false,
      "is_chakra": false
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1q9yu938hdu3c2c79ny9r2uza5gdrvhkzf8nn58um4s5f8f6u8yrpyt4wj7t43j3alrejecn76k7uasdygmkvwakyk2aqcke767/portfolio" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Paginated list of tokens minted by a wallet: asset ID, ticker, creation timestamp, and platform flags (snek.fun or Chakra AI).

Cache Duration

10 minutes

Path Parameter: address

Cardano wallet address of token creator

Type: string
Required: Yes

Query Parameter: page

Page number (default: 1)

Type: string
Required: No

Query Parameter: limit

Items per page, max 10 (default: 10)

Type: string
Required: No

Response Fields

address:string
total_tokens_created:number
page:number
limit:number
tokens:array of token objects with asset_id, ticker, display_name, created_at, is_snekfun, is_chakra

Example Response

{
  "address": "addr1…",
  "total_tokens_created": 3,
  "page": 1,
  "limit": 10,
  "tokens": [
    {
      "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
      "ticker": "SNEK",
      "display_name": "Snek",
      "created_at": "2023-04-26T13:40:13Z",
      "is_snekfun": false,
      "is_chakra": false
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1q9yu938hdu3c2c79ny9r2uza5gdrvhkzf8nn58um4s5f8f6u8yrpyt4wj7t43j3alrejecn76k7uasdygmkvwakyk2aqcke767/created-tokens" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Paginated list of wallet connections for an address: other addresses linked through shared transactions, sorted by connection strength.

Cache Duration

10 minutes

Path Parameter: address

Cardano wallet address (bech32 format)

Type: string
Required: Yes

Query Parameter: page

Page number (default: 1)

Type: string
Required: No

Query Parameter: limit

Results per page, max 100 (default: 20)

Type: string
Required: No

Response Fields

address:string
total_connections:number
page:number
limit:number
connections:array of connection objects with connected_address, inbound/outbound tx+value, tx_count, total_value_ada, first/last_interaction, peer_is_known_contract

Example Response

{
  "address": "stake1…",
  "total_connections": 45,
  "page": 1,
  "limit": 20,
  "connections": [
    {
      "connected_address": "addr1…",
      "inbound_tx_count": 8,
      "outbound_tx_count": 7,
      "inbound_value_ada": 12000.25,
      "outbound_value_ada": 13000.25,
      "tx_count": 15,
      "total_value_ada": 25000.50,
      "first_interaction": "2024-06-01T08:00:00Z",
      "last_interaction": "2025-12-01T10:30:00Z",
      "peer_is_known_contract": false
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1q9yu938hdu3c2c79ny9r2uza5gdrvhkzf8nn58um4s5f8f6u8yrpyt4wj7t43j3alrejecn76k7uasdygmkvwakyk2aqcke767/connections" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Most recent trade (buy or sell) for a wallet and token: transaction hash, DEX, trade type, token amount, ADA amount, price, and timestamp.

Cache Duration

10 seconds

Path Parameter: address

Cardano wallet address (bech32 format)

Type: string
Required: Yes

Path Parameter: assetId

Token Asset ID (policy_id + asset_name_hex)

Type: string
Required: Yes

Response Fields

address:string
asset_id:string
ticker:string
last_trade:object with tx_hash, platform, type, token_amount, ada_amount, price_ada, block_time

Example Response

{
  "address": "addr1...",
  "asset_id": "279c909f...",
  "ticker": "SNEK",
  "last_trade": {
    "tx_hash": "abc123...",
    "platform": "minswap",
    "type": "buy",
    "token_amount": 50000,
    "ada_amount": 6.17,
    "price_ada": 0.0001234,
    "block_time": "2026-03-08T12:00:00Z"
  }
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1q9yu938hdu3c2c79ny9r2uza5gdrvhkzf8nn58um4s5f8f6u8yrpyt4wj7t43j3alrejecn76k7uasdygmkvwakyk2aqcke767/last-trade/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Recent trading history for a wallet across all tokens.

Cache Duration

10 seconds

Path Parameter: address

Cardano wallet address (bech32 format)

Type: string
Required: Yes

Query Parameter: limit

Number of trades to return, max 100 (default: 100)

Type: string
Required: No

Response Fields

address:string
limit:number
total_trades:number
trades:array of trade objects with tx_hash, asset_id, ticker, platform, type, token_amount, ada_amount, price_ada, block_time

Example Response

{
  "address": "addr1...",
  "limit": 100,
  "total_trades": 45,
  "trades": [
    {
      "tx_hash": "abc123...",
      "asset_id": "279c909f...",
      "ticker": "SNEK",
      "platform": "minswap",
      "type": "buy",
      "token_amount": 50000,
      "ada_amount": 188.5,
      "price_ada": 0.00377,
      "block_time": "2026-03-08T12:00:00Z"
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1q9yu938hdu3c2c79ny9r2uza5gdrvhkzf8nn58um4s5f8f6u8yrpyt4wj7t43j3alrejecn76k7uasdygmkvwakyk2aqcke767/trades" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Profit and loss for a wallet on a specific token: bought/sold amounts, average buy/sell prices, realized PnL, unrealized PnL, and ROI percentage.

Cache Duration

30 seconds

Path Parameter: address

Cardano wallet address (bech32 format)

Type: string
Required: Yes

Path Parameter: assetId

Token Asset ID (policy_id + asset_name_hex)

Type: string
Required: Yes

Response Fields

address:string
asset_id:string
ticker:string
total_bought:number
total_sold:number
avg_buy_price_ada:number
avg_sell_price_ada:number
realized_pnl_ada:number
unrealized_pnl_ada:number
total_pnl_ada:number
roi_percentage:number
source:string

Example Response

{
  "address": "stake1…",
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "ticker": "SNEK",
  "total_bought": 1000000,
  "total_sold": 500000,
  "avg_buy_price_ada": 0.00350,
  "avg_sell_price_ada": 0.00420,
  "realized_pnl_ada": 350.0,
  "unrealized_pnl_ada": 135.0,
  "total_pnl_ada": 485.0,
  "roi_percentage": 13.86,
  "source": "token_stake_trader_stats"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1q9yu938hdu3c2c79ny9r2uza5gdrvhkzf8nn58um4s5f8f6u8yrpyt4wj7t43j3alrejecn76k7uasdygmkvwakyk2aqcke767/pnl/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Portfolio performance over a timeframe: current vs previous value, percentage change, and best/worst performing tokens. Costs 2 credits per request.

Cache Duration

30 seconds

Path Parameter: address

Cardano wallet address (bech32 format)

Type: string
Required: Yes

Query Parameter: timeframe

Time period: 1h, 24h, 7d, 30d (default: 24h)

Type: string
Required: No

Response Fields

address:string
timeframe:string
current_value_ada:number
previous_value_ada:number
value_change_ada:number
value_change_percentage:number
best_performer:object with asset_id, ticker, price_change_percentage
worst_performer:object with asset_id, ticker, price_change_percentage
token_breakdown:array of token performance objects

Example Response

{
  "address": "addr1...",
  "timeframe": "24h",
  "current_value_ada": 1250.75,
  "previous_value_ada": 1180.50,
  "value_change_ada": 70.25,
  "value_change_percentage": 5.95,
  "best_performer": { "asset_id": "279c909f...", "ticker": "SNEK", "price_change_percentage": 14.25 },
  "worst_performer": { "asset_id": "fe7c786a...", "ticker": "USDA", "price_change_percentage": -2.1 },
  "token_breakdown": [{ "asset_id": "279c909f...", "ticker": "SNEK", "balance": 1000000, "current_value_ada": 3770.0, "value_change_percentage": 14.25 }]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1q9yu938hdu3c2c79ny9r2uza5gdrvhkzf8nn58um4s5f8f6u8yrpyt4wj7t43j3alrejecn76k7uasdygmkvwakyk2aqcke767/portfolio/performance" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Activity summary for a wallet: trading statistics, portfolio diversity, and related activity metrics.

Cache Duration

30 seconds

Path Parameter: address

Cardano wallet address (bech32 format)

Type: string
Required: Yes

Response Fields

address:string
wallet_tier_id:string | null
total_tokens_held:number | null
total_trades:number
total_volume_ada:number
buy_trades:number
sell_trades:number
avg_trade_size_ada:number
most_traded_token:object | null
largest_holding:object | null
first_trade_date:string (ISO 8601) | null
last_trade_date:string (ISO 8601) | null
trading_frequency:number (trades per day)

Example Response

{
  "address": "stake1…",
  "wallet_tier_id": "whale",
  "total_tokens_held": 12,
  "total_trades": 156,
  "total_volume_ada": 45230.75,
  "buy_trades": 89,
  "sell_trades": 67,
  "avg_trade_size_ada": 290.07,
  "most_traded_token": {
    "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
    "ticker": "SNEK",
    "trade_count": 23
  },
  "largest_holding": {
    "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
    "ticker": "SNEK",
    "balance": 1000000,
    "value_ada": 3770.0
  },
  "first_trade_date": "2026-03-07T09:30:00Z",
  "last_trade_date": "2026-03-08T14:22:00Z",
  "trading_frequency": 2.3
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1q9yu938hdu3c2c79ny9r2uza5gdrvhkzf8nn58um4s5f8f6u8yrpyt4wj7t43j3alrejecn76k7uasdygmkvwakyk2aqcke767/activity/summary" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Daily buy/sell netflow series for a wallet from the stake netflow rollup. Prefer passing a stake1… address; payment addresses are resolved to stake when possible.

Cache Duration

1 minute

Path Parameter: address

Cardano stake or payment address

Type: string
Required: Yes

Query Parameter: days

Calendar days, max 365 (default: 30)

Type: string
Required: No

Response Fields

address:string
stake_address:string | null
days:number
series:array of { date, buy_volume_ada, sell_volume_ada, netflow_ada }
totals:object

Example Response

{
  "address": "addr1…",
  "stake_address": "stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja",
  "days": 30,
  "series": [
    { "date": "2026-07-01", "buy_volume_ada": 1200, "sell_volume_ada": 800, "netflow_ada": 400 }
  ],
  "totals": { "buy_volume_ada": 25000, "sell_volume_ada": 18000, "netflow_ada": 7000 }
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1qyour_address_here/netflow?days=30" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Daily buy/sell netflow for one wallet and one token (stake-keyed rollup).

Cache Duration

1 minute

Path Parameter: address

Cardano stake or payment address

Type: string
Required: Yes

Path Parameter: assetId

Token Asset ID

Type: string
Required: Yes

Query Parameter: days

Calendar days, max 365 (default: 30)

Type: string
Required: No

Response Fields

address:string
stake_address:string | null
asset_id:string
ticker:string
days:number
series:array of { date, buy_volume_ada, sell_volume_ada, netflow_ada, volume_ada, trade_count }
totals:object with buy/sell/netflow/volume/trade_count

Example Response

{
  "address": "addr1…",
  "stake_address": "stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja",
  "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
  "ticker": "SNEK",
  "days": 30,
  "series": [
    {
      "date": "2026-07-01",
      "buy_volume_ada": 200,
      "sell_volume_ada": 50,
      "netflow_ada": 150,
      "volume_ada": 250,
      "trade_count": 3
    }
  ],
  "totals": {
    "buy_volume_ada": 5000,
    "sell_volume_ada": 2000,
    "netflow_ada": 3000,
    "volume_ada": 7000,
    "trade_count": 42
  }
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1qyour_address_here/token-netflow/279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b?days=30" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Precomputed trading profile for a stake: volumes, DEX mix, portfolio value, liquid ADA, and optional PnL summary. Does not include DeFi positions; use `/defi/summary` for that.

Cache Duration

1 minute

Path Parameter: address

Cardano stake or payment address

Type: string
Required: Yes

Response Fields

address:string
stake_address:string | null
found:boolean
total_trades:number
buy_trades:number
sell_trades:number
total_volume_ada:number
buy_volume_ada:number
sell_volume_ada:number
unique_tokens_traded:number
avg_trade_size_ada:number
first_trade_time:string | null
last_trade_time:string | null
dex_distribution:array
portfolio_value_ada:number
liquid_ada_ada:number
wallet_tier_id:string | null
pnl_summary:object | null

Example Response

{
  "address": "addr1…",
  "stake_address": "stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja",
  "found": true,
  "total_trades": 1520,
  "buy_trades": 890,
  "sell_trades": 630,
  "total_volume_ada": 890000.5,
  "buy_volume_ada": 520000.0,
  "sell_volume_ada": 370000.5,
  "unique_tokens_traded": 48,
  "avg_trade_size_ada": 585.0,
  "first_trade_time": "2024-01-15T09:30:00Z",
  "last_trade_time": "2026-07-26T18:22:00Z",
  "dex_distribution": [
    { "platform": "Minswap", "volume_ada": 420000, "trade_count": 800 }
  ],
  "portfolio_value_ada": 42000,
  "liquid_ada_ada": 1500,
  "wallet_tier_id": "whale",
  "pnl_summary": null
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/addr1qyour_address_here/profile-stats" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Market Endpoints

Market-wide data, sentiment, and token discovery

Description

Browse and filter tokens with flexible sorting. Paginated results include fields relevant to the sort criteria, always with asset_id, ticker, current_price_ada, and platform flags.

Cache Duration

1 minute

Query Parameter: page

Page number (default: 1)

Type: string
Required: No

Query Parameter: limit

Results per page, max 100 (default: 10)

Type: string
Required: No

Query Parameter: sort_by

Sort field: market_cap_ada, volume_24h_ada, volume_7d_ada, volume_30d_ada, price_change_1h, price_change_6h, price_change_24h, price_change_7d, trade_count, total_holders, created_at (default: market_cap_ada)

Type: string
Required: No

Query Parameter: order

Sort order: asc or desc (default: desc)

Type: string
Required: No

Query Parameter: verified_only

Only verified tokens (default: false)

Type: string
Required: No

Query Parameter: min_volume

Minimum 24h volume in ADA (default: 0)

Type: string
Required: No

Response Fields

page:number
limit:number
tokens:array of token objects with asset_id, ticker, current_price_ada, is_snekfun, is_chakra, and sort-specific fields

Example Response

{
  "page": 1,
  "limit": 10,
  "tokens": [
    {
      "asset_id": "279c909f...",
      "ticker": "SNEK",
      "current_price_ada": 0.00012,
      "market_cap_ada": 9216,
      "is_snekfun": false,
      "is_chakra": false
    }
  ]
}

Fields returned depend on the sort_by parameter.
Example: sort_by=volume_24h_ada returns volume_24h_ada field.
Example: sort_by=price_change_24h returns price_change_24h field.

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/tokens" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Current CNT market sentiment index (0-100) with classification. Component weights: momentum 25%, volume 25%, breadth 20%, buy_pressure 15%, consistency 10%, dominance 5%.

Cache Duration

1 minute

No Parameters Required

This endpoint does not require path or query parameters.

Response Fields

index:number (0-100)
label:string (Extreme Fear, Fear, Slightly Fearful, Neutral, Slightly Greedy, Greed, Extreme Greed)
components:object with momentum, volume, buy_pressure, breadth, consistency, dominance
updated_at:string (ISO 8601 timestamp)

Example Response

{
  "index": 45,
  "label": "Slightly Fearful",
  "components": {
    "momentum": 48,
    "volume": 35,
    "buy_pressure": 52,
    "breadth": 42,
    "consistency": 55,
    "dominance": 60
  },
  "updated_at": "2025-11-01T12:00:00Z"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/fear-greed" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Historical Fear & Greed snapshots for charting (about hourly resolution).

Cache Duration

5 minutes

Query Parameter: days

Number of days of history to return, 1-365 (default: 30)

Type: string
Required: No

Response Fields

count:number
days:number
history:array of snapshot objects with index, label, components, market_context, timestamp

Example Response

{
  "count": 720,
  "days": 30,
  "history": [
    {
      "index": 45,
      "label": "Slightly Fearful",
      "components": { "momentum": 48, "volume": 35, "buy_pressure": 52, "breadth": 42, "consistency": 55, "dominance": 60 },
      "market_context": { "total_volume_24h": 1234567.89, "active_tokens": 150, "total_trades_24h": 5000 },
      "timestamp": "2026-03-08T12:00:00Z"
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/fear-greed/history" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Largest trades by ADA volume across all tokens for a timeframe, split into highest buys and highest sells. Includes transaction details, token info, DEX, amounts, prices, trader addresses, and timestamps.

Cache Duration

30 seconds

Query Parameter: timeframe

Time period: 1h, 6h, 24h, 7d, 30d (default: 24h)

Type: string
Required: No

Query Parameter: limit

Number of trades to return per category (default: 10)

Type: string
Required: No

Response Fields

timeframe:string
limit:number
highest_buys:array of trade objects with tx_hash, asset_id, ticker, display_name, platform, token_amount, ada_amount, price_ada, user_address, block_time
highest_sells:array of trade objects with tx_hash, asset_id, ticker, display_name, platform, token_amount, ada_amount, price_ada, user_address, block_time

Example Response

{
  "timeframe": "24h",
  "limit": 10,
  "highest_buys": [
    {
      "tx_hash": "abc123...",
      "asset_id": "279c909f...",
      "ticker": "SNEK",
      "display_name": "Snek",
      "platform": "minswap",
      "token_amount": 50000000,
      "ada_amount": 188500.0,
      "price_ada": 0.00377,
      "user_address": "addr1...",
      "block_time": "2025-11-01T12:00:00Z"
    }
  ],
  "highest_sells": [
    {
      "tx_hash": "def456...",
      "asset_id": "279c909f...",
      "ticker": "SNEK",
      "display_name": "Snek",
      "platform": "minswap",
      "token_amount": 45000000,
      "ada_amount": 169650.0,
      "price_ada": 0.00377,
      "user_address": "addr1...",
      "block_time": "2025-11-01T11:30:00Z"
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/highest-trades" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Price data for multiple tokens in one request (max 10). Accepts a JSON array of asset IDs and returns current prices and price changes across timeframes. Does not include market cap or volume.

Cache Duration

10 seconds

Body Parameter: body

JSON array of asset IDs (max 10). Example: ["assetId1", "assetId2", ...]

Type: string
Required: Yes

Response Fields

[assetId]:object with current_price_ada, price_change_10m, price_change_30m, price_change_1h, price_change_4h, price_change_6h, price_change_24h, price_change_7d, price_change_30d

Example Response

{
  "279c909f...534e454b": {
    "current_price_ada": 0.00377,
    "price_change_10m": 0.05,
    "price_change_30m": 0.12,
    "price_change_1h": 0.19,
    "price_change_4h": -0.08,
    "price_change_6h": -0.18,
    "price_change_24h": 14.25,
    "price_change_7d": 8.5,
    "price_change_30d": -12.3
  }
}

Does not include market_cap_ada or volume_24h_ada.
Maximum 10 asset IDs per request.

Example Request

curl -X POST "https://api.adabubbles.net/api/v1/tokens/prices" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '["asset_id_1", "asset_id_2"]'

Description

Live feed of recent trades across DEXes and tokens. Filter by DEX, timeframe, and minimum volume. Includes transaction details, token info, amounts, prices, trader addresses, and timestamps.

Cache Duration

30 seconds

Query Parameter: dex

Filter by DEX: minswap, sundaeswap, wingriders, muesliswap, vyfinance, splashpool, indigo, lenfi, surflending, cswap, chadswap (omit for all)

Type: string
Required: No

Query Parameter: timeframe

Time period: 1h, 6h, 24h, 7d, 30d (default: 24h)

Type: string
Required: No

Query Parameter: limit

Number of trades to return, max 100 (default: 100)

Type: string
Required: No

Query Parameter: min_volume

Minimum ADA volume threshold (optional)

Type: string
Required: No

Response Fields

dex_filter:string | null
timeframe:string
limit:number
min_volume:number | null
total_trades:number
trades:array of trade objects with tx_hash, asset_id, ticker, platform, token_amount, ada_amount, price_ada, is_buy, user_address, block_time

Example Response

{
  "dex_filter": "minswap",
  "timeframe": "24h",
  "limit": 10,
  "min_volume": null,
  "total_trades": 10,
  "trades": [
    {
      "tx_hash": "abc123...",
      "asset_id": "279c909f...534e454b",
      "ticker": "SNEK",
      "platform": "minswap",
      "token_amount": 1000000,
      "ada_amount": 123.45,
      "price_ada": 0.00012345,
      "is_buy": true,
      "user_address": "addr1...",
      "user_address": "addr1...",
      "block_time": "2025-11-01T12:00:00Z"
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/dex/trades" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Market overview aggregates: total tokens, volume, market cap, trade count, and active DEXes.

Cache Duration

1 minute

No Parameters Required

This endpoint does not require path or query parameters.

Response Fields

total_tokens:number
total_volume_24h_ada:number
total_market_cap_ada:number
total_holders:number
avg_price_change_24h:number
trades_24h:number
active_dexes:number
updated_at:string (ISO 8601 timestamp)

Example Response

{
  "total_tokens": 551,
  "total_volume_24h_ada": 4650000.00,
  "total_market_cap_ada": 332000000.00,
  "total_holders": 285000,
  "avg_price_change_24h": 2.35,
  "trades_24h": 15420,
  "active_dexes": 8,
  "updated_at": "2025-12-01T12:00:00Z"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/market/stats" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Whole-market daily totals: volume, trade count, buy/sell volume, unique tokens and traders, and average trade size. One point per calendar day, oldest first.

Cache Duration

10 minutes

Query Parameter: days

Calendar days ending today, 1-365 (default: 30)

Type: string
Required: No

Response Fields

days:number
start_date:string (YYYY-MM-DD)
end_date:string (YYYY-MM-DD)
count:number
series:array of daily rows (date, total_volume_ada, transaction_count, buy_volume_ada, sell_volume_ada, unique_tokens_traded, unique_traders, avg_trade_size_ada)

Example Response

{
  "days": 30,
  "start_date": "2026-04-10",
  "end_date": "2026-05-09",
  "count": 1,
  "series": [
    {
      "date": "2026-05-09",
      "total_volume_ada": 4650000.0,
      "transaction_count": 15420,
      "buy_volume_ada": 2400000.0,
      "sell_volume_ada": 2250000.0,
      "unique_tokens_traded": 412,
      "unique_traders": 8520,
      "avg_trade_size_ada": 301.5
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/market/daily-summary" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Trading volume breakdown by DEX: volume, trade count, and market share for each platform over the timeframe.

Cache Duration

1 minute

Query Parameter: timeframe

Time period: 1h, 6h, 24h, 7d, 30d (default: 24h)

Type: string
Required: No

Response Fields

timeframe:string
total_volume_ada:number
total_trades:number
dex_breakdown:array of DEX objects with platform, volume_ada, trade_count, buy_volume_ada, sell_volume_ada, percentage_of_total

Example Response

{
  "timeframe": "24h",
  "total_volume_ada": 4650000.00,
  "total_trades": 15420,
  "dex_breakdown": [
    {
      "platform": "Minswap",
      "volume_ada": 2500000.00,
      "trade_count": 8500,
      "buy_volume_ada": 1350000.00,
      "sell_volume_ada": 1150000.00,
      "percentage_of_total": 53.76
    },
    {
      "platform": "SundaeSwap",
      "volume_ada": 1200000.00,
      "trade_count": 4200,
      "buy_volume_ada": 650000.00,
      "sell_volume_ada": 550000.00,
      "percentage_of_total": 25.81
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/dex/volume" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Stake-level hot wallets leaderboard from precomputed profile stats. mode=volume ranks by lifetime total_volume_ada; mode=pnl ranks by realized_pnl_ada. Ranking follows mode (a sort query is accepted but ignored). Does not include raw address transaction history.

Cache Duration

1 minute

Query Parameter: mode

volume | pnl (default volume). Controls ranking field.

Type: string
Required: No

Query Parameter: limit

Max rows (default 25, max 100)

Type: string
Required: No

Query Parameter: offset

Pagination offset

Type: string
Required: No

Query Parameter: min_total_volume_ada

Minimum lifetime volume filter (default 500)

Type: string
Required: No

Response Fields

mode:string
sort:string (total_volume_ada | realized_pnl_ada; mirrors mode)
limit:number
offset:number
total_count:number
generated_at:number (unix timestamp)
wallets:array of wallet rows (stake_address, volumes, pnl, portfolio_value_ada, …)

Example Response

{
  "mode": "volume",
  "sort": "total_volume_ada",
  "limit": 25,
  "offset": 0,
  "total_count": 500,
  "generated_at": 1722074400,
  "wallets": [
    {
      "stake_address": "stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja",
      "display_address": "stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja",
      "total_trades": 4200,
      "total_volume_ada": 5200000,
      "volume_24h_ada": 125000,
      "volume_7d_ada": 680000,
      "volume_30d_ada": 2100000,
      "realized_pnl_ada": 42000,
      "unique_tokens_traded": 85,
      "portfolio_value_ada": 890000,
      "primary_handle": null,
      "handle_image_url": null
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/market/hot-wallets?mode=volume&limit=25" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Market money-flow aggregates. Default section=summary returns totals only. Use section=series, tier, tokens, or stables for charts and leaderboards (section=all is not available). Optional wallet_tier filter.

Cache Duration

5–15 minutes

Query Parameter: timeframe

1d | 7d | 30d | 90d | 180d | 1y | all (default 7d)

Type: string
Required: No

Query Parameter: section

summary | series | tier | tokens | stables (default summary; all rejected)

Type: string
Required: No

Query Parameter: wallet_tier

all | whale | dolphin | fish | shrimp | …

Type: string
Required: No

Response Fields

timeframe:string
section:string
wallet_tier:string
generated_at:string | null
total_buy_volume_ada:number
total_sell_volume_ada:number
total_net_flow_ada:number
tier_flow_basis:string (echoes timeframe)

Example Response

{
  "timeframe": "7d",
  "section": "summary",
  "wallet_tier": "all",
  "generated_at": "2026-07-27T12:00:00Z",
  "total_buy_volume_ada": 12500000,
  "total_sell_volume_ada": 11800000,
  "total_net_flow_ada": 700000,
  "tier_flow_basis": "7d"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/market/money-flow?timeframe=7d&section=summary" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Governance Endpoints

DRep leaderboards, proposal stats, treasury & vote analytics

Description

Governance hub KPIs: active and closing proposals, votes on active proposals, treasury balance vs requested, active DReps, voting power, and constitutional committee quorum.

Cache Duration

2 minutes

Query Parameter: current_epoch

Epoch for closing-soon windows (defaults from chain snapshot)

Type: string
Required: No

Response Fields

active_proposals:number
total_proposals:number
closing_within_1_epoch:number
closing_within_2_epochs:number
closing_within_3_epochs:number
votes_on_active:number
votes_synced_24h:number
treasury_requests_active:number
treasury_balance_ada:number | null
treasury_requested_ada:number
treasury_remaining_if_all_pass_ada:number | null
active_dreps:number
voting_power_ada:number
cc_members:number | null
cc_quorum_num:number | null
cc_quorum_den:number | null
current_epoch:number | null

Example Response

{
  "active_proposals": 12,
  "total_proposals": 48,
  "closing_within_1_epoch": 2,
  "closing_within_2_epochs": 4,
  "closing_within_3_epochs": 5,
  "votes_on_active": 1860,
  "votes_synced_24h": 42,
  "treasury_requests_active": 3,
  "treasury_requested_ada": 2500000,
  "treasury_balance_ada": 1250000000,
  "treasury_remaining_if_all_pass_ada": 1247500000,
  "active_dreps": 980,
  "voting_power_ada": 4200000000,
  "cc_members": 7,
  "cc_quorum_num": 5,
  "cc_quorum_den": 7,
  "current_epoch": 540
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/governance/stats" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

List governance proposals sorted by proposed epoch, expiry, treasury requested, turnout, or yes-power. Optional closing_within_epochs filter. Action and motivation text are omitted; use proposal detail for those fields.

Cache Duration

10 minutes

Query Parameter: active_only

Only active proposals (default false)

Type: string
Required: No

Query Parameter: sort_by

proposed | expiry | treasury | turnout | yes_power (default: proposed)

Type: string
Required: No

Query Parameter: closing_within_epochs

Only active proposals expiring within N epochs

Type: string
Required: No

Query Parameter: limit

Max results, 1–200 (default 50)

Type: string
Required: No

Query Parameter: current_epoch

Epoch used for closing_within_epochs window (defaults from chain snapshot)

Type: string
Required: No

Response Fields

count:number
proposals:array of proposal summary objects

Example Response

{
  "count": 2,
  "proposals": [
    {
      "proposal_id": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893#0",
      "governance_type": "treasury_withdrawals",
      "title": "Fund Cardano Open Source",
      "treasury_requested_ada": 1500000,
      "expires_epoch": 542,
      "vote_yes_power_ada": 820000000,
      "vote_no_power_ada": 120000000,
      "vote_abstain_power_ada": 45000000,
      "vote_yes_count": 210,
      "vote_no_count": 40,
      "vote_abstain_count": 15,
      "is_active": true
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/governance/proposals?sort_by=treasury&active_only=true&limit=20" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Active proposals expiring within N epochs, sorted by soonest expiry.

Cache Duration

2 minutes

Query Parameter: within_epochs

Epochs until expiry (default 3, max 10)

Type: string
Required: No

Query Parameter: limit

Max results (default 50)

Type: string
Required: No

Response Fields

current_epoch:number | null
within_epochs:number
count:number
proposals:array

Example Response

{
  "current_epoch": 540,
  "within_epochs": 3,
  "count": 1,
  "proposals": [
    {
      "proposal_id": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893#0",
      "title": "Info action: parameter change",
      "expires_epoch": 541,
      "is_active": true,
      "treasury_requested_ada": 0
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/governance/proposals/closing-soon?within_epochs=3&limit=20" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Full proposal detail including CIP text fields, action JSON, and vote power aggregates. Path uses tx_hash and cert_index (not `tx#idx`) so proxies cannot strip a `#` fragment. Pass include_votes=true for the full voter list, or use `/voters` for top voters.

Cache Duration

10 minutes

Path Parameter: txHash

64-char proposal transaction hash

Type: string
Required: Yes

Path Parameter: certIndex

Certificate index (usually 0)

Type: string
Required: Yes

Query Parameter: include_votes

Include full vote list (default false)

Type: string
Required: No

Response Fields

proposal_id:string
governance_type:string | null
title:string | null
abstract:string | null
treasury_requested_ada:number
vote_yes_power_ada:number
vote_no_power_ada:number
vote_abstain_power_ada:number
is_active:boolean

Example Response

{
  "proposal_id": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893#0",
  "governance_type": "treasury_withdrawals",
  "title": "Fund Cardano Open Source",
  "abstract": "Request treasury funds for tooling…",
  "treasury_requested_ada": 1500000,
  "vote_yes_power_ada": 820000000,
  "vote_no_power_ada": 120000000,
  "vote_abstain_power_ada": 45000000,
  "is_active": true
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/governance/proposals/48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893/0" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Ranked voters on one proposal by voting power. Filter by vote (yes|no|abstain) and role (drep|spo|constitutionalCommittee). Path uses tx_hash and cert_index; do not put `#` in the URL.

Cache Duration

2 minutes

Path Parameter: txHash

64-char proposal transaction hash

Type: string
Required: Yes

Path Parameter: certIndex

Certificate index (usually 0)

Type: string
Required: Yes

Query Parameter: vote

yes | no | abstain

Type: string
Required: No

Query Parameter: role

drep | spo | constitutionalCommittee

Type: string
Required: No

Query Parameter: limit

Max voters (default 25, max 100)

Type: string
Required: No

Response Fields

proposal_id:string
tx_hash:string
cert_index:number
vote:string | null
role:string | null
count:number
voters:array of { voter_role, voter_id, vote, voting_power_ada, voting_power_lovelace, block_time, tx_hash }

Example Response

{
  "proposal_id": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893#0",
  "tx_hash": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893",
  "cert_index": 0,
  "vote": "yes",
  "role": "drep",
  "count": 2,
  "voters": [
    {
      "voter_role": "drep",
      "voter_id": "drep1ygr9tuapcanc3kpeyy4dc3vmrz9cfe5q7v9wj3x9j0ap3tswtre9j",
      "vote": "yes",
      "voting_power_ada": 45000000,
      "voting_power_lovelace": 45000000000000,
      "block_time": 1719900000,
      "tx_hash": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893"
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/governance/proposals/48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893/0/voters?vote=yes&role=drep&limit=25" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Recent on-chain governance votes, enriched with proposal title and DRep display fields when available.

Cache Duration

1 minute

Query Parameter: limit

Max votes (default 40, max 200)

Type: string
Required: No

Query Parameter: drep_only

Only DRep votes (default true)

Type: string
Required: No

Response Fields

count:number
votes:array of { proposal_id, tx_hash, voter_role, voter_id, vote, voting_power_ada, voting_power_lovelace, block_time, title, governance_type, is_active, drep? }

Example Response

{
  "count": 1,
  "votes": [
    {
      "proposal_id": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893#0",
      "tx_hash": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893",
      "voter_role": "drep",
      "voter_id": "drep1ygr9tuapcanc3kpeyy4dc3vmrz9cfe5q7v9wj3x9j0ap3tswtre9j",
      "vote": "yes",
      "voting_power_ada": 1200000,
      "voting_power_lovelace": 1200000000000,
      "block_time": 1719900000,
      "title": "Fund Cardano Open Source",
      "governance_type": "treasury_withdrawals",
      "is_active": true,
      "drep": {
        "drep_id": "drep1ygr9tuapcanc3kpeyy4dc3vmrz9cfe5q7v9wj3x9j0ap3tswtre9j",
        "given_name": "Example DRep",
        "voting_power_ada": 45000000,
        "has_image": true,
        "image_version": 1719000000
      }
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/governance/votes/recent" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

DRep leaderboard with vote-mix stats. sort_by covers voting_power, delegators, votes, votes_yes, votes_no, votes_abstain, participation, and name. List fields are summary-level; use DRep detail for CIP-119 bios and homepage.

Cache Duration

1 hour

Query Parameter: sort_by

voting_power | delegators | votes | votes_yes | votes_no | votes_abstain | participation | name

Type: string
Required: No

Query Parameter: limit

Max results (default 50, max 200)

Type: string
Required: No

Query Parameter: search

Filter by name / drep id / hex

Type: string
Required: No

Query Parameter: include_inactive

Include retired/expired (default false)

Type: string
Required: No

Response Fields

count:number
dreps:array of drep summary objects

Example Response

{
  "count": 1,
  "dreps": [
    {
      "drep_id": "drep1ygr9tuapcanc3kpeyy4dc3vmrz9cfe5q7v9wj3x9j0ap3tswtre9j",
      "given_name": "Example DRep",
      "homepage": "https://example.com",
      "voting_power_ada": 45000000,
      "delegators_count": 1200,
      "votes_cast": 38,
      "votes_yes": 30,
      "votes_no": 5,
      "votes_abstain": 3,
      "participation_pct": 79.17,
      "has_image": true,
      "image_version": 1719000000
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/dreps?sort_by=voting_power&limit=25" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Full DRep profile: CIP-119 name and bios, homepage, deposit, voting power, vote mix, and has_image / image_version. Logos are available at /api/static/drep-images/{drep_id}.

Cache Duration

1 hour

Path Parameter: drepId

drep1… bech32 id

Type: string
Required: Yes

Response Fields

drep_id:string
given_name:string
objectives:string | null
homepage:string | null
voting_power_ada:number
delegators_count:number
votes_yes:number
votes_no:number
votes_abstain:number
participation_pct:number | null
has_image:boolean
image_version:number | null

Example Response

{
  "drep_id": "drep1ygr9tuapcanc3kpeyy4dc3vmrz9cfe5q7v9wj3x9j0ap3tswtre9j",
  "given_name": "Example DRep",
  "objectives": "Support open-source Cardano tooling…",
  "homepage": "https://example.com",
  "voting_power_ada": 45000000,
  "delegators_count": 1200,
  "votes_yes": 30,
  "votes_no": 5,
  "votes_abstain": 3,
  "participation_pct": 79.17,
  "has_image": true,
  "image_version": 1719000000
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/dreps/drep1ygr9tuapcanc3kpeyy4dc3vmrz9cfe5q7v9wj3x9j0ap3tswtre9j" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Recent votes cast by a DRep on governance proposals.

Cache Duration

5 minutes

Path Parameter: drepId

drep1… bech32 id

Type: string
Required: Yes

Query Parameter: limit

Max votes (default 50, max 200)

Type: string
Required: No

Response Fields

drep_id:string
count:number
votes:array

Example Response

{
  "drep_id": "drep1ygr9tuapcanc3kpeyy4dc3vmrz9cfe5q7v9wj3x9j0ap3tswtre9j",
  "count": 1,
  "votes": [
    {
      "proposal_id": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893#0",
      "vote": "yes",
      "voting_power_ada": 45000000,
      "block_time": 1719900000
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/dreps/drep1ygr9tuapcanc3kpeyy4dc3vmrz9cfe5q7v9wj3x9j0ap3tswtre9j/votes" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Stake Pool Endpoints

Pool network stats, ROS/performance, retiring pools, SPO votes

Description

Network-level stake pool KPIs from the cached pool snapshot + epoch parameters. Not a full pool directory dump.

Cache Duration

1 hour

No Parameters Required

This endpoint does not require path or query parameters.

Response Fields

current_epoch:number | null
active_pools:number
total_live_stake_ada:number
avg_saturation:number | null
total_delegators:number
blocks_epoch:number | null
retiring_pools:number
network_active_stake_ada:number | null
n_opt:number | null

Example Response

{
  "current_epoch": 540,
  "active_pools": 2850,
  "total_live_stake_ada": 21000000000,
  "avg_saturation": 0.72,
  "total_delegators": 1250000,
  "blocks_epoch": 21000,
  "retiring_pools": 14,
  "network_active_stake_ada": 22000000000,
  "n_opt": 500
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/pools/stats" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Stake pool leaderboard with ROS and lookback change %. sort_by: live_stake, active_stake, delegators, saturation, ros, growth_30e, ticker.

Cache Duration

1 day

Query Parameter: sort_by

live_stake | active_stake | delegators | saturation | ros | growth_30e | ticker

Type: string
Required: No

Query Parameter: limit

Max results (default 50, max 200)

Type: string
Required: No

Query Parameter: search

Filter by ticker / name / pool id

Type: string
Required: No

Response Fields

count:number
pools:array

Example Response

{
  "count": 1,
  "pools": [
    {
      "pool_id": "pool1gaztx97t53k47fr7282d70tje8323vvzx8pshgts30t9krw62tm",
      "ticker": "AAA",
      "name": "Example Pool",
      "live_stake_ada": 65000000,
      "saturation_pct": 85.2,
      "live_delegators": 4200,
      "ros_annual_pct": 3.1,
      "stake_change_pct_30e": 2.4,
      "has_image": true,
      "homepage": "https://example-pool.io"
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/pools?sort_by=ros&limit=25" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Pools scheduled to retire, soonest retiring_epoch first.

Cache Duration

1 hour

Query Parameter: limit

Max results (default 50)

Type: string
Required: No

Response Fields

count:number
pools:array

Example Response

{
  "count": 1,
  "pools": [
    {
      "pool_id": "pool1gaztx97t53k47fr7282d70tje8323vvzx8pshgts30t9krw62tm",
      "ticker": "BYE",
      "retiring_epoch": 545,
      "live_stake_ada": 1200000
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/pools/retiring" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Pool snapshot including margin, pledge, saturation, ROS, and 6/30/90-epoch stake/delegator/saturation change %. Logos via /api/static/pool-images/{pool_id}.

Cache Duration

1 day

Path Parameter: poolId

pool1… bech32 id

Type: string
Required: Yes

Response Fields

pool_id:string
ticker:string
name:string | null
live_stake_ada:number
saturation_pct:number | null
margin_cost:number | null
fixed_cost_ada:number | null
ros_annual_pct:number | null
stake_change_pct_30e:number | null
has_image:boolean
homepage:string | null

Example Response

{
  "pool_id": "pool1gaztx97t53k47fr7282d70tje8323vvzx8pshgts30t9krw62tm",
  "ticker": "AAA",
  "name": "Example Pool",
  "live_stake_ada": 65000000,
  "saturation_pct": 85.2,
  "margin_cost": 0.02,
  "fixed_cost_ada": 340,
  "ros_annual_pct": 3.1,
  "stake_change_pct_30e": 2.4,
  "has_image": true,
  "homepage": "https://example-pool.io"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/pools/pool1gaztx97t53k47fr7282d70tje8323vvzx8pshgts30t9krw62tm" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Per-epoch performance history: active stake, blocks, rewards, fees, saturation, ROS. Default last 36 epochs; limit=0 returns all stored history.

Cache Duration

1 day

Path Parameter: poolId

pool1… bech32 id

Type: string
Required: Yes

Query Parameter: limit

Trailing epochs (default 36; 0 = all)

Type: string
Required: No

Response Fields

pool_id:string
summary:object
epochs:array of epoch points

Example Response

{
  "pool_id": "pool1gaztx97t53k47fr7282d70tje8323vvzx8pshgts30t9krw62tm",
  "summary": {
    "first_epoch": 210,
    "last_epoch": 539,
    "epoch_count": 36,
    "lifetime_blocks": 4200
  },
  "epochs": [
    {
      "epoch": 539,
      "active_stake_ada": 64000000,
      "blocks": 42,
      "rewards_ada": 52000,
      "fees_ada": 1800,
      "saturation_pct": 84.1,
      "ros_annual_pct": 3.05
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/pools/pool1gaztx97t53k47fr7282d70tje8323vvzx8pshgts30t9krw62tm/performance?limit=36" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

SPO-role governance votes for this stake pool.

Cache Duration

5 minutes

Path Parameter: poolId

pool1… bech32 id

Type: string
Required: Yes

Query Parameter: limit

Max votes (default 50)

Type: string
Required: No

Response Fields

pool_id:string
count:number
votes:array

Example Response

{
  "pool_id": "pool1gaztx97t53k47fr7282d70tje8323vvzx8pshgts30t9krw62tm",
  "count": 1,
  "votes": [
    {
      "proposal_id": "48bab0ca71cc46f2ee421242b14f292b8c8382bda707d03ea662644bed22b893#0",
      "vote": "yes",
      "voting_power_ada": 65000000,
      "block_time": 1719900000
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/pools/pool1gaztx97t53k47fr7282d70tje8323vvzx8pshgts30t9krw62tm/votes" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

DeFi Endpoints

Cardano DeFi TVL, protocols, and wallet positions (stake-keyed)

Description

Open / wind-down DeFi positions for a wallet. Accepts stake1…, addr1q…, or addr1v…. Matching uses stake address, payment address, and payment key hash. Positions are primarily stored by stake.

Cache Duration

1 minute

Path Parameter: address

Cardano stake or payment address (bech32)

Type: string
Required: Yes

Query Parameter: category

liquidity|order|lending|staking|farming|cdp|perps|leverage|prediction (omit for all)

Type: string
Required: No

Response Fields

address:string
stake_address:string | null
category:string | null
position_count:number
total_value_ada:number
counts:object by category
totals:object by category (ADA)
positions:array of slim position cards
as_of:string | null
generated_at:string | null
note:string

Example Response

{
  "address": "stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja",
  "stake_address": "stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja",
  "category": null,
  "position_count": 3,
  "total_value_ada": 12500.25,
  "counts": { "lending": 1, "liquidity": 2 },
  "totals": { "lending": 4000.0, "liquidity": 8500.25 },
  "positions": [
    {
      "platform": "Liqwid Finance",
      "category": "lending",
      "title": "qADA",
      "value_ada": 4000.0,
      "supply_apy": 3.2,
      "status": "open"
    }
  ],
  "as_of": "2026-07-27T06:00:00Z",
  "generated_at": "2026-07-27T06:01:12Z",
  "note": "Owners matched by stake address, payment address, and/or payment key hash. DeFi rows are primarily stake-keyed."
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja/defi-positions" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Category counts/values and per-protocol breakdown for a wallet. Does not include the full position array; use `/defi-positions` for position cards.

Cache Duration

1 minute

Path Parameter: address

Cardano stake or payment address (bech32)

Type: string
Required: Yes

Response Fields

address:string
stake_address:string | null
position_count:number
total_value_ada:number
counts:object
totals:object
by_platform:array of { platform, position_count, value_ada }
as_of:string | null
generated_at:string | null
note:string

Example Response

{
  "address": "stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja",
  "stake_address": "stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja",
  "position_count": 3,
  "total_value_ada": 12500.25,
  "counts": { "lending": 1, "liquidity": 2 },
  "totals": { "lending": 4000.0, "liquidity": 8500.25 },
  "by_platform": [
    { "platform": "Minswap", "position_count": 2, "value_ada": 8500.25 }
  ],
  "as_of": "2026-07-27T06:00:00Z",
  "generated_at": "2026-07-27T06:01:12Z",
  "note": "Owners matched by stake address, payment address, and/or payment key hash. DeFi rows are primarily stake-keyed."
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/address/stake1u8453de8xhhqa9c4ftvylkke8we84tmaq5hz75qwfgaaf2qac45ja/defi/summary" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Cardano DeFi headline stats from the system metrics snapshot. `total_value_ada` is the broad cross-category position-value rollup, while `total_tvl_ada` is the stricter canonical TVL rollup for protocol capital. Use `/defi/protocols` for per-protocol breakdown.

Cache Duration

1 minute

No Parameters Required

This endpoint does not require path or query parameters.

Response Fields

total_value_ada:number
total_tvl_ada:number
total_positions:number
total_wallets:number
total_debt_ada:number
total_collateral_ada:number
protocol_count:number
by_category:object
by_category_tvl:object
top_protocol:string | null
top_protocol_value_ada:number | null
top_protocol_tvl_ada:number | null
updated_at:string | null

Example Response

{
  "total_value_ada": 42000000,
  "total_tvl_ada": 31000000,
  "total_positions": 84000,
  "total_wallets": 12000,
  "total_debt_ada": 8000000,
  "total_collateral_ada": 15000000,
  "protocol_count": 18,
  "by_category": {
    "lending": 12000000,
    "liquidity": 20000000,
    "staking": 5000000,
    "cdp": 3000000,
    "farming": 2000000
  },
  "by_category_tvl": {
    "lending": 11000000,
    "liquidity": 20000000,
    "staking": 1000000,
    "cdp": 3000000,
    "farming": 2000000
  },
  "top_protocol": "Minswap",
  "top_protocol_value_ada": 9000000,
  "top_protocol_tvl_ada": 8500000,
  "updated_at": "2026-07-27T06:00:00Z"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/defi/stats" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

DeFi tracked value broken down by protocol (platform) and category. `value_ada` is the broad position-value aggregate; `canonical_tvl_ada` is the stricter protocol-capital TVL measure used for TVL-facing surfaces.

Cache Duration

5 minutes

No Parameters Required

This endpoint does not require path or query parameters.

Response Fields

as_of:string | null
generated_at:string | null
protocol_count:number
protocols:array of { platform, category, position_count, value_ada, canonical_tvl_ada, collateral_ada, debt_ada }

Example Response

{
  "as_of": "2026-07-27T06:00:00Z",
  "generated_at": "2026-07-27T06:01:12Z",
  "protocol_count": 40,
  "protocols": [
    {
      "platform": "Minswap",
      "category": "liquidity",
      "position_count": 12000,
      "value_ada": 9000000,
      "canonical_tvl_ada": 9000000,
      "collateral_ada": 0,
      "debt_ada": 0
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/defi/protocols" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Aggregated KPIs per DeFi category (liquidity, lending, staking, farming, cdp, perps, …). Category rows include broad `value_ada` plus `canonical_tvl_ada` where canonical TVL applies.

Cache Duration

5 minutes

No Parameters Required

This endpoint does not require path or query parameters.

Response Fields

as_of:string | null
generated_at:string | null
summary:object with per-category position_count, wallet_count, value_ada, canonical_tvl_ada, …

Example Response

{
  "as_of": "2026-07-27T06:00:00Z",
  "generated_at": "2026-07-27T06:01:12Z",
  "summary": {
    "total_value_ada": 42000000,
    "categories": {
      "liquidity": { "position_count": 50000, "wallet_count": 8000, "value_ada": 20000000 }
    }
  }
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/defi/categories" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Daily total + per-platform DeFi TVL history (ADA). Older dates remain the historical DeFiLlama-backed series; recent native days use our stricter canonical TVL rollup for protocol capital instead of the broader DeFi value aggregate. Public API caps timeframe at 180d. Complements snapshot endpoints /defi/stats and /defi/protocols.

Cache Duration

5 minutes

Query Parameter: timeframe

7d | 30d | 90d | 180d (default 30d)

Type: string
Required: No

Response Fields

timeframe:string
series:array of { date, total_tvl_ada, by_platform }
platforms:array of string
latest_tvl_ada:number
platform_count:number
cutover_date:string

Example Response

{
  "timeframe": "30d",
  "cutover_date": "2026-07-27",
  "platforms": ["Liqwid Finance", "Minswap"],
  "latest_tvl_ada": 420000000,
  "platform_count": 2,
  "series": [
    {
      "date": "2026-07-01",
      "total_tvl_ada": 420000000,
      "by_platform": { "Liqwid Finance": 180000000, "Minswap": 90000000 }
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/defi/tvl-history?timeframe=30d" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Daily estimated DEX/DeFi fees and revenue history (ADA). Public API caps timeframe at 180d. Series points may also include total_volume_ada and per-platform fee/revenue maps.

Cache Duration

5 minutes

Query Parameter: timeframe

7d | 30d | 90d | 180d (default 30d)

Type: string
Required: No

Response Fields

timeframe:string
series:array of { date, total_fees_ada, total_revenue_ada, total_volume_ada?, by_platform?, by_platform_revenue? }
platforms:array of string
latest_fees_ada:number
latest_revenue_ada:number

Example Response

{
  "timeframe": "30d",
  "platforms": ["Minswap", "WingRiders"],
  "latest_fees_ada": 12500,
  "latest_revenue_ada": 4200,
  "series": [
    {
      "date": "2026-07-01",
      "total_fees_ada": 11000,
      "total_revenue_ada": 3800,
      "total_volume_ada": 4200000,
      "by_platform": { "Minswap": 6000 },
      "by_platform_revenue": { "Minswap": 2100 }
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/defi/fees-history?timeframe=30d" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Platform Endpoints

Platform-specific token lists (snek.fun & Chakra AI)

Description

Paginated list of tokens launched on snek.fun. Sort by market cap, volume, price change, holder count, or creation date. Includes platform flags and token metrics.

Cache Duration

1 minute

Query Parameter: page

Page number (default: 1)

Type: string
Required: No

Query Parameter: limit

Results per page, max 100 (default: 10)

Type: string
Required: No

Query Parameter: sort_by

Sort field: market_cap_ada, liquidity_ada, volume_24h_ada, price_change_24h, total_holders, created_at (default: market_cap_ada)

Type: string
Required: No

Query Parameter: order

Sort order: asc or desc (default: desc)

Type: string
Required: No

Response Fields

page:number
limit:number
total_tokens:number
tokens:array of { asset_id, ticker, display_name, is_snekfun, is_chakra, plus the chosen sort_by field }

Example Response

{
  "total_tokens": 127,
  "page": 1,
  "limit": 10,
  "tokens": [
    {
      "asset_id": "279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b",
      "ticker": "SNEK",
      "display_name": "Snek",
      "is_snekfun": true,
      "is_chakra": false,
      "market_cap_ada": 289536000.0
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/platform/snek-fun-tokens" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Paginated list of tokens launched on Chakra AI. Sort by market cap, volume, price change, holder count, or creation date. Includes platform flags and token metrics.

Cache Duration

1 minute

Query Parameter: page

Page number (default: 1)

Type: string
Required: No

Query Parameter: limit

Results per page, max 100 (default: 10)

Type: string
Required: No

Query Parameter: sort_by

Sort field: market_cap_ada, liquidity_ada, volume_24h_ada, price_change_24h, total_holders, created_at (default: market_cap_ada)

Type: string
Required: No

Query Parameter: order

Sort order: asc or desc (default: desc)

Type: string
Required: No

Response Fields

page:number
limit:number
total_tokens:number
tokens:array of { asset_id, ticker, display_name, is_snekfun, is_chakra, plus the chosen sort_by field }

Example Response

{
  "total_tokens": 84,
  "page": 1,
  "limit": 10,
  "tokens": [
    {
      "asset_id": "abc123def456…",
      "ticker": "CHAKRA",
      "display_name": "Chakra AI Token",
      "is_snekfun": false,
      "is_chakra": true,
      "volume_24h_ada": 8521.43
    }
  ]
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/platform/chakra-tokens" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Description

Market dominance for snek.fun and Chakra AI vs the total CNT market: token count, volume, market cap, holder count, and dominance percentages.

Cache Duration

1 minute

No Parameters Required

This endpoint does not require path or query parameters.

Response Fields

total_market:object with token_count, volume_24h_ada, market_cap_ada
snekfun:object with token_count, volume_24h_ada, market_cap_ada, total_holders, volume_dominance_percent, market_cap_dominance_percent, token_dominance_percent
chakra:object with token_count, volume_24h_ada, market_cap_ada, total_holders, volume_dominance_percent, market_cap_dominance_percent, token_dominance_percent
updated_at:string (ISO 8601 timestamp)

Example Response

{
  "total_market": {
    "token_count": 551,
    "volume_24h_ada": 4650000.00,
    "market_cap_ada": 33200000.00
  },
  "snekfun": {
    "token_count": 127,
    "volume_24h_ada": 2500000.00,
    "market_cap_ada": 15000000.00,
    "total_holders": 28500,
    "volume_dominance_percent": 53.76,
    "market_cap_dominance_percent": 45.18,
    "token_dominance_percent": 23.05
  },
  "chakra": {
    "token_count": 84,
    "volume_24h_ada": 1200000.00,
    "market_cap_ada": 8500000.00,
    "total_holders": 12400,
    "volume_dominance_percent": 25.81,
    "market_cap_dominance_percent": 25.60,
    "token_dominance_percent": 15.25
  },
  "updated_at": "2025-12-01T12:00:00Z"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/platform/dominance" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

System Endpoints

Health checks and system status

Description

Health check for API and database availability. Returns status, timestamp, and version.

Cache Duration

No caching

No Parameters Required

This endpoint does not require path or query parameters.

Response Fields

status:string
database:string
timestamp:string (ISO 8601 timestamp)
version:string

Example Response

{
  "status": "healthy",
  "database": "healthy",
  "timestamp": "2025-11-01T12:00:00Z",
  "version": "1.0.0"
}

Example Request

curl -X GET "https://api.adabubbles.net/api/v1/health" \
  -H "X-API-Key: wpup_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"