---
title: "Publish a signed block."
method: POST
path: "/eth/v1/beacon/blocks"
tags: ["Beacon", "ValidatorRequiredApi"]
---

# Publish a signed block.

`POST /eth/v1/beacon/blocks`

## Request

- Base URL: `eth2-beacon-mainnet.nodereal.io/v1/api_key` (relative, and the document’s source URL is not known)
- URL: `eth2-beacon-mainnet.nodereal.io/v1/api_key/eth/v1/beacon/blocks`
- Auth: none declared

Instructs the beacon node to broadcast a newly signed beacon block to the beacon network,
to be included in the beacon chain. The beacon node is not required to validate the signed
`BeaconBlock`, and a successful response (20X) only indicates that the broadcast has been
successful. The beacon node is expected to integrate the new block into its state, and
therefore validate the block internally, however blocks which fail the validation are still
broadcast but a different status code is returned (202)

## Headers

- `Eth-Consensus-Version` 'phase0' | 'altair' | 'bellatrix'

## Request body

- union
  - object: The [`SignedBeaconBlock`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#signedbeaconblock) object envelope from the CL spec.
    - `message` object: The [`BeaconBlock`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblock) object from the CL spec.
      - `slot` string: The slot to which this block corresponds.
      - `proposer_index` string: Index of validator in validator registry.
      - `parent_root` string: The signing merkle root of the parent `BeaconBlock`.
      - `state_root` string: The tree hash merkle root of the `BeaconState` for the `BeaconBlock`.
      - `body` object: The [`BeaconBlockBody`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockbody) object from the CL spec.
        - `randao_reveal` string: The RanDAO reveal value provided by the validator.
        - `eth1_data` object: The [`Eth1Data`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#eth1data) object from the CL spec.
          - `deposit_root` string: Root of the deposit tree.
          - `deposit_count` string: Total number of deposits.
          - `block_hash` string: Ethereum 1.x block hash.
        - `graffiti` string
        - `proposer_slashings` object[]
          - `signed_header_1` object: The [`SignedBeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#signedbeaconblockheader) object envelope from the CL spec.
            - `message` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
              - …
            - `signature` string
          - `signed_header_2` object: The [`SignedBeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#signedbeaconblockheader) object envelope from the CL spec.
            - `message` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
              - …
            - `signature` string
        - `attester_slashings` object[]
          - `attestation_1` object: The [`IndexedAttestation`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#indexedattestation) object from the CL spec.
            - `attesting_indices` string[]: Attesting validator indices
            - `signature` string: The BLS signature of the `IndexedAttestation`, created by the validator of the attestation.
            - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
              - …
          - `attestation_2` object: The [`IndexedAttestation`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#indexedattestation) object from the CL spec.
            - `attesting_indices` string[]: Attesting validator indices
            - `signature` string: The BLS signature of the `IndexedAttestation`, created by the validator of the attestation.
            - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
              - …
        - `attestations` object[]
          - `aggregation_bits` string: Attester aggregation bits.
          - `signature` string: BLS aggregate signature.
          - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
            - `slot` string
            - `index` string
            - `beacon_block_root` string: LMD GHOST vote.
            - `source` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
              - …
            - `target` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
              - …
        - `deposits` object[]
          - `proof` string[]: Branch in the deposit tree.
          - `data` object: The [`DepositData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#depositdata) object from the CL spec.
            - `pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
            - `withdrawal_credentials` string: The withdrawal credentials.
            - `amount` string: Amount in Gwei.
            - `signature` string: Container self-signature.
        - `voluntary_exits` object[]
          - `message` object: The [`VoluntaryExit`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#voluntaryexit) object from the CL spec.
            - `epoch` string: Minimum epoch for processing exit.
            - `validator_index` string: Index of the exiting validator.
          - `signature` string
    - `signature` string
  - object: The [`SignedBeaconBlock`](https://github.com/ethereum/consensus-specs/blob/v1.1.0-alpha.3/specs/altair/beacon-chain.md#signedbeaconblock) object envelope from the CL Altair spec.
    - `message` object: The [`BeaconBlock`](https://github.com/ethereum/consensus-specs/blob/v1.1.0-alpha.3/specs/altair/beacon-chain.md#beaconblock) object from the CL Altair spec.
      - `slot` string: The slot to which this block corresponds.
      - `proposer_index` string: Index of validator in validator registry.
      - `parent_root` string: The signing merkle root of the parent `BeaconBlock`.
      - `state_root` string: The tree hash merkle root of the `BeaconState` for the `BeaconBlock`.
      - `body` object: The [`BeaconBlockBody`](https://github.com/ethereum/consensus-specs/blob/v1.1.0-alpha.3/specs/altair/beacon-chain.md#beaconblockbody) object from the CL Altair spec.
        - `randao_reveal` string: The RanDAO reveal value provided by the validator.
        - `eth1_data` object: The [`Eth1Data`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#eth1data) object from the CL spec.
          - `deposit_root` string: Root of the deposit tree.
          - `deposit_count` string: Total number of deposits.
          - `block_hash` string: Ethereum 1.x block hash.
        - `graffiti` string
        - `proposer_slashings` object[]
          - `signed_header_1` object: The [`SignedBeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#signedbeaconblockheader) object envelope from the CL spec.
            - `message` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
              - …
            - `signature` string
          - `signed_header_2` object: The [`SignedBeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#signedbeaconblockheader) object envelope from the CL spec.
            - `message` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
              - …
            - `signature` string
        - `attester_slashings` object[]
          - `attestation_1` object: The [`IndexedAttestation`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#indexedattestation) object from the CL spec.
            - `attesting_indices` string[]: Attesting validator indices
            - `signature` string: The BLS signature of the `IndexedAttestation`, created by the validator of the attestation.
            - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
              - …
          - `attestation_2` object: The [`IndexedAttestation`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#indexedattestation) object from the CL spec.
            - `attesting_indices` string[]: Attesting validator indices
            - `signature` string: The BLS signature of the `IndexedAttestation`, created by the validator of the attestation.
            - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
              - …
        - `attestations` object[]
          - `aggregation_bits` string: Attester aggregation bits.
          - `signature` string: BLS aggregate signature.
          - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
            - `slot` string
            - `index` string
            - `beacon_block_root` string: LMD GHOST vote.
            - `source` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
              - …
            - `target` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
              - …
        - `deposits` object[]
          - `proof` string[]: Branch in the deposit tree.
          - `data` object: The [`DepositData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#depositdata) object from the CL spec.
            - `pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
            - `withdrawal_credentials` string: The withdrawal credentials.
            - `amount` string: Amount in Gwei.
            - `signature` string: Container self-signature.
        - `voluntary_exits` object[]
          - `message` object: The [`VoluntaryExit`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#voluntaryexit) object from the CL spec.
            - `epoch` string: Minimum epoch for processing exit.
            - `validator_index` string: Index of the exiting validator.
          - `signature` string
        - `sync_aggregate` object: The [`SyncAggregate`](https://github.com/ethereum/consensus-specs/blob/v1.1.0-alpha.1/specs/altair/beacon-chain.md#syncaggregate) object from the CL Altair spec.
          - `sync_committee_bits` string: Aggregation bits of sync
          - `sync_committee_signature` string
    - `signature` string
  - object: The [`SignedBeaconBlock`](https://github.com/ethereum/consensus-specs/blob/v1.1.9/specs/bellatrix/beacon-chain.md#signedbeaconblock) object envelope from the CL Bellatrix spec.
    - `message` object: The [`BeaconBlock`](https://github.com/ethereum/consensus-specs/blob/v1.1.9/specs/bellatrix/beacon-chain.md#beaconblock) object from the CL Bellatrix spec.
      - `slot` string: The slot to which this block corresponds.
      - `proposer_index` string: Index of validator in validator registry.
      - `parent_root` string: The signing merkle root of the parent `BeaconBlock`.
      - `state_root` string: The tree hash merkle root of the `BeaconState` for the `BeaconBlock`.
      - `body` object: The [`BeaconBlockBody`](https://github.com/ethereum/consensus-specs/blob/v1.1.9/specs/bellatrix/beacon-chain.md#beaconblockbody) object from the CL Bellatrix spec.
        - `randao_reveal` string: The RanDAO reveal value provided by the validator.
        - `eth1_data` object: The [`Eth1Data`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#eth1data) object from the CL spec.
          - `deposit_root` string: Root of the deposit tree.
          - `deposit_count` string: Total number of deposits.
          - `block_hash` string: Ethereum 1.x block hash.
        - `graffiti` string
        - `proposer_slashings` object[]
          - `signed_header_1` object: The [`SignedBeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#signedbeaconblockheader) object envelope from the CL spec.
            - `message` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
              - …
            - `signature` string
          - `signed_header_2` object: The [`SignedBeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#signedbeaconblockheader) object envelope from the CL spec.
            - `message` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
              - …
            - `signature` string
        - `attester_slashings` object[]
          - `attestation_1` object: The [`IndexedAttestation`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#indexedattestation) object from the CL spec.
            - `attesting_indices` string[]: Attesting validator indices
            - `signature` string: The BLS signature of the `IndexedAttestation`, created by the validator of the attestation.
            - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
              - …
          - `attestation_2` object: The [`IndexedAttestation`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#indexedattestation) object from the CL spec.
            - `attesting_indices` string[]: Attesting validator indices
            - `signature` string: The BLS signature of the `IndexedAttestation`, created by the validator of the attestation.
            - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
              - …
        - `attestations` object[]
          - `aggregation_bits` string: Attester aggregation bits.
          - `signature` string: BLS aggregate signature.
          - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
            - `slot` string
            - `index` string
            - `beacon_block_root` string: LMD GHOST vote.
            - `source` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
              - …
            - `target` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
              - …
        - `deposits` object[]
          - `proof` string[]: Branch in the deposit tree.
          - `data` object: The [`DepositData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#depositdata) object from the CL spec.
            - `pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
            - `withdrawal_credentials` string: The withdrawal credentials.
            - `amount` string: Amount in Gwei.
            - `signature` string: Container self-signature.
        - `voluntary_exits` object[]
          - `message` object: The [`VoluntaryExit`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#voluntaryexit) object from the CL spec.
            - `epoch` string: Minimum epoch for processing exit.
            - `validator_index` string: Index of the exiting validator.
          - `signature` string
        - `sync_aggregate` object: The [`SyncAggregate`](https://github.com/ethereum/consensus-specs/blob/v1.1.0-alpha.1/specs/altair/beacon-chain.md#syncaggregate) object from the CL Altair spec.
          - `sync_committee_bits` string: Aggregation bits of sync
          - `sync_committee_signature` string
        - `execution_payload` object: The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.1.9/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.
          - `parent_hash` string
          - `fee_recipient` string: An address on the execution (Ethereum 1) network.
          - `state_root` string
          - `receipts_root` string
          - `logs_bloom` string
          - `prev_randao` string
          - `block_number` string
          - `gas_limit` string
          - `gas_used` string
          - `timestamp` string
          - `extra_data` string: Extra data on the execution (Ethereum 1) network.
          - `base_fee_per_gas` string
          - `block_hash` string
          - `transactions` string[]
    - `signature` string

## Response `200`

The block was validated successfully and has been broadcast. It has also been integrated into the beacon node's database.

## Other responses

- `202`: The block failed validation, but was successfully broadcast anyway. It was not integrated into the beacon node's database.
- `400`: The `SignedBeaconBlock` object is invalid
- `500`: Beacon node internal error.
- `503`: Beacon node is currently syncing, try again later.

---

[API](https://skmtc.dev/nodereal/apis/eth-beacon-node-api.md) - [All operations](https://skmtc.dev/nodereal/apis/eth-beacon-node-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nodereal/apis/eth-beacon-node-api/revisions/1878ea8657a1?raw)
