API Documentation

Build bots, dashboards, and automated trading systems with the CryptoPulse REST API.

34

EVM chains supported

100+

Labeled whale wallets

<200ms

Average response time

🌐 Base URL: https://cryptopulse.uno/api
✅ JSON responses
🔑 Bearer token auth

⚡ Quick Start

1. Get your API key from the Dashboard (requires a paid plan: Pro, Trader or API)

2. Make your first request:

curl -H "Authorization: Bearer cpk_your_api_key_here" \
  https://cryptopulse.uno/api/whales?chain=ethereum&limit=5

3. Or use JavaScript:

const res = await fetch("https://cryptopulse.uno/api/whales?chain=ethereum", {
  headers: { "Authorization": "Bearer cpk_your_api_key_here" }
});
const { transactions } = await res.json();
console.log(`Found ${transactions.length} whale moves`);

4. Python example:

import requests

headers = {"Authorization": "Bearer cpk_your_api_key_here"}
r = requests.get("https://cryptopulse.uno/api/wallet/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                  params={"multichain": "true"}, headers=headers)
wallet = r.json()
print(f"Score: {wallet['score']['overall']}/100 — {wallet['score']['classification']}")

📊 Rate Limits

PlanPriceWallet LookupsAPI Calls/DayAPI KeysFeatures
Free$010/dayDashboard only
Pro$19/mo100/dayPriority alerts
Trader$49/mo500/day500/day3 keysFull API access
API$99/mo5,000/day5,000/day10 keysFull API + webhooks

Endpoints

GET/api/whalesHistory depth by plan: 7d free · 30d Pro · 90d Trader/API. Deeper requests return 403 with your ceiling, never silently truncated.

Whale transactions across chains — live, historical, and paginated

Parameters

NameTypeRequiredDefaultDescription
chainstringNoethereumChain: ethereum, base, bsc, arbitrum, polygon, optimism, avalanche... or 'all'
limitnumberNo20Max results (1-1000)
offsetnumberNo0Pagination offset. Response carries total + hasMore.
periodstringNo24h1h, 6h, 24h, 7d, 30d, 90d — or 'live' for a fresh block scan (single chain)
fromstringNoRange start: unix seconds or ISO-8601 (2026-06-01). Requires 'to'-free pairing rules; overrides period.
tostringNoRange end: unix seconds or ISO-8601. Requires 'from'.

Example

curl -H "Authorization: Bearer YOUR_API_KEY" "https://cryptopulse.uno/api/whales?chain=all&period=90d&limit=100&offset=0"

Response

{
  "chain": "ethereum",
  "count": 5,
  "transactions": [
    {
      "hash": "0xabc...def",
      "chain": "ethereum",
      "from": "0x28C6...d60",
      "to": "0xd8dA...045",
      "value": "500.0000",
      "valueUSD": 1750000,
      "token": "ETH",
      "tokenSymbol": "ETH",
      "type": "transfer",
      "fromLabel": "Binance Hot Wallet",
      "toLabel": "vitalik.eth",
      "timestamp": 1708886400,
      "blockNumber": 19320000
    }
  ],
  "updatedAt": "2026-02-28T15:30:00Z"
}
🧪 Try It
GET/api/wallet/:addressFree (10/day) / Pro (100/day) / Trader (500/day) / API (5000/day)

Scan wallet — balance, tokens, transactions, intelligence score

Parameters

NameTypeRequiredDefaultDescription
addressstringYesEVM wallet address (0x...)
chainstringNoethereumSingle chain to query
multichainbooleanNofalseScan all 34 chains in parallel

Example

curl -H "Authorization: Bearer YOUR_API_KEY" https://cryptopulse.uno/api/wallet/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?multichain=true

Response

{
  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "chain": "ethereum",
  "label": "vitalik.eth",
  "tags": ["🐋 Whale", "Ethereum Foundation"],
  "balance": "1234.5678",
  "balanceUSD": 4320987.30,
  "score": {
    "overall": 92,
    "tier": "🐋",
    "classification": "Whale",
    "breakdown": { "age": 25, "activity": 22, "diversity": 20, "volume": 25 },
    "riskFlags": [],
    "insights": ["Top 0.01% wallet", "Active DeFi user"]
  },
  "stats": {
    "totalTxCount": 1847,
    "uniqueTokensTraded": 89,
    "totalValueMovedUSD": 890000000,
    "firstTxDate": "2015-07-30",
    "lastTxDate": "2026-02-28"
  },
  "tokenHoldings": [...],
  "recentTokenTransfers": [...],
  "connections": { "exchanges": [...], "defi": [...], "frequentContacts": [...] }
}
🧪 Try It
GET/api/marketFree / All plans

Market overview — prices, market cap, fear & greed index

Example

curl -H "Authorization: Bearer YOUR_API_KEY" https://cryptopulse.uno/api/market

Response

{
  "overview": {
    "totalMarketCap": 3200000000000,
    "totalVolume24h": 98000000000,
    "btcDominance": 52.3,
    "fearGreedIndex": 72,
    "fearGreedLabel": "Greed"
  },
  "prices": [
    { "id": "bitcoin", "symbol": "btc", "price": 95420, "change24h": 2.1, "marketCap": 1890000000000 },
    { "id": "ethereum", "symbol": "eth", "price": 3520, "change24h": -0.5, "marketCap": 423000000000 }
  ]
}
🧪 Try It
GET/api/chainsFree / All plans

List all 34 supported chains with RPC status

Example

curl https://cryptopulse.uno/api/chains

Response

{
  "chains": [
    { "id": "ethereum", "name": "Ethereum", "symbol": "ETH", "explorerUrl": "https://etherscan.io" },
    { "id": "base", "name": "Base", "symbol": "ETH", "explorerUrl": "https://basescan.org" },
    ...
  ],
  "total": 34
}
🧪 Try It
GET/api/keysTrader / API plan

List your API keys (requires auth cookie)

Example

# Use dashboard UI to manage keys

Response

{ "keys": [{ "id": "...", "keyPrefix": "cpk_a1b2c3d4", "name": "My Bot", "callsToday": 42, "callsTotal": 1337, "createdAt": "..." }] }
🧪 Try It
POST/api/keysTrader / API plan

Create a new API key

Parameters

NameTypeRequiredDefaultDescription
namestringNoDefaultLabel for the key

Example

curl -X POST -H "Content-Type: application/json" -d '{"name":"My Bot"}' https://cryptopulse.uno/api/keys

Response

{ "key": "cpk_abc123...full_key", "id": "...", "prefix": "cpk_abc123..", "name": "My Bot", "message": "Save this key — it won't be shown again!" }
🧪 Try It
GET/api/webhooks/subscriptionsTrader / API plan

List your webhook endpoints (secrets are masked)

Example

curl -H "Authorization: Bearer YOUR_API_KEY" https://cryptopulse.uno/api/webhooks/subscriptions

Response

{
  "endpoints": [
    {
      "id": "3f9a...",
      "url": "https://your-app.com/hooks/cryptopulse",
      "events": ["whale_move", "wallet_watch"],
      "active": true,
      "secretPreview": "whsec_****a1b2",
      "consecutiveFailures": 0,
      "lastSuccessAt": "2026-08-25T12:00:00Z"
    }
  ]
}
🧪 Try It
POST/api/webhooks/subscriptionsTrader / API plan (max 5 endpoints)

Register an HTTPS endpoint for push events. We POST a signed JSON payload per matching alert. Verify X-CryptoPulse-Signature: it is sha256=HMAC_SHA256(secret, `${timestamp}.${rawBody}`) using the X-CryptoPulse-Timestamp header. The secret is returned ONCE on create. Endpoints auto-disable after 10 consecutive failures. Delivery follows the alert pipeline — expect minutes, not milliseconds.

Parameters

NameTypeRequiredDefaultDescription
urlstringYesPublic HTTPS URL on port 443. Private/loopback/metadata addresses are rejected.
eventsarrayNobothAny of: whale_move, wallet_watch

Example

curl -X POST -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"url":"https://your-app.com/hooks/cryptopulse","events":["whale_move"]}' https://cryptopulse.uno/api/webhooks/subscriptions

Response

{
  "id": "3f9a...",
  "url": "https://your-app.com/hooks/cryptopulse",
  "events": ["whale_move"],
  "secret": "whsec_...   // shown once — store it now",
  "signatureNote": "X-CryptoPulse-Signature: sha256=HMAC_SHA256(secret, timestamp + '.' + rawBody)"
}
🧪 Try It

Error Codes

CodeMeaning
200Success
400Bad request — invalid parameters
401Unauthorized — invalid or missing API key
403Forbidden — plan doesn't include this feature
429Rate limit reached — upgrade plan or wait for daily reset
500Server error

Ready to build?

Get API access with a Trader ($49/mo) or API ($99/mo) plan. Start building in minutes.