BlockchainAnalysis API v1

The BlockchainAnalysis API provides programmatic access to on-chain risk assessment and entity intelligence. Two core endpoints are available:

Wallet Screening
Full risk assessment with score, sanctions check, exposure analysis, flagged transactions, and legal interpretation.
1 API credit per call
Entity Lookup
Identify wallet owners from 10M+ labeled addresses. Returns entity name, category, threat level, and OFAC sanctions status.
Free (rate-limited)

Base URL: https://www.blockchainanalysis.io/api/v1

Authentication

All API requests require a Bearer token in the Authorization header. Generate API keys from your dashboard.

Authorization: Bearer ba_live_your_api_key_here

API keys start with ba_live_. The full key is shown only once at creation time. Store it securely.

Wallet Screening

POST/api/v1/screening

Perform a comprehensive risk assessment on a wallet address. Costs 1 API credit.

Request Body

addressstringREQUIRED
The wallet address to screen
chainstringREQUIRED
Blockchain identifier (e.g., ETH, BTC, TRON, SOL, POLYGON, ARBITRUM, BASE)
jurisdictionstring
Jurisdiction for legal interpretation (default: "CH")

Example Request

curl -X POST https://www.blockchainanalysis.io/api/v1/screening \
  -H "Authorization: Bearer ba_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "address": "0x28C6c06298d514Db089934071355E5743bf21d60",
    "chain": "ETH",
    "jurisdiction": "CH"
  }'

Response

{
  "success": true,
  "data": {
    "riskScore": 25,
    "riskLevel": "LOW",
    "walletAddress": "0x28C6c06298d514Db089934071355E5743bf21d60",
    "chain": "ETH",
    "balance": 1234.56,
    "balanceUsd": 2345678.90,
    "totalTransactions": 15420,
    "sanctionsCheck": { "isSanctioned": false },
    "flaggedTransactions": [...],
    "topCounterparties": [...],
    "exposureSending": { "EXCHANGE": 65, "DEFI": 20 },
    "exposureReceiving": { "EXCHANGE": 70 },
    "legalInterpretation": { ... }
  },
  "credits": { "remaining": 99 }
}

Entity Lookup

GET/api/v1/entity/:address

Look up an address against 10M+ labeled entities. Free, rate-limited.

Path Parameters

addressstringREQUIRED
The wallet address to look up

Query Parameters

chainstring
Blockchain identifier (default: ETH)

Example

curl "https://www.blockchainanalysis.io/api/v1/entity/0x28C6c06298d514Db089934071355E5743bf21d60?chain=ETH" \
  -H "Authorization: Bearer ba_live_your_key"

Response

{
  "success": true,
  "data": {
    "address": "0x28C6c06298d514Db089934071355E5743bf21d60",
    "chain": "ETH",
    "labels": [
      {
        "name": "Binance 14",
        "category": "EXCHANGE",
        "threatLevel": "SAFE",
        "source": "etherscan",
        "tags": ["cex", "binance"],
        "confidence": 0.95
      }
    ],
    "sanctioned": false,
    "sanctionsDetail": null
  }
}

Usage & Balance

GET/api/v1/usage

Check your API credit balance and recent usage history.

curl https://www.blockchainanalysis.io/api/v1/usage \
  -H "Authorization: Bearer ba_live_your_key"
{
  "success": true,
  "data": {
    "balance": 95,
    "history": [
      { "amount": -1, "balance": 95, "type": "SCREENING", "createdAt": "..." },
      { "amount": 100, "balance": 96, "type": "PURCHASE", "createdAt": "..." }
    ]
  }
}

Key Management

API keys are managed via the dashboard or the session-authenticated endpoints below.

GET/api/v1/keys

List all API keys (requires session auth, not API key)

POST/api/v1/keys

Create a new API key. Body: {"name": "My Key"}

DELETE/api/v1/keys/:id

Revoke an API key (requires session auth)

Rate Limits

Rate limits are applied per API key. Response headers indicate current usage:

EndpointLimit
POST /screening20 requests / minute
GET /entity/:address100 requests / minute

Rate limit headers:

X-RateLimit-Limit: 20
X-RateLimit-Remaining: 18
X-RateLimit-Reset: 1709234567000

Error Codes

StatusMeaning
400Bad Request — invalid parameters
401Unauthorized — missing or invalid API key
402Payment Required — insufficient API credits
403Forbidden — API key lacks permission
429Too Many Requests — rate limit exceeded
500Internal Server Error

Error response format:

{ "error": "Description of the error" }

Supported Chains

Pass the chain identifier in uppercase. Supported values:

BTCETHTRONSOLBSCPOLYGONARBITRUMOPTIMISMBASEAVALANCHELINEAGNOSISLTCDOGEDASHZECBCHBSVXRPXLMADADOTTONXMRATOMALGOXTZETHERLINKFANTOMCRONOSETCMANTLESCROLLZKSYNCCELOMOONBEAM

BlockchainAnalysis.io API v1 — Get API Keys api@blockchainanalysis.io