Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.beaconcha.in/llms.txt

Use this file to discover all available pages before exploring further.

The V2 API is the recommended API for all new integrations. It offers richer data, flexible validator selectors, cursor-based pagination, and exclusive features like BeaconScore and entity benchmarking. The V1 API remains available but no new features will be added to V1.

Pricing

PlanPriceFeaturesRatelimitRequests
Free Trial0€ (30 days)Basic1/sec1000
Hobbyist59€/mo*Basic1/secUnlimited
Business99€/mo*Basic2/secUnlimited
Scale399€/mo*Basic & Pro 💎5/secUnlimited
EnterpriseContact usBasic & Pro 💎Contact usUnlimited
*Prices shown are for annual billing, excluding VAT
  • Free Trial: Test the API with a 30-day free trial. The trial does not auto-renew; access ends after 30 days unless you upgrade. Start your free trial and create an API key.
  • Access: API endpoints require an API key. Free Trial and paid users have access to both V1 and V2 APIs.
  • Pro 💎 features: available for users on the Scale and Enterprise plans.
  • Attribution: See API Terms and Conditions for details.
Building with AI? Connect your AI assistant to our documentation via AI Integration. Get accurate, up-to-date answers about the beaconcha.in API directly in your development environment.

Attribution Requirements

If you use beaconcha.in API data in your application or website, please follow these attribution guidelines:

BeaconScore

After an agreement the BeaconScore badge may be required. See API Terms and Conditions for details.
BeaconScore

Powered by beaconcha.in

After an agreement the “Powered by beaconcha.in” logo may be required. See API Terms and Conditions for details.
Powered by beaconcha.in

License Materials

Download official BeaconScore and “Powered by beaconcha.in” badges in SVG and PNG formats
For full terms and conditions, see our BeaconScore License.

API Keys

API keys can be obtained in the user portal and must be included in requests either as a query string parameter or in the request header.
V1 and V2 APIs use the same authentication method. A single API key is valid for all endpoints.

Quick Start — Your First Request

The simplest V2 API call is the Chain State endpoint, which returns the current state of the Ethereum network with a single field in the request body:
curl -X POST 'https://beaconcha.in/api/v2/ethereum/state' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{"chain": "mainnet"}'
All V2 API endpoints use the POST method with a JSON request body. The chain field ("mainnet" or "hoodi") is required in every request.

Full Example — Validator Rewards

This example uses the Rewards endpoint to get validator rewards data.

Request

curl -X POST 'https://beaconcha.in/api/v2/ethereum/validators/rewards-list' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "validator": {
      "validator_identifiers": [1]
    },
    "chain": "mainnet",
    "page_size": 10,
    "epoch": 347566
  }'

Response

{
  "data": [
    {
      "total": "80660680222696592",
      "validator": {
        "index": 1,
        "public_key": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c"
      },
      "total_reward": "80660680222696592",
      "total_penalty": "0",
      "total_missed": "132644000000000",
      "attestation": {
        "total": "9371000000000",
        "head": {
          "total": "2408000000000",
          "reward": "2408000000000",
          "penalty": "0",
          "missed_reward": "0"
        },
        "source": {
          "total": "2437000000000",
          "reward": "2437000000000",
          "penalty": "0",
          "missed_reward": "0"
        },
        "target": {
          "total": "4526000000000",
          "reward": "4526000000000",
          "penalty": "0",
          "missed_reward": "0"
        },
        "inactivity_leak_penalty": "0",
        "inclusion_delay": null
      },
      "sync_committee": {
        "total": "0",
        "reward": "0",
        "penalty": "0",
        "missed_reward": "0"
      },
      "proposal": {
        "total": "80651309222696592",
        "execution_layer_reward": "35087332222696592",
        "attestation_inclusion_reward": "43946801000000000",
        "sync_inclusion_reward": "1617176000000000",
        "slashing_inclusion_reward": "0",
        "missed_cl_reward": "132644000000000",
        "missed_el_reward": "0"
      },
      "finality": "finalized"
    }
  ],
  "paging": {},
  "range": {
    "slot": {
      "start": 11122112,
      "end": 11122143
    },
    "epoch": {
      "start": 347566,
      "end": 347566
    },
    "timestamp": {
      "start": 1740289367,
      "end": 1740289750
    }
  }
}

View Full API Documentation

See all parameters, response fields, and try the Rewards endpoint