Megapilled Data API

Base URL: https://api.megapilled.com — No authentication required. Rate limits apply per IP.


GET /wallet/{address}

Returns token balances for a wallet address.

Request

curl https://api.megapilled.com/wallet/0xcb6ad83a90da0887a3560ebc13887532fcde7d23

Response 200 OK

{
  "status": "success",
  "data": {
    "tokens": [
      {
        "token_standard": "ERC20",
        "token_name": "USDT0",
        "token_symbol": "USDT0",
        "token_decimals": 6,
        "contract_address": "0xb8ce59fc...",
        "balance": "8323741.535991"
      },
      {
        "token_standard": "ERC721",
        "token_name": "Uniswap V3 Positions NFT-V1",
        "token_symbol": "UNI-V3-POS",
        "token_decimals": null,
        "contract_address": "0x2b781c57...",
        "balance": "3"
      }
    ]
  }
}

Token Fields

FieldTypeDescription
token_standardstring"ERC20", "ERC721", or "ERC1155"
token_namestringToken name
token_symbolstring or nullToken symbol
token_decimalsnumber or nullDecimal places (null for ERC721/1155)
contract_addressstringToken contract address
balancestringDecimal-adjusted for ERC20. Raw count for ERC721/1155
token_idstringERC-1155 only. Omitted for ERC-20/721

Notes


GET /holders/{contract}

Returns the top holders of a token, sorted by balance descending.

Request

curl https://api.megapilled.com/holders/0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb

Response 200 OK

{
  "status": "success",
  "data": {
    "token_metadata": {
      "contract_address": "0xb8ce59fc...",
      "token_standard": "ERC20",
      "token_name": "USDT0",
      "token_symbol": "USDT0",
      "token_decimals": 6
    },
    "total_holders": 6062,
    "holders": [
      {
        "address": "0x6c8e5d46...",
        "balance": "11476592.834513"
      }
    ]
  }
}

Holder Fields

FieldTypeDescription
addressstringWallet address
balancestringDecimal-adjusted for ERC20. Raw count for ERC721/1155
token_idstringERC-1155 only. Omitted for ERC-20/721

Notes


Errors

Errors return a JSON object with an error field describing what went wrong:

{ "error": "description" }
StatusMeaning
404Endpoint or resource not found
429Too many requests
503Service temporarily unavailable