The dashboard's data as a free REST API and an MCP server. Read-only: nothing here can sign or send transactions.
Authorization: Bearer <key>. Each key gets 200 calls a day, shared between REST and MCP, and resets at 00:00 UTC.POST with a JSON body and returns { "data": … }, or { "error": "…" } with status 400 (bad input), 401 (key), 429 (quota) or 502 (a data source failed).curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_gas \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'POST /api/v1/tools/get_wallet_portfolio
Token holdings of a wallet on one network, with USD values and 24h changes (spam tokens excluded).
| Parameter | Type | Description |
|---|---|---|
| address* | string | Wallet address (0x...) or ENS name (e.g. vitalik.eth) |
| chain | string | Network: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi. Defaults to eth (Ethereum mainnet). Default: "eth".One of: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_wallet_portfolio \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"vitalik.eth"}'POST /api/v1/tools/get_wallet_pnl
Realized profit and loss summary for a wallet on Ethereum mainnet (trades, volume, realized PnL).
| Parameter | Type | Description |
|---|---|---|
| address* | string | Wallet address (0x...) or ENS name (e.g. vitalik.eth) |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_wallet_pnl \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"vitalik.eth"}'POST /api/v1/tools/get_wallet_activity
Recent transactions of a wallet in plain English (sends, receives, swaps, approvals...), newest first.
| Parameter | Type | Description |
|---|---|---|
| address* | string | Wallet address (0x...) or ENS name (e.g. vitalik.eth) |
| chain | string | Network: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi. Defaults to eth (Ethereum mainnet). Default: "eth".One of: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi |
| limit | integer | How many items to return (1-25) Default: 15. |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_wallet_activity \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"vitalik.eth"}'POST /api/v1/tools/get_token_approvals
ERC20 spending approvals a wallet has granted, with USD at risk and whether the spender is unlimited or unknown.
| Parameter | Type | Description |
|---|---|---|
| address* | string | Wallet address (0x...) or ENS name (e.g. vitalik.eth) |
| chain | string | Network: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi. Defaults to eth (Ethereum mainnet). Default: "eth".One of: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_token_approvals \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"vitalik.eth"}'POST /api/v1/tools/get_defi_positions
A wallet's positions in DeFi protocols (lending, liquidity, staking) with USD values.
| Parameter | Type | Description |
|---|---|---|
| address* | string | Wallet address (0x...) or ENS name (e.g. vitalik.eth) |
| chain | string | Network: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi. Defaults to eth (Ethereum mainnet). Default: "eth".One of: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_defi_positions \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"vitalik.eth"}'POST /api/v1/tools/resolve_ens
Turns an ENS name into an address, or an address into its primary ENS name.
| Parameter | Type | Description |
|---|---|---|
| nameOrAddress* | string | An ENS name to resolve, or an address to look up its primary name |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/resolve_ens \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"nameOrAddress":"vitalik.eth"}'POST /api/v1/tools/get_gas
Current Ethereum gas: next block base fee and total gas price at 70-99% confidence of inclusion, in gwei.
No parameters: send an empty body.
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_gas \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'POST /api/v1/tools/get_token_price
USD price, 24h change and market cap of a coin, by CoinGecko ID, symbol or name (e.g. ethereum, ETH, Chainlink).
| Parameter | Type | Description |
|---|---|---|
| coin* | string | Coin name, symbol or CoinGecko id (e.g. ethereum, LINK, uniswap) |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_token_price \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"coin":"ethereum"}'POST /api/v1/tools/get_market_overview
Total crypto market cap and volume, BTC/ETH dominance, and the top 24h gainers and losers among the top 250 coins.
No parameters: send an empty body.
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_market_overview \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'POST /api/v1/tools/get_nft_collection
Floor price, volume, sales and owners of an NFT collection, by OpenSea slug (e.g. pudgypenguins) or contract address.
| Parameter | Type | Description |
|---|---|---|
| collection* | string | NFT contract address or OpenSea collection slug |
| chain | string | Network: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi. Defaults to eth (Ethereum mainnet). Default: "eth".One of: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_nft_collection \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"collection":"pudgypenguins"}'POST /api/v1/tools/get_validator_queue
Ethereum validator entry and exit queues and the active validator count (Beacon chain).
No parameters: send an empty body.
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_validator_queue \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'POST /api/v1/tools/get_staking_overview
Total ETH staked, staking ratio, base APR, and the largest liquid staking and restaking protocols.
No parameters: send an empty body.
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_staking_overview \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'POST /api/v1/tools/get_defi_tvl
DeFi total value locked by chain and top protocols, DEX volume, fees, stablecoin supply and the best yields (DefiLlama).
No parameters: send an empty body.
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_defi_tvl \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'POST /api/v1/tools/get_l2_stats
Value locked, rollup type and L2BEAT risk stage for the supported layer 2s (Base, Arbitrum, OP Mainnet, Polygon, Linea...).
No parameters: send an empty body.
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_l2_stats \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'POST /api/v1/tools/decode_transaction
Details of a transaction by hash: status, from/to, value, fee, and decoded token transfers and approvals.
| Parameter | Type | Description |
|---|---|---|
| hash* | string | Transaction hash (0x + 64 hex characters) |
| chain | string | Network: eth, base, arbitrum, optimism, polygon, linea Default: "eth".One of: eth, base, arbitrum, optimism, polygon, linea |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/decode_transaction \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"hash":"0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"}'POST /api/v1/tools/get_address_info
Native balance, transaction count, and whether an address is a contract or token, with its known label.
| Parameter | Type | Description |
|---|---|---|
| address* | string | Wallet address (0x...) or ENS name (e.g. vitalik.eth) |
| chain | string | Network: eth, base, arbitrum, optimism, polygon, linea Default: "eth".One of: eth, base, arbitrum, optimism, polygon, linea |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_address_info \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"vitalik.eth"}'POST /api/v1/tools/check_token_risk
GoPlus security check of an ERC20 token: honeypot, taxes, mintable, owner privileges, holder count.
| Parameter | Type | Description |
|---|---|---|
| token* | string | ERC20 token contract address |
| chain | string | Network: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi. Defaults to eth (Ethereum mainnet). Default: "eth".One of: eth, base, arbitrum, optimism, polygon, linea, sepolia, hoodi |
curl -X POST https://ethereumdashboard.dev/api/v1/tools/check_token_risk \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{"token":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"}'POST /api/v1/tools/get_eth_supply
ETH issued vs burnt over the last day, whether supply is inflating or deflating, and the blob fee burn.
No parameters: send an empty body.
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_eth_supply \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'POST /api/v1/tools/get_governance_proposals
Active and recently closed Snapshot votes for major DAOs (Aave, Uniswap, ENS, Lido, Arbitrum...).
No parameters: send an empty body.
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_governance_proposals \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'POST /api/v1/tools/get_derivatives
ETH perpetual funding rates and open interest (Deribit, OKX, Bybit) and the options market summary.
No parameters: send an empty body.
curl -X POST https://ethereumdashboard.dev/api/v1/tools/get_derivatives \
-H "Authorization: Bearer $ETHD_KEY" \
-H "Content-Type: application/json" \
-d '{}'