diff --git a/docs/api/relay-oapi.yaml b/docs/api/relay-oapi.yaml
index f514bee..d85c187 100644
--- a/docs/api/relay-oapi.yaml
+++ b/docs/api/relay-oapi.yaml
@@ -6,16 +6,16 @@ info:
version: dev
contact:
name: GitHub Repository
- url: https://github.com/flashbots/relay-specs
+ url: 'https://github.com/flashbots/relay-specs'
license:
name: CC0-1.0
- url: https://creativecommons.org/publicdomain/zero/1.0/
+ url: 'https://creativecommons.org/publicdomain/zero/1.0/'
servers:
- url: '{server_url}'
variables:
server_url:
description: Relay URL
- default: http://localhost:18550
+ default: 'http://localhost:18550'
tags:
- name: Builder
description: Set of endpoints to interact with an external block builder.
@@ -38,6 +38,7 @@ paths:
* Slots without a registered validator are omitted.
tags:
- Builder
+ security: []
responses:
'200':
description: Success response.
@@ -57,25 +58,17 @@ paths:
entry:
type: object
description: The `SignedValidatorRegistration` object from the Builder API specification.
- required: &ref_7
- - message
- - signature
- properties: &ref_8
+ properties:
message:
type: object
description: The `ValidatorRegistration` object from the Builder API specification.
- required:
- - fee_recipient
- - gas_limit
- - timestamp
- - pubkey
properties:
fee_recipient:
description: Address to receive fees from the block.
type: string
format: hex
- example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09'
- pattern: ^0x[a-fA-F0-9]{40}$
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}'
gas_limit:
description: Preferred gas limit of validator.
type: string
@@ -88,14 +81,22 @@ paths:
description: BLS public key of validator.
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{96}$
+ pattern: '^0x[a-fA-F0-9]{96}'
example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
signature:
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{192}$
+ pattern: '^0x[a-fA-F0-9]{192}'
example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
- /relay/v1/builder/blocks:
+ '400':
+ description: Bad request.
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ message:
+ type: string
post:
operationId: submitBlock
summary: Submit a new block to the relay.
@@ -125,7 +126,7 @@ paths:
- name: cancellations
in: query
required: false
- description: If set to 1, opt into bid cancellations.
+ description: 'If set to 1, opt into bid cancellations.'
schema:
type: string
example: '1'
@@ -136,12 +137,12 @@ paths:
application/json:
schema:
oneOf:
- - allOf: &ref_9
+ - allOf:
- type: object
- properties: &ref_0
+ properties:
message:
type: object
- properties: &ref_2
+ properties:
slot:
type: string
example: '1'
@@ -149,30 +150,30 @@ paths:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
block_hash:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
builder_pubkey:
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{96}$
- description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
proposer_pubkey:
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{96}$
- description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
proposer_fee_recipient:
type: string
format: hex
description: An address on the execution (Ethereum 1) network.
- example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09'
- pattern: ^0x[a-fA-F0-9]{40}$
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
gas_limit:
type: string
example: '1'
@@ -185,60 +186,46 @@ paths:
signature:
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{192}$
+ pattern: '^0x[a-fA-F0-9]{192}$'
example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
- type: object
properties:
execution_payload:
- allOf: &ref_12
+ allOf:
- type: object
- description: The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.
- required:
- - parent_hash
- - fee_recipient
- - state_root
- - receipts_root
- - logs_bloom
- - prev_randao
- - block_number
- - gas_limit
- - gas_used
- - timestamp
- - extra_data
- - base_fee_per_gas
- - block_hash
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.'
properties:
parent_hash:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
fee_recipient:
type: string
format: hex
description: An address on the execution (Ethereum 1) network.
- example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09'
- pattern: ^0x[a-fA-F0-9]{40}$
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
state_root:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
receipts_root:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
logs_bloom:
type: string
format: hex
example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
- pattern: ^0x[a-fA-F0-9]{512}$
+ pattern: '^0x[a-fA-F0-9]{512}$'
prev_randao:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
block_number:
type: string
example: '1'
@@ -256,7 +243,7 @@ paths:
format: hex
description: Extra data on the execution (Ethereum 1) network.
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{0,64}$
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
base_fee_per_gas:
type: string
example: '1'
@@ -264,75 +251,107 @@ paths:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
- type: object
- required:
- - transactions
properties:
transactions:
type: array
- items: &ref_1
+ items:
type: string
format: hex
description: A transaction on the execution (Ethereum 1) network.
example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
- pattern: ^0x[a-fA-F0-9]{0,2147483648}$
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
maxItems: 1048576
- - allOf: &ref_10
+ - allOf:
- type: object
- properties: *ref_0
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
- type: object
properties:
execution_payload:
- allOf: &ref_13
+ allOf:
- type: object
- description: The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec.
- required:
- - parent_hash
- - fee_recipient
- - state_root
- - receipts_root
- - logs_bloom
- - prev_randao
- - block_number
- - gas_limit
- - gas_used
- - timestamp
- - extra_data
- - base_fee_per_gas
- - block_hash
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec.'
properties:
parent_hash:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
fee_recipient:
type: string
format: hex
description: An address on the execution (Ethereum 1) network.
- example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09'
- pattern: ^0x[a-fA-F0-9]{40}$
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
state_root:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
receipts_root:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
logs_bloom:
type: string
format: hex
example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
- pattern: ^0x[a-fA-F0-9]{512}$
+ pattern: '^0x[a-fA-F0-9]{512}$'
prev_randao:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
block_number:
type: string
example: '1'
@@ -350,7 +369,7 @@ paths:
format: hex
description: Extra data on the execution (Ethereum 1) network.
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{0,64}$
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
base_fee_per_gas:
type: string
example: '1'
@@ -358,25 +377,22 @@ paths:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
- type: object
- required:
- - transactions
- - withdrawals
properties:
transactions:
type: array
- items: *ref_1
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
maxItems: 1048576
withdrawals:
type: array
items:
type: object
- required:
- - index
- - validator_index
- - address
- - amount
properties:
index:
description: The index of the withdrawal.
@@ -390,58 +406,103 @@ paths:
description: The address to which the withdrawal is credited.
type: string
format: hex
- example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09'
- pattern: ^0x[a-fA-F0-9]{40}$
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
amount:
description: The value withdrawn (gwei).
type: string
example: '1'
maxItems: 16
- - allOf: &ref_11
+ - allOf:
- type: object
- properties: *ref_0
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
- type: object
description: A wrapper object containing the ExecutionPayload and the BlobsBundle
- required:
- - execution_payload
- - blobs_bundle
properties:
execution_payload:
- allOf: &ref_14
+ allOf:
- type: object
- description: The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec.
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec.'
properties:
parent_hash:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
fee_recipient:
type: string
format: hex
description: An address on the execution (Ethereum 1) network.
example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
- pattern: ^0x[a-fA-F0-9]{40}$
+ pattern: '^0x[a-fA-F0-9]{40}$'
state_root:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
receipts_root:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
logs_bloom:
type: string
format: hex
example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
- pattern: ^0x[a-fA-F0-9]{512}$
+ pattern: '^0x[a-fA-F0-9]{512}$'
prev_randao:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
block_number:
type: string
example: '1'
@@ -459,7 +520,7 @@ paths:
format: hex
description: Extra data on the execution (Ethereum 1) network.
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{0,64}$
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
base_fee_per_gas:
type: string
example: '1'
@@ -470,7 +531,7 @@ paths:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
- type: object
properties:
transactions:
@@ -480,7 +541,7 @@ paths:
format: hex
description: A transaction on the execution (Ethereum 1) network.
example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
- pattern: ^0x[a-fA-F0-9]{0,2147483648}$
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
maxItems: 1048576
withdrawals:
type: array
@@ -500,48 +561,47 @@ paths:
type: string
format: hex
example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
- pattern: ^0x[a-fA-F0-9]{40}$
+ pattern: '^0x[a-fA-F0-9]{40}$'
amount:
description: The value withdrawn (gwei).
type: string
example: '1'
maxItems: 16
blobs_bundle:
+ allOf:
+ - type: object
+ properties:
+ commitments:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ minItems: 0
+ maxItems: 6
+ proofs:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct.
+ minItems: 0
+ maxItems: 6
type: object
description: The `BlobsBundle` object from the CL Deneb spec
- required:
- - blobs
- - commitments
- - proofs
properties:
blobs:
type: array
items:
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{262144}$
+ pattern: '^0x[a-fA-F0-9]{262144}$'
description: A blob is `FIELD_ELEMENTS_PER_BLOB * size_of(BLSFieldElement) = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded Blob as defined in Deneb
minItems: 0
- maxItems: 4096
- commitments:
- type: array
- items:
- type: string
- format: hex
- pattern: ^0x[a-fA-F0-9]{96}$
- description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity
- example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
- minItems: 0
- maxItems: 4096
- proofs:
- type: array
- items:
- type: string
- format: hex
- pattern: ^0x[a-fA-F0-9]{96}$
- description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct.
- minItems: 0
- maxItems: 4096
+ maxItems: 6
examples:
bellatrix:
value:
@@ -657,10 +717,7 @@ paths:
schema:
allOf:
- type: object
- required: &ref_3
- - code
- - message
- properties: &ref_4
+ properties:
code:
description: Either specific error code in case of invalid request or http status code
type: number
@@ -669,7 +726,7 @@ paths:
description: Message describing error
type: string
stacktraces:
- description: Optional stacktraces, sent when node is in debug mode
+ description: 'Optional stacktraces, sent when node is in debug mode'
type: array
items:
type: string
@@ -678,7 +735,7 @@ paths:
message: payload for this slot was already delivered
'500':
description: An internal error on the relay.
- content: &ref_5
+ content:
application/json:
schema:
type: object
@@ -691,7 +748,7 @@ paths:
description: Message describing error
type: string
stacktraces:
- description: Optional stacktraces, sent when node is in debug mode
+ description: 'Optional stacktraces, sent when node is in debug mode'
type: array
items:
type: string
@@ -738,7 +795,7 @@ paths:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
- name: block_number
in: query
required: false
@@ -753,8 +810,8 @@ paths:
schema:
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{96}$
- description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
- name: builder_pubkey
in: query
@@ -763,8 +820,8 @@ paths:
schema:
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{96}$
- description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
- name: order_by
in: query
@@ -787,9 +844,49 @@ paths:
schema:
type: array
items:
- allOf: &ref_6
+ allOf:
- type: object
- properties: *ref_2
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
- type: object
properties:
block_number:
@@ -805,14 +902,44 @@ paths:
schema:
allOf:
- type: object
- required: *ref_3
- properties: *ref_4
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
- example:
code: 400
message: invalid block_hash argument
'500':
description: An internal error on the relay.
- content: *ref_5
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ example:
+ code: 500
+ message: internal server error
/relay/v1/data/bidtraces/builder_blocks_received:
get:
operationId: getReceivedBids
@@ -839,7 +966,7 @@ paths:
type: string
format: hex
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
- pattern: ^0x[a-fA-F0-9]{64}$
+ pattern: '^0x[a-fA-F0-9]{64}$'
- name: block_number
in: query
required: false
@@ -854,8 +981,8 @@ paths:
schema:
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{96}$
- description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
- name: limit
in: query
@@ -872,8 +999,58 @@ paths:
schema:
type: array
items:
- allOf: &ref_15
- - allOf: *ref_6
+ allOf:
+ - allOf:
+ - type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ block_number:
+ type: string
+ example: '1'
+ num_tx:
+ type: string
+ example: '1'
- type: object
properties:
timestamp:
@@ -889,14 +1066,44 @@ paths:
schema:
allOf:
- type: object
- required: *ref_3
- properties: *ref_4
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
- example:
code: 400
message: cannot specify both slot and cursor
'500':
description: An internal error on the relay.
- content: *ref_5
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ example:
+ code: 500
+ message: internal server error
/relay/v1/data/validator_registration:
get:
operationId: getValidatorRegistration
@@ -915,8 +1122,8 @@ paths:
schema:
type: string
format: hex
- pattern: ^0x[a-fA-F0-9]{96}$
- description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
responses:
'200':
@@ -926,8 +1133,36 @@ paths:
schema:
type: object
description: The `SignedValidatorRegistration` object from the Builder API specification.
- required: *ref_7
- properties: *ref_8
+ properties:
+ message:
+ type: object
+ description: The `ValidatorRegistration` object from the Builder API specification.
+ properties:
+ fee_recipient:
+ description: Address to receive fees from the block.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ description: Preferred gas limit of validator.
+ type: string
+ example: '1'
+ timestamp:
+ description: Unix timestamp of registration.
+ type: string
+ example: '1'
+ pubkey:
+ description: BLS public key of validator.
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
'400':
description: Error response.
content:
@@ -935,35 +1170,842 @@ paths:
schema:
allOf:
- type: object
- required: *ref_3
- properties: *ref_4
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
- example:
code: 400
message: missing pubkey argument
'500':
description: An internal error on the relay.
- content: *ref_5
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ example:
+ code: 500
+ message: internal server error
+security:
+ - JWT: []
components:
+ securitySchemes:
+ JWT:
+ type: http
+ scheme: bearer
+ bearerFormat: JWT
schemas:
+ Uint64:
+ type: string
+ example: '1'
+ Root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ Pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ ErrorMessage:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ OrderBy:
+ description: |
+ Sort results in either ascending or descending values.
+ * `-value` - descending value (highest value first)
+ * `value` - ascending value (lowest value first)
+ type: string
+ enum:
+ - '-value'
+ - value
+ Bellatrix.SubmitBlockRequest:
+ allOf:
+ - type: object
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ - type: object
+ properties:
+ execution_payload:
+ allOf:
+ - type: object
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.'
+ properties:
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ state_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ receipts_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ logs_bloom:
+ type: string
+ format: hex
+ example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ pattern: '^0x[a-fA-F0-9]{512}$'
+ prev_randao:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_number:
+ type: string
+ example: '1'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ timestamp:
+ type: string
+ example: '1'
+ extra_data:
+ type: string
+ format: hex
+ description: Extra data on the execution (Ethereum 1) network.
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
+ base_fee_per_gas:
+ type: string
+ example: '1'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
+ maxItems: 1048576
+ Capella.SubmitBlockRequest:
+ allOf:
+ - type: object
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ - type: object
+ properties:
+ execution_payload:
+ allOf:
+ - type: object
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec.'
+ properties:
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ state_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ receipts_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ logs_bloom:
+ type: string
+ format: hex
+ example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ pattern: '^0x[a-fA-F0-9]{512}$'
+ prev_randao:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_number:
+ type: string
+ example: '1'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ timestamp:
+ type: string
+ example: '1'
+ extra_data:
+ type: string
+ format: hex
+ description: Extra data on the execution (Ethereum 1) network.
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
+ base_fee_per_gas:
+ type: string
+ example: '1'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
+ maxItems: 1048576
+ withdrawals:
+ type: array
+ items:
+ type: object
+ properties:
+ index:
+ description: The index of the withdrawal.
+ type: string
+ example: '1'
+ validator_index:
+ description: The index of the withdrawing validator.
+ type: string
+ example: '1'
+ address:
+ description: The address to which the withdrawal is credited.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ amount:
+ description: The value withdrawn (gwei).
+ type: string
+ example: '1'
+ maxItems: 16
+ Deneb.SubmitBlockRequest:
+ allOf:
+ - type: object
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ - type: object
+ description: A wrapper object containing the ExecutionPayload and the BlobsBundle
+ properties:
+ execution_payload:
+ allOf:
+ - type: object
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec.'
+ properties:
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ state_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ receipts_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ logs_bloom:
+ type: string
+ format: hex
+ example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ pattern: '^0x[a-fA-F0-9]{512}$'
+ prev_randao:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_number:
+ type: string
+ example: '1'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ timestamp:
+ type: string
+ example: '1'
+ extra_data:
+ type: string
+ format: hex
+ description: Extra data on the execution (Ethereum 1) network.
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
+ base_fee_per_gas:
+ type: string
+ example: '1'
+ excess_data_gas:
+ type: string
+ example: '1'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
+ maxItems: 1048576
+ withdrawals:
+ type: array
+ items:
+ type: object
+ properties:
+ index:
+ description: The index of the withdrawal.
+ type: string
+ example: '1'
+ validator_index:
+ description: The index of the withdrawing validator.
+ type: string
+ example: '1'
+ address:
+ description: The address to which the withdrawal is credited.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ amount:
+ description: The value withdrawn (gwei).
+ type: string
+ example: '1'
+ maxItems: 16
+ blobs_bundle:
+ allOf:
+ - type: object
+ properties:
+ commitments:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ minItems: 0
+ maxItems: 6
+ proofs:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct.
+ minItems: 0
+ maxItems: 6
+ type: object
+ description: The `BlobsBundle` object from the CL Deneb spec
+ properties:
+ blobs:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{262144}$'
+ description: A blob is `FIELD_ELEMENTS_PER_BLOB * size_of(BLSFieldElement) = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded Blob as defined in Deneb
+ minItems: 0
+ maxItems: 6
+ ValidatorsResponse:
+ type: array
+ items:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ validator_index:
+ type: string
+ example: '1'
+ entry:
+ type: object
+ description: The `SignedValidatorRegistration` object from the Builder API specification.
+ properties:
+ message:
+ type: object
+ description: The `ValidatorRegistration` object from the Builder API specification.
+ properties:
+ fee_recipient:
+ description: Address to receive fees from the block.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ description: Preferred gas limit of validator.
+ type: string
+ example: '1'
+ timestamp:
+ description: Unix timestamp of registration.
+ type: string
+ example: '1'
+ pubkey:
+ description: BLS public key of validator.
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ DeliveredPayloadsResponse:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ block_number:
+ type: string
+ example: '1'
+ num_tx:
+ type: string
+ example: '1'
+ ReceivedBlocksResponse:
+ type: array
+ items:
+ allOf:
+ - allOf:
+ - type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ block_number:
+ type: string
+ example: '1'
+ num_tx:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ timestamp:
+ type: string
+ example: '1'
+ timestamp_ms:
+ type: string
+ example: '1'
+ responses:
+ InternalError:
+ description: An internal error on the relay.
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ example:
+ code: 500
+ message: internal server error
+ examples:
Bellatrix.SubmitBlockRequest:
- allOf: *ref_9
+ value:
+ message:
+ slot: '1'
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ gas_limit: '1'
+ gas_used: '1'
+ value: '1'
+ execution_payload:
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_number: '1'
+ gas_limit: '1'
+ gas_used: '1'
+ timestamp: '1'
+ extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ base_fee_per_gas: '1'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ transactions:
+ - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
Capella.SubmitBlockRequest:
- allOf: *ref_10
+ value:
+ message:
+ slot: '1'
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ gas_limit: '1'
+ gas_used: '1'
+ value: '1'
+ execution_payload:
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_number: '1'
+ gas_limit: '1'
+ gas_used: '1'
+ timestamp: '1'
+ extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ base_fee_per_gas: '1'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ transactions:
+ - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ withdrawals:
+ - index: '1'
+ validator_index: '1'
+ address: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ amount: '32000000000'
+ signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
Deneb.SubmitBlockRequest:
- allOf: *ref_11
- ExecutionPayload:
- allOf: *ref_12
- SubmitBlockRequest:
- allOf: *ref_9
- Capella-ExecutionPayload:
- allOf: *ref_13
- Capella-SubmitBlockRequest:
- allOf: *ref_10
- Deneb-ExecutionPayload:
- allOf: *ref_14
- Deneb-SubmitBlockRequest:
- allOf: *ref_11
- BidTraceV2:
- allOf: *ref_6
- BidTraceV2WithTimestamp:
- allOf: *ref_15
+ value:
+ message:
+ slot: '1'
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ gas_limit: '1'
+ gas_used: '1'
+ value: '1'
+ execution_payload:
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_number: '1'
+ gas_limit: '1'
+ gas_used: '1'
+ timestamp: '1'
+ extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ base_fee_per_gas: '1'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ transactions:
+ - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ withdrawals:
+ - index: '1'
+ validator_index: '1'
+ address: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ amount: '32000000000'
+ blobs_bundle:
+ commitments:
+ - '0x8dab030c51e16e84be9caab84ee3d0b8bbec1db4a0e4de76439da8424d9b957370a10a78851f97e4b54d2ce1ab0d686f'
+ proofs:
+ - '0xb4021b0de10f743893d4f71e1bf830c019e832958efd6795baf2f83b8699a9eccc5dc99015d8d4d8ec370d0cc333c06a'
+ blobs:
+ - '0x24564723180fcb3d994104538d351c8dcbde12d541676bb736cf678018ca4739'
+ signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
diff --git a/docs/get-started.md b/docs/get-started.md
new file mode 100644
index 0000000..8c65cdf
--- /dev/null
+++ b/docs/get-started.md
@@ -0,0 +1,66 @@
+---
+icon: material/home
+---
+
+# What is XGA?
+
+XGA is a platform that is comprised of an Optimism based Rollup, a smart contract protocol, an Ethereum consensus layer
+sidecar and a domain-specific engine called Open Games for proving/developing (game-specific) mechanisms.
+
+
+
+- [**:octicons-beaker-16: Optimizing Bidding Stratagies**](#) – from a single _valuation definition_, traders can maintain or create different bidding strategies.
+- [**:octicons-sync-16: State sync**](/state) – automatically synchronize the state from the server with connected clients.
+- [**:octicons-server-16: Scalable**](/scalability) – built to be horizontally and/or vertically scalable
+- [**:octicons-cloud-16: Cloud-agnostic**](/deployment) – you may self-host it on your own servers for free, or use our commercial [XGA Cloud](https://cloud.xga.com/) service.
+
+
+
+---
+
+## Getting started
+
+Before we start, let's make sure you have the necessary system requirements installed on your local machine.
+
+**Requirements**:
+
+## Creating your server
+
+Use the command below to set up a new XGA server project:
+
+=== ":octicons-terminal-16: Terminal: Node.js"
+
+ ``` bash
+ # Create a new XGA project
+ npm create xga-app@latest ./my-server
+
+ # Enter the project directory
+ cd my-server
+
+ # Run the server
+ npm start
+ ```
+
+=== ":octicons-terminal-16: Terminal: Bun"
+
+ ``` bash
+ # Create a new XGA project
+ bunx create-xga-app@latest ./my-server
+
+ # Enter the project directory
+ cd my-server
+
+ # Install Bun transport & Run the server
+ bun add @xga/bun-websockets
+ bun run src/index.ts
+ ```
+
+---
+
+## Next steps
+
+- See how to connect to the XGA Rollup through one of the available [client-side SDKs](/client/).
+- Implement your own [Valuation definition](/server/room) to handle your game sessions.
+- Learn how to [exchange messages](/server/room/#onmessage-type-callback) between the L2 Rollup and L1 Mainnet.
+- Learn how the [state synchronization](/state/) works.
+- Good Hunting.
\ No newline at end of file
diff --git a/docs/stylesheets/_.css b/docs/stylesheets/_.css
new file mode 100644
index 0000000..bf87e57
--- /dev/null
+++ b/docs/stylesheets/_.css
@@ -0,0 +1,31 @@
+:root {
+ --ifm-color-primary: #2e8555;
+ --ifm-color-primary-dark: #29784c;
+ --ifm-color-primary-darker: #277148;
+ --ifm-color-primary-darkest: #205d3b;
+ --ifm-color-primary-light: #33925d;
+ --ifm-color-primary-lighter: #359962;
+ --ifm-color-primary-lightest: #3cad6e;
+ --ifm-code-font-size: 95%;
+ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
+ --ifm-pre-padding: 2rem;
+ --ifm-navbar-height: 6.5rem;
+}
+
+/* For readability concerns, you should choose a lighter palette in dark mode. */
+[data-theme='dark'] {
+ --ifm-color-primary: #25c2a0;
+ --ifm-color-primary-dark: #21af90;
+ --ifm-color-primary-darker: #1fa588;
+ --ifm-color-primary-darkest: #1a8870;
+ --ifm-color-primary-light: #29d5b0;
+ --ifm-color-primary-lighter: #32d8b4;
+ --ifm-color-primary-lightest: #4fddbf;
+ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
+}
+
+html[data-theme='dark'] {
+ --ifm-background-color: #272b33;
+ --ifm-navbar-background-color: var(--ifm-background-color);
+ --ifm-footer-background-color: var(--ifm-background-color);
+}
diff --git a/mkdocs.yml b/mkdocs.yml
index cc270c8..606fa69 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -178,6 +178,7 @@ markdown_extensions:
nav:
- index.md
+ - Quickstart: getting-started.md
- Cheat Sheet: cheatsheet.md
- Developers:
- Getting Started: Developers/index.md
diff --git a/redocly.yaml b/redocly.yaml
new file mode 100644
index 0000000..d19adb8
--- /dev/null
+++ b/redocly.yaml
@@ -0,0 +1,22 @@
+# See https://redocly.com/docs/cli/configuration/
+
+extends:
+ - recommended
+
+rules:
+ # A sample custom rule. Read more about rules: https://redocly.com/docs/cli/rules/
+ rule/operation-description:
+ subject:
+ type: Operation
+ property: description
+ assertions:
+ defined: true
+ minLength: 30
+
+theme:
+ openapi:
+ generateCodeSamples:
+ languages:
+ - lang: curl
+ - lang: Node.js
+ - lang: Python
\ No newline at end of file
diff --git a/relay-oapi.yaml b/relay-oapi.yaml
new file mode 100644
index 0000000..cea2436
--- /dev/null
+++ b/relay-oapi.yaml
@@ -0,0 +1,2004 @@
+openapi: 3.0.3
+info:
+ title: Relay API
+ description: |
+ API specification for MEV-Boost PBS relays.
+ version: dev
+ contact:
+ name: GitHub Repository
+ url: 'https://github.com/flashbots/relay-specs'
+ license:
+ name: CC0-1.0
+ url: 'https://creativecommons.org/publicdomain/zero/1.0/'
+servers:
+ - url: '{server_url}'
+ variables:
+ server_url:
+ description: Relay URL
+ default: 'http://localhost:18550'
+tags:
+ - name: Builder
+ description: Set of endpoints to interact with an external block builder.
+ - name: Data
+ description: Set of endpoints to provide data about the relay.
+paths:
+ /relay/v1/builder/validators:
+ get:
+ operationId: getValidators
+ summary: |
+ Get a list of validator registrations for validators scheduled to propose
+ in the current and next epoch.
+ description: |
+ * Used by builders to know when to submit bids for an upcoming proposal.
+
+ * Returns an array of validator registrations for the current and next epoch.
+
+ * Each entry includes a slot and the validator with assigned duty.
+
+ * Slots without a registered validator are omitted.
+ tags:
+ - Builder
+ security: []
+ responses:
+ '200':
+ description: Success response.
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ validator_index:
+ type: string
+ example: '1'
+ entry:
+ type: object
+ description: The `SignedValidatorRegistration` object from the Builder API specification.
+ properties:
+ message:
+ type: object
+ description: The `ValidatorRegistration` object from the Builder API specification.
+ properties:
+ fee_recipient:
+ description: Address to receive fees from the block.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}'
+ gas_limit:
+ description: Preferred gas limit of validator.
+ type: string
+ example: '1'
+ timestamp:
+ description: Unix timestamp of registration.
+ type: string
+ example: '1'
+ pubkey:
+ description: BLS public key of validator.
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ '400':
+ description: Bad request.
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ message:
+ type: string
+ post:
+ operationId: submitBlock
+ summary: Submit a new block to the relay.
+ description: |
+ * Blocks can be submitted as JSON or SSZ, and optionally GZIP encoded. To be
+ clear, there are four options: JSON, JSON+GZIP, SSZ, SSZ+GZIP. If JSON, the
+ content type should be `application/json`. If SSZ, the content type should
+ be `application/octet-stream`.
+
+ * To enable GZIP compression for the request body, the HTTP content encoding
+ should be `gzip`. Compression is optional.
+
+ * The relay will simulate the block to verify properties and proposer
+ payment in the payment transaction from builder to proposer
+ `fee_recipient` at the end of block.
+
+ * For accountability, builder signature is over the SSZ encoded `message`.
+
+ * The `message`, which does not include the transactions, will be made
+ public via the data API, allowing anyone to verify the builder signature.
+
+ * Any new submission by a builder will overwrite a previous one by the same
+ `builder_pubkey`, even if it is less profitable.
+ tags:
+ - Builder
+ parameters:
+ - name: cancellations
+ in: query
+ required: false
+ description: 'If set to 1, opt into bid cancellations.'
+ schema:
+ type: string
+ example: '1'
+ requestBody:
+ description: A signed bid with an execution payload.
+ required: true
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - allOf:
+ - type: object
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ - type: object
+ properties:
+ execution_payload:
+ allOf:
+ - type: object
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.'
+ properties:
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ state_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ receipts_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ logs_bloom:
+ type: string
+ format: hex
+ example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ pattern: '^0x[a-fA-F0-9]{512}$'
+ prev_randao:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_number:
+ type: string
+ example: '1'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ timestamp:
+ type: string
+ example: '1'
+ extra_data:
+ type: string
+ format: hex
+ description: Extra data on the execution (Ethereum 1) network.
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
+ base_fee_per_gas:
+ type: string
+ example: '1'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
+ maxItems: 1048576
+ - allOf:
+ - type: object
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ - type: object
+ properties:
+ execution_payload:
+ allOf:
+ - type: object
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec.'
+ properties:
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ state_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ receipts_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ logs_bloom:
+ type: string
+ format: hex
+ example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ pattern: '^0x[a-fA-F0-9]{512}$'
+ prev_randao:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_number:
+ type: string
+ example: '1'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ timestamp:
+ type: string
+ example: '1'
+ extra_data:
+ type: string
+ format: hex
+ description: Extra data on the execution (Ethereum 1) network.
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
+ base_fee_per_gas:
+ type: string
+ example: '1'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
+ maxItems: 1048576
+ withdrawals:
+ type: array
+ items:
+ type: object
+ properties:
+ index:
+ description: The index of the withdrawal.
+ type: string
+ example: '1'
+ validator_index:
+ description: The index of the withdrawing validator.
+ type: string
+ example: '1'
+ address:
+ description: The address to which the withdrawal is credited.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ amount:
+ description: The value withdrawn (gwei).
+ type: string
+ example: '1'
+ maxItems: 16
+ - allOf:
+ - type: object
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ - type: object
+ description: A wrapper object containing the ExecutionPayload and the BlobsBundle
+ properties:
+ execution_payload:
+ allOf:
+ - type: object
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec.'
+ properties:
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ state_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ receipts_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ logs_bloom:
+ type: string
+ format: hex
+ example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ pattern: '^0x[a-fA-F0-9]{512}$'
+ prev_randao:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_number:
+ type: string
+ example: '1'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ timestamp:
+ type: string
+ example: '1'
+ extra_data:
+ type: string
+ format: hex
+ description: Extra data on the execution (Ethereum 1) network.
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
+ base_fee_per_gas:
+ type: string
+ example: '1'
+ excess_data_gas:
+ type: string
+ example: '1'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
+ maxItems: 1048576
+ withdrawals:
+ type: array
+ items:
+ type: object
+ properties:
+ index:
+ description: The index of the withdrawal.
+ type: string
+ example: '1'
+ validator_index:
+ description: The index of the withdrawing validator.
+ type: string
+ example: '1'
+ address:
+ description: The address to which the withdrawal is credited.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ amount:
+ description: The value withdrawn (gwei).
+ type: string
+ example: '1'
+ maxItems: 16
+ blobs_bundle:
+ allOf:
+ - type: object
+ properties:
+ commitments:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ minItems: 0
+ maxItems: 6
+ proofs:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct.
+ minItems: 0
+ maxItems: 6
+ type: object
+ description: The `BlobsBundle` object from the CL Deneb spec
+ properties:
+ blobs:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{262144}$'
+ description: A blob is `FIELD_ELEMENTS_PER_BLOB * size_of(BLSFieldElement) = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded Blob as defined in Deneb
+ minItems: 0
+ maxItems: 6
+ examples:
+ bellatrix:
+ value:
+ message:
+ slot: '1'
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ gas_limit: '1'
+ gas_used: '1'
+ value: '1'
+ execution_payload:
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_number: '1'
+ gas_limit: '1'
+ gas_used: '1'
+ timestamp: '1'
+ extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ base_fee_per_gas: '1'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ transactions:
+ - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ capella:
+ value:
+ message:
+ slot: '1'
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ gas_limit: '1'
+ gas_used: '1'
+ value: '1'
+ execution_payload:
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_number: '1'
+ gas_limit: '1'
+ gas_used: '1'
+ timestamp: '1'
+ extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ base_fee_per_gas: '1'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ transactions:
+ - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ withdrawals:
+ - index: '1'
+ validator_index: '1'
+ address: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ amount: '32000000000'
+ signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ deneb:
+ value:
+ message:
+ slot: '1'
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ gas_limit: '1'
+ gas_used: '1'
+ value: '1'
+ execution_payload:
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_number: '1'
+ gas_limit: '1'
+ gas_used: '1'
+ timestamp: '1'
+ extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ base_fee_per_gas: '1'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ transactions:
+ - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ withdrawals:
+ - index: '1'
+ validator_index: '1'
+ address: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ amount: '32000000000'
+ blobs_bundle:
+ commitments:
+ - '0x8dab030c51e16e84be9caab84ee3d0b8bbec1db4a0e4de76439da8424d9b957370a10a78851f97e4b54d2ce1ab0d686f'
+ proofs:
+ - '0xb4021b0de10f743893d4f71e1bf830c019e832958efd6795baf2f83b8699a9eccc5dc99015d8d4d8ec370d0cc333c06a'
+ blobs:
+ - '0x24564723180fcb3d994104538d351c8dcbde12d541676bb736cf678018ca4739'
+ signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ application/octet-stream:
+ schema:
+ description: SSZ serialized request. Use content type header to indicate that SSZ data is contained in the request body.
+ responses:
+ '200':
+ description: Success response.
+ '400':
+ description: Error response.
+ content:
+ application/json:
+ schema:
+ allOf:
+ - type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ - example:
+ code: 400
+ message: payload for this slot was already delivered
+ '500':
+ description: An internal error on the relay.
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ example:
+ code: 500
+ message: internal server error
+ /relay/v1/data/bidtraces/proposer_payload_delivered:
+ get:
+ operationId: getDeliveredPayloads
+ summary: Get payloads that were delivered to proposers.
+ description: |
+ * Payloads become available after the relay responds to a `getPayload` request from the proposer.
+
+ * Query arguments are used as filters.
+ tags:
+ - Data
+ parameters:
+ - name: slot
+ in: query
+ required: false
+ description: A specific slot.
+ schema:
+ type: string
+ example: '1'
+ - name: cursor
+ in: query
+ required: false
+ description: A starting slot for multiple results.
+ schema:
+ type: string
+ example: '1'
+ - name: limit
+ in: query
+ required: false
+ description: The number of results.
+ schema:
+ type: string
+ example: '1'
+ - name: block_hash
+ in: query
+ required: false
+ description: A specific block hash.
+ schema:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - name: block_number
+ in: query
+ required: false
+ description: A specific block number.
+ schema:
+ type: string
+ example: '1'
+ - name: proposer_pubkey
+ in: query
+ required: false
+ description: A specific proposer public key.
+ schema:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ - name: builder_pubkey
+ in: query
+ required: false
+ description: A specific builder public key.
+ schema:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ - name: order_by
+ in: query
+ required: false
+ description: Sort results in order of...
+ schema:
+ description: |
+ Sort results in either ascending or descending values.
+ * `-value` - descending value (highest value first)
+ * `value` - ascending value (lowest value first)
+ type: string
+ enum:
+ - '-value'
+ - value
+ responses:
+ '200':
+ description: Success response.
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ block_number:
+ type: string
+ example: '1'
+ num_tx:
+ type: string
+ example: '1'
+ '400':
+ description: Error response.
+ content:
+ application/json:
+ schema:
+ allOf:
+ - type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ - example:
+ code: 400
+ message: invalid block_hash argument
+ '500':
+ description: An internal error on the relay.
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ example:
+ code: 500
+ message: internal server error
+ /relay/v1/data/bidtraces/builder_blocks_received:
+ get:
+ operationId: getReceivedBids
+ summary: Get builder bid submissions.
+ description: |
+ * Returns a list of builder bids without execution payloads.
+
+ * Only submissions that were successfully verified.
+ tags:
+ - Data
+ parameters:
+ - name: slot
+ in: query
+ required: false
+ description: A specific slot.
+ schema:
+ type: string
+ example: '1'
+ - name: block_hash
+ in: query
+ required: false
+ description: A specific block hash.
+ schema:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - name: block_number
+ in: query
+ required: false
+ description: A specific block number.
+ schema:
+ type: string
+ example: '1'
+ - name: builder_pubkey
+ in: query
+ required: false
+ description: A specific builder public key.
+ schema:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ - name: limit
+ in: query
+ required: false
+ description: The number of results.
+ schema:
+ type: string
+ example: '1'
+ responses:
+ '200':
+ description: Success response.
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ allOf:
+ - allOf:
+ - type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ block_number:
+ type: string
+ example: '1'
+ num_tx:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ timestamp:
+ type: string
+ example: '1'
+ timestamp_ms:
+ type: string
+ example: '1'
+ '400':
+ description: Error response.
+ content:
+ application/json:
+ schema:
+ allOf:
+ - type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ - example:
+ code: 400
+ message: cannot specify both slot and cursor
+ '500':
+ description: An internal error on the relay.
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ example:
+ code: 500
+ message: internal server error
+ /relay/v1/data/validator_registration:
+ get:
+ operationId: getValidatorRegistration
+ summary: Check that a validator is registered with the relay.
+ description: |
+ * Returns the latest validator registration for a given pubkey.
+
+ * Useful to check whether your own registration was successful.
+ tags:
+ - Data
+ parameters:
+ - name: pubkey
+ in: query
+ required: true
+ description: The validator's public key.
+ schema:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ responses:
+ '200':
+ description: Success response.
+ content:
+ application/json:
+ schema:
+ type: object
+ description: The `SignedValidatorRegistration` object from the Builder API specification.
+ properties:
+ message:
+ type: object
+ description: The `ValidatorRegistration` object from the Builder API specification.
+ properties:
+ fee_recipient:
+ description: Address to receive fees from the block.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ description: Preferred gas limit of validator.
+ type: string
+ example: '1'
+ timestamp:
+ description: Unix timestamp of registration.
+ type: string
+ example: '1'
+ pubkey:
+ description: BLS public key of validator.
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ '400':
+ description: Error response.
+ content:
+ application/json:
+ schema:
+ allOf:
+ - type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ - example:
+ code: 400
+ message: missing pubkey argument
+ '500':
+ description: An internal error on the relay.
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ example:
+ code: 500
+ message: internal server error
+components:
+ schemas:
+ Uint64:
+ type: string
+ example: '1'
+ Root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ Pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ ErrorMessage:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ OrderBy:
+ description: |
+ Sort results in either ascending or descending values.
+ * `-value` - descending value (highest value first)
+ * `value` - ascending value (lowest value first)
+ type: string
+ enum:
+ - '-value'
+ - value
+ Bellatrix.SubmitBlockRequest:
+ allOf:
+ - type: object
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ - type: object
+ properties:
+ execution_payload:
+ allOf:
+ - type: object
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.'
+ properties:
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ state_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ receipts_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ logs_bloom:
+ type: string
+ format: hex
+ example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ pattern: '^0x[a-fA-F0-9]{512}$'
+ prev_randao:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_number:
+ type: string
+ example: '1'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ timestamp:
+ type: string
+ example: '1'
+ extra_data:
+ type: string
+ format: hex
+ description: Extra data on the execution (Ethereum 1) network.
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
+ base_fee_per_gas:
+ type: string
+ example: '1'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
+ maxItems: 1048576
+ Capella.SubmitBlockRequest:
+ allOf:
+ - type: object
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ - type: object
+ properties:
+ execution_payload:
+ allOf:
+ - type: object
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec.'
+ properties:
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ state_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ receipts_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ logs_bloom:
+ type: string
+ format: hex
+ example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ pattern: '^0x[a-fA-F0-9]{512}$'
+ prev_randao:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_number:
+ type: string
+ example: '1'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ timestamp:
+ type: string
+ example: '1'
+ extra_data:
+ type: string
+ format: hex
+ description: Extra data on the execution (Ethereum 1) network.
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
+ base_fee_per_gas:
+ type: string
+ example: '1'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
+ maxItems: 1048576
+ withdrawals:
+ type: array
+ items:
+ type: object
+ properties:
+ index:
+ description: The index of the withdrawal.
+ type: string
+ example: '1'
+ validator_index:
+ description: The index of the withdrawing validator.
+ type: string
+ example: '1'
+ address:
+ description: The address to which the withdrawal is credited.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ amount:
+ description: The value withdrawn (gwei).
+ type: string
+ example: '1'
+ maxItems: 16
+ Deneb.SubmitBlockRequest:
+ allOf:
+ - type: object
+ properties:
+ message:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ - type: object
+ description: A wrapper object containing the ExecutionPayload and the BlobsBundle
+ properties:
+ execution_payload:
+ allOf:
+ - type: object
+ description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec.'
+ properties:
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ state_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ receipts_root:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ logs_bloom:
+ type: string
+ format: hex
+ example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ pattern: '^0x[a-fA-F0-9]{512}$'
+ prev_randao:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_number:
+ type: string
+ example: '1'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ timestamp:
+ type: string
+ example: '1'
+ extra_data:
+ type: string
+ format: hex
+ description: Extra data on the execution (Ethereum 1) network.
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{0,64}$'
+ base_fee_per_gas:
+ type: string
+ example: '1'
+ excess_data_gas:
+ type: string
+ example: '1'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ - type: object
+ properties:
+ transactions:
+ type: array
+ items:
+ type: string
+ format: hex
+ description: A transaction on the execution (Ethereum 1) network.
+ example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ pattern: '^0x[a-fA-F0-9]{0,2147483648}$'
+ maxItems: 1048576
+ withdrawals:
+ type: array
+ items:
+ type: object
+ properties:
+ index:
+ description: The index of the withdrawal.
+ type: string
+ example: '1'
+ validator_index:
+ description: The index of the withdrawing validator.
+ type: string
+ example: '1'
+ address:
+ description: The address to which the withdrawal is credited.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ amount:
+ description: The value withdrawn (gwei).
+ type: string
+ example: '1'
+ maxItems: 16
+ blobs_bundle:
+ allOf:
+ - type: object
+ properties:
+ commitments:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ minItems: 0
+ maxItems: 6
+ proofs:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct.
+ minItems: 0
+ maxItems: 6
+ type: object
+ description: The `BlobsBundle` object from the CL Deneb spec
+ properties:
+ blobs:
+ type: array
+ items:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{262144}$'
+ description: A blob is `FIELD_ELEMENTS_PER_BLOB * size_of(BLSFieldElement) = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded Blob as defined in Deneb
+ minItems: 0
+ maxItems: 6
+ ValidatorsResponse:
+ type: array
+ items:
+ type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ validator_index:
+ type: string
+ example: '1'
+ entry:
+ type: object
+ description: The `SignedValidatorRegistration` object from the Builder API specification.
+ properties:
+ message:
+ type: object
+ description: The `ValidatorRegistration` object from the Builder API specification.
+ properties:
+ fee_recipient:
+ description: Address to receive fees from the block.
+ type: string
+ format: hex
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ description: Preferred gas limit of validator.
+ type: string
+ example: '1'
+ timestamp:
+ description: Unix timestamp of registration.
+ type: string
+ example: '1'
+ pubkey:
+ description: BLS public key of validator.
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ signature:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{192}$'
+ example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ DeliveredPayloadsResponse:
+ type: array
+ items:
+ allOf:
+ - type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ block_number:
+ type: string
+ example: '1'
+ num_tx:
+ type: string
+ example: '1'
+ ReceivedBlocksResponse:
+ type: array
+ items:
+ allOf:
+ - allOf:
+ - type: object
+ properties:
+ slot:
+ type: string
+ example: '1'
+ parent_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ block_hash:
+ type: string
+ format: hex
+ example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ pattern: '^0x[a-fA-F0-9]{64}$'
+ builder_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_pubkey:
+ type: string
+ format: hex
+ pattern: '^0x[a-fA-F0-9]{96}$'
+ description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._'
+ example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient:
+ type: string
+ format: hex
+ description: An address on the execution (Ethereum 1) network.
+ example: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ pattern: '^0x[a-fA-F0-9]{40}$'
+ gas_limit:
+ type: string
+ example: '1'
+ gas_used:
+ type: string
+ example: '1'
+ value:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ block_number:
+ type: string
+ example: '1'
+ num_tx:
+ type: string
+ example: '1'
+ - type: object
+ properties:
+ timestamp:
+ type: string
+ example: '1'
+ timestamp_ms:
+ type: string
+ example: '1'
+ responses:
+ InternalError:
+ description: An internal error on the relay.
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ code:
+ description: Either specific error code in case of invalid request or http status code
+ type: number
+ example: 404
+ message:
+ description: Message describing error
+ type: string
+ stacktraces:
+ description: 'Optional stacktraces, sent when node is in debug mode'
+ type: array
+ items:
+ type: string
+ example:
+ code: 500
+ message: internal server error
+ examples:
+ Bellatrix.SubmitBlockRequest:
+ value:
+ message:
+ slot: '1'
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ gas_limit: '1'
+ gas_used: '1'
+ value: '1'
+ execution_payload:
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_number: '1'
+ gas_limit: '1'
+ gas_used: '1'
+ timestamp: '1'
+ extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ base_fee_per_gas: '1'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ transactions:
+ - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ Capella.SubmitBlockRequest:
+ value:
+ message:
+ slot: '1'
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ gas_limit: '1'
+ gas_used: '1'
+ value: '1'
+ execution_payload:
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_number: '1'
+ gas_limit: '1'
+ gas_used: '1'
+ timestamp: '1'
+ extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ base_fee_per_gas: '1'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ transactions:
+ - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ withdrawals:
+ - index: '1'
+ validator_index: '1'
+ address: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ amount: '32000000000'
+ signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'
+ Deneb.SubmitBlockRequest:
+ value:
+ message:
+ slot: '1'
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a'
+ proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ gas_limit: '1'
+ gas_used: '1'
+ value: '1'
+ execution_payload:
+ parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ block_number: '1'
+ gas_limit: '1'
+ gas_used: '1'
+ timestamp: '1'
+ extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ base_fee_per_gas: '1'
+ block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
+ transactions:
+ - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86'
+ withdrawals:
+ - index: '1'
+ validator_index: '1'
+ address: '0xabcf8e0d4e9587369b2301d0790347320302cc09'
+ amount: '32000000000'
+ blobs_bundle:
+ commitments:
+ - '0x8dab030c51e16e84be9caab84ee3d0b8bbec1db4a0e4de76439da8424d9b957370a10a78851f97e4b54d2ce1ab0d686f'
+ proofs:
+ - '0xb4021b0de10f743893d4f71e1bf830c019e832958efd6795baf2f83b8699a9eccc5dc99015d8d4d8ec370d0cc333c06a'
+ blobs:
+ - '0x24564723180fcb3d994104538d351c8dcbde12d541676bb736cf678018ca4739'
+ signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'