Flow Overview
At a high level

Click to expand
Requests Flow
Initialize Staking Flow
To start the aggregated staking process, you'll need to create a new flow. This can be done by sending a POST request to the endpoint/api/v1/flows.
URL
https://eth-slate.datahub.figment.io/api/v1/flows
Request
flow—objectnetwork_code* —stringNetwork this flow operates on (ethereum).chain_code* —stringChain this flow operates on (mainnet,goerliorholesky).operation* —stringThe operation to perform (aggregated_staking).
{
"flow": {
"network_code": "ethereum",
"chain_code": "holesky",
"operation": "aggregated_staking"
}
}Response
id—stringID of the newly created flow.operation—stringThe Staking API operation being performed by this flow (aggregated_staking).state—stringThe current state of the flow (initialized).actions—arrayAn array of action objects containing the name, inputs, and validations for advancing the flow with each action.assign_staking_data— Use this action to generate an aggregated deposit transaction to stake your ETH. Theassign_staking_dataaction indicates eleven fields for data collection.
data: Data specific to this flow.funding_account_address— The wallet holding the ETH to be staked.withdrawal_address— The withdrawal address into which you want to receive your rewards and principal after withdrawal.amount— The amount of ETH you want to stake. Multiple of 32 less than or equal to 3200.deposits—arrayof validator deposit data:validator_pub_key— The public key of the validator to which the ETH will be deposited.withdrawal_credentials— The withdrawal address for the given validator.signature— A BLS proof of possession, i.e. a proof that the private key corresponding to thevalidator_pub_keyis known by the signer.deposit_data_root— Uniquely identifies the set of deposits made so far.genesis_fork_version— The fork version of Ethereum you used as an input to createsignature.
gas_limit— Adjust the gas limit.gas_price— Adjust the gas price.estimated_active_at:stringA high fidelity estimation of when a given validator will become active.
{
"id": "7d0c5354-72f0-4bac-bc29-b7384d0321a8",
"operation": "aggregated_staking",
"state": "initialized",
"actions": [
{
"name": "assign_staking_data",
"inputs": [
{
"name": "funding_account_address",
"display": "Funding Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
},
{
"type": "hex",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "deposits",
"display": "Deposits",
"description": "",
"type": "array_of_validator_deposit_data",
"validations": [
{
"type": "array",
"options": {
"allow_empty": true,
"allow_duplicates": false
}
},
{
"type": "length",
"options": {
"maximum": 250,
"message": "cannot fund more than 250 validators in single transaction"
}
},
{
"type": "array_of_objects",
"options": {
"merge_array_errors": true
}
}
],
"array": true,
"default_value": null,
"element_type": "validator_deposit_data",
"inputs": [
{
"name": "validator_pub_key",
"display": "Validator Pub Key",
"description": "",
"type": "hex",
"validations": [
{
"type": "presence",
"options": {}
},
{
"type": "hex",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "withdrawal_credentials",
"display": "Withdrawal Credentials",
"description": "",
"type": "hex",
"validations": [
{
"type": "presence",
"options": {}
},
{
"type": "hex",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "signature",
"display": "Signature",
"description": "",
"type": "hex",
"validations": [
{
"type": "presence",
"options": {}
},
{
"type": "hex",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "deposit_data_root",
"display": "Deposit Data Root",
"description": "",
"type": "hex",
"validations": [
{
"type": "presence",
"options": {}
},
{
"type": "hex",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "genesis_fork_version",
"display": "Genesis Fork Version",
"description": "",
"type": "hex",
"validations": [
{
"type": "acceptable_genesis_fork_version",
"options": {}
}
],
"array": false,
"default_value": null
}
]
},
{
"name": "gas_limit",
"display": "Gas Limit",
"description": "",
"type": "string",
"validations": [
{
"type": "numericality",
"options": {
"allow_blank": true,
"only_integer": true,
"greater_than": 0
}
}
],
"array": false,
"default_value": null
},
{
"name": "gas_price",
"display": "Gas Price",
"description": "",
"type": "string",
"validations": [
{
"type": "numericality",
"options": {
"allow_blank": true,
"greater_than": 0
}
},
{
"type": "precision",
"options": {
"allow_blank": true,
"max": 9
}
}
],
"array": false,
"default_value": null
},
{
"name": "withdrawal_address",
"display": "Withdrawal Address",
"description": "",
"type": "string",
"validations": [],
"array": false,
"default_value": null
},
{
"name": "amount",
"display": "Amount",
"description": "",
"type": "decimal",
"validations": [],
"array": false,
"default_value": null
}
]
}
],
"data": {
"deposits": [],
"funding_account_address": null,
"withdrawal_address": null,
"amount": null,
"validators_to_provision": null,
"gas_price": null,
"gas_limit": null,
"aggregated_deposit_transaction": null
"estimated_active_at": null,
"uses_onchain_billing": null,
"region": null
},
"network_code": "ethereum",
"chain_code": "holesky",
"created_at": "2023-04-06T06:37:06.055Z",
"updated_at": "2023-04-06T06:37:06.055Z"
}Submit Staking Data
Once you have collected all the required inputs, proceed to the next step by sending a PUT request to /api/v1/flows/[:flow_id]/next.
URL
https://eth-slate.datahub.figment.io/api/v1/flows/[:flow_id]/next
Request
name* :assign_staking_datainputs* :objectfunding_account_address* :stringThe wallet holding the ETH to be staked.withdrawal_address* :hexThe withdrawal address into which you want to receive your rewards and principal after withdrawal.amount* :numberThe amount of ETH you want to stake. Multiple of 32 less than or equal to 3200.gas_limit: Adjust the gas limitgas_price: Adjust the gas price
{
"name": "assign_staking_data",
"inputs": {
"funding_account_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"withdrawal_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"amount": 32
}
}Response
The aggregated staking flow ensures sufficient provision of validators to stake your full amount, even if your organization hasn't pre-provisioned enough validators.
WarningThis process operates asynchronously and may require awaiting a webhook indicating successful provisioning or polling before proceeding.
Best PracticeTo monitor progress effectively, consider polling the flow until it reaches the state of
aggregated_deposit_tx_signature. This should not take longer than 2.5 minutes.This allows you to handle the subsequent steps with greater efficiency and accuracy.
Therefore, two possible states may be returned:
awaiting_provision: The Staking API is in communication with internal systems to provision validators for your organization.aggregated_deposit_tx_signature: Your organization has enough validators available, allowing you to proceed to transaction signing. This can be due to preprovisioned validators or the Staking API provisioning validators for you and moving out of theawaiting_provisionstate.
Notes
Within the data object, the field estimated_active_at provides a high fidelity estimation of when all validators funded in this flow will be active.
{
"id": "7d0c5354-72f0-4bac-bc29-b7384d0321a8",
"operation": "aggregated_staking",
"state": "awaiting_provision",
"actions": [
{
"name": "wait",
"estimated_state_change_at": "2023-04-06T06:44:08.345Z",
"inputs": []
}
],
"data": {
"deposits": [],
"funding_account_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"withdrawal_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"amount": "32.0",
"validators_to_provision": 1,
"gas_price": null,
"gas_limit": null,
"aggregated_deposit_transaction": null,
"estimated_active_at": "2023-04-08T12:10:21.412Z",
"uses_onchain_billing": null,
"region": null
},
"network_code": "ethereum",
"chain_code": "holesky",
"created_at": "2023-04-06T06:37:06.055Z",
"updated_at": "2023-04-06T06:39:07.287Z"
}Once the flow state is aggregated_deposit_tx_signature, you'll see the serialized transaction you need to sign in the data.aggregated_deposit_transaction object - either raw (the serialized transaction object) or signing_payload (the payload cryptographically derived from raw, required for Fireblocks) depending on your custody solution.
{
"id": "7d0c5354-72f0-4bac-bc29-b7384d0321a8",
"operation": "aggregated_staking",
"state": "awaiting_provision",
"actions": [
{
"name": "wait",
"estimated_state_change_at": "2023-04-06T06:44:08.345Z",
"inputs": []
}
],
"data": {
"deposits": [
{
"validator_pub_key": "0xa04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643",
"withdrawal_credentials": "0x010000000000000000000000b458d87418e6020260c92e18b11b64f1ed6fff30",
"signature": "0xb39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c9",
"deposit_data_root": "0x0fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08",
"genesis_fork_version": "0x00001020"
}
],
"funding_account_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"withdrawal_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"amount": "32.0",
"validators_to_provision": 1,
"gas_price": null,
"gas_limit": null,
"aggregated_deposit_transaction": {
"raw": "0x02f902d705018459682f008459682f0e83010fc19494a2da805867c962148d3832d9afc512034a62c58901bc16d674ec800000b902a44f498c730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030a04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200100000000000000000000003e6378828edf262a29e5f42a499fab71a671c2e5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060b39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c900000000000000000000000000000000000000000000000000000000000000010fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08c0",
"signing_payload": "0xadfbe948da3c2c402b9d4316d61077b9aa2a6167e0e56652e4d0005becdcf273",
"signed": null,
"hash": null,
"status": null,
"error": null,
"signatures": null,
"block_time": null,
"block_number": null
},
"estimated_active_at": "2023-04-08T12:10:21.412Z",
"uses_onchain_billing": null,
"region": null
},
"network_code": "ethereum",
"chain_code": "holesky",
"created_at": "2023-04-06T06:37:06.055Z",
"updated_at": "2023-04-06T06:39:07.287Z"
}Sign Staking Transaction
Sign transaction payloadWhen the flow reaches
aggregated_deposit_tx_signature, you will find an unsigned transaction payload that is ready to be signed for staking with your organization's validators.
Furthermore, within the state aggregated_deposit_tx_signature, you have the option to take one of three potential actions:
refresh_aggregated_deposit_tx: If you require an updated version of the transaction payload, usually when the transaction nonce of yourfunding_accounthas increased.sign_aggregated_deposit_tx: You can proceed by submitting a signed transaction payload or an array of signatures. For detailed instructions on signing transactions, please refer to the guides Signing Transactions with Figment's npm Package and Signing Transactions with the Fireblocks API for details.confirm_aggregated_deposit_tx_by_hash: Another option is to submit a previously completed transaction hash to advance the flow. For more information on this method, please consult the guide Advance Flows Using a Transaction Hash.
Broadcast Staking Transaction
WarningBefore broadcasting the transaction, you must sign the
transaction_payloadyou received in the previous step.
After successfully signing the transaction, you have two methods to proceed. Both methods involve sending a PUT request to the following URL: https://eth-slate.datahub.figment.io/api/v1/flows/[:flow_id]/next. Choose the appropriate method based on your signing approach.
Method 1 - Submitting Transaction Payload:
If you signed the transaction and have the transaction payload available, use the following request details:
API Endpoint
https://eth-slate.datahub.figment.io/api/v1/flows/[:flow_id]/next
Request Details
name*:sign_aggregated_deposit_txinputs*:objecttransaction_payload*: The signed transaction payload obtained from the previous step's response.
{
"name": "sign_aggregated_deposit_tx",
"inputs": {
"transaction_payload": "0x02f9031b05028459682f0085293dc82d66830116fa943e30fc2cc800af86e88b69d32d9daf7eccb3a5208901bc16d674ec800000b902a44f498c730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000309855d353352eefb56929801e0d376cf6e5973d18c39424fe42c829cb62a6ff17648e6fdbf0c7259d25d09e17769cf27600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020010000000000000000000000b458d87418e6020260c92e18b11b64f1ed6fff3000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006094c7e3414664f4dbd1cc8d326de278ee0e4fcf4bc74fb1ea74216bab8c644ddc4fd1ed59dca7db60959f81d4dd5dd8271175113fbc0decb19486f885a5e2bc440a5b3b33184be66dd069290ebe7f47024d2799ea7b1c1eb829cc018b8334fdb00000000000000000000000000000000000000000000000000000000000000001348de8001f6b5ce424f93ca0ca090ad1986ee5969991fa02af345980e874ade6c001a0e65fa70c0c8224d19a18fffaabd4f1d76773d6e86aa1b95e416d10b2fe799738a07c8430f7f6e566e0647fd2295c0ba1b2e0d8f7cd212b7bae9aa0365f69d590a9"
}
}Method 2 - Submitting Signatures:
If your signing keys are managed by a custodial solution (e.g., Fireblocks), you can use an alternative method by submitting an array of object containing the signatures. Here are the request details:
API Endpoint
https://eth-slate.datahub.figment.io/api/v1/flows/[:flow_id]/next
Request Details
name*:sign_aggregated_deposit_txinputs*:objectsignatures: Anarrayofobjectrepresenting the signatures. This method is useful when you don't send the transaction payload directly. For more information, refer to the guide Signing Transactions with the Fireblocks API.
Wether you opt for Method 1 or Method 2, the response will look like this:
Response
id:stringID of the flow.operation:stringThe Staking API operation being performed by this flow.state:stringThe current state of the flow.aggregated_deposit_tx_broadcasting: Transaction broadcasting to the network.activating: Transaction has been confirmed and stake is now activating.active: Stake is active and earning rewards.
actions:arrayIt includes thename&inputsof all next possible actions.data:objectFlow & transaction data.estimated_active_at:stringA high fidelity estimation of when a given validator will become active.
{
"id": "7d0c5354-72f0-4bac-bc29-b7384d0321a8",
"operation": "aggregated_staking",
"state": "aggregated_deposit_tx_broadcasting",
"actions": [
{
"name": "wait",
"estimated_state_change_at": "2023-04-06T06:45:19.485Z",
"inputs": []
}
],
"data": {
"deposits": [
{
"validator_pub_key": "0xa04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643",
"withdrawal_credentials": "0x010000000000000000000000b458d87418e6020260c92e18b11b64f1ed6fff30",
"signature": "0xb39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c9",
"deposit_data_root": "0x0fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08",
"genesis_fork_version": "0x00001020"
}
],
"funding_account_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"withdrawal_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"amount": "32.0",
"validators_to_provision": 1,
"gas_price": null,
"gas_limit": null,
"aggregated_deposit_transaction": {
"raw": "0x02f902d705018459682f008459682f0e83010fc19494a2da805867c962148d3832d9afc512034a62c58901bc16d674ec800000b902a44f498c730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030a04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200100000000000000000000003e6378828edf262a29e5f42a499fab71a671c2e5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060b39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c900000000000000000000000000000000000000000000000000000000000000010fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08c0",
"signing_payload": "0xadfbe948da3c2c402b9d4316d61077b9aa2a6167e0e56652e4d0005becdcf273",
"signed": "0x02f9031a05018459682f008459682f0e83010fc19494a2da805867c962148d3832d9afc512034a62c58901bc16d674ec800000b902a44f498c730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030a04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200100000000000000000000003e6378828edf262a29e5f42a499fab71a671c2e5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060b39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c900000000000000000000000000000000000000000000000000000000000000010fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08c001a0f66f117bdf93b45612b0734e2a7ec752879caffa090e009d80b61b938e75d722a068c895d7c01625e2d610bea7fc195943ab0b16424f095286acde280b2ef13526",
"hash": "0x8296ee05533cd7ae09eefaf2861ea9134f7a4dee1cdbcc3a40890300f51c09fb",
status: null,
error: null,
signatures: [],
block_time: null,
block_number: null
},
"estimated_active_at": "2022-04-08T12:10:21.412Z",
"uses_onchain_billing": null,
"region": null
},
"network_code": "ethereum",
"chain_code": "holesky",
"created_at": "2023-04-06T06:37:06.055Z",
"updated_at": "2023-04-06T06:44:18.777Z"
}You can then poll the flow (see below) to wait for transaction confirmation to verify that your validator(s) are activating, at which point the flow state will be activating and you'll see the response below:
{
"id": "7d0c5354-72f0-4bac-bc29-b7384d0321a8",
"operation": "aggregated_staking",
"state": "activating",
"actions": [
{
"name": "wait",
"estimated_state_change_at": "2023-11-03T17:28:22.428Z",
"inputs": []
}
],
"data": {
"deposits": [
{
"validator_pub_key": "0xa04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643",
"withdrawal_credentials": "0x010000000000000000000000b458d87418e6020260c92e18b11b64f1ed6fff30",
"signature": "0xb39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c9",
"deposit_data_root": "0x0fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08",
"genesis_fork_version": "0x00001020"
}
],
"funding_account_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"withdrawal_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"amount": "32.0",
"validators_to_provision": 1,
"gas_price": null,
"gas_limit": null,
"aggregated_deposit_transaction": {
"raw": "0x02f902d705018459682f008459682f0e83010fc19494a2da805867c962148d3832d9afc512034a62c58901bc16d674ec800000b902a44f498c730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030a04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200100000000000000000000003e6378828edf262a29e5f42a499fab71a671c2e5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060b39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c900000000000000000000000000000000000000000000000000000000000000010fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08c0",
"signing_payload": "0xadfbe948da3c2c402b9d4316d61077b9aa2a6167e0e56652e4d0005becdcf273",
"signed": "0x02f9031a05018459682f008459682f0e83010fc19494a2da805867c962148d3832d9afc512034a62c58901bc16d674ec800000b902a44f498c730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030a04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200100000000000000000000003e6378828edf262a29e5f42a499fab71a671c2e5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060b39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c900000000000000000000000000000000000000000000000000000000000000010fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08c001a0f66f117bdf93b45612b0734e2a7ec752879caffa090e009d80b61b938e75d722a068c895d7c01625e2d610bea7fc195943ab0b16424f095286acde280b2ef13526",
"hash": "0x8296ee05533cd7ae09eefaf2861ea9134f7a4dee1cdbcc3a40890300f51c09fb",
"status": "confirmed",
"error": null,
"signatures": [],
"block_time": "2023-11-03T03:49:00.000Z",
"block_number": null
},
"estimated_active_at": "2023-11-03T17:28:22.428Z",
"uses_onchain_billing": null,
"region": null
},
"network_code": "ethereum",
"chain_code": "goerli",
"created_at": "2023-11-03T03:48:40.899Z",
"updated_at": "2023-11-03T03:49:10.440Z"
}Get Staking Flow
To get the current state of the existing flow, send a GET request to /api/v1/flows/[:flow_id] using the flow ID from the previous step.
URL
https://eth-slate.datahub.figment.io/api/v1/flows/[:flow_id]
Request
- None
Response
id:stringID of the flow.operation:stringThe Staking API operation being performed by this flow.state:stringThe current state of the flow.aggregated_deposit_tx_broadcasting: Transaction is broadcasting and not confirmed yet.activating: The validator is in the activation queue and will join the active set.active: The validator has successfully joined the active set.- Refer to the Ethereum Validator Lifecycle guide for more information.
actions:arrayIt includes thename&inputsof all next possible actions.data:objectFlow & transaction data.estimated_active_at:stringA high fidelity estimation of when the validator will become active.
{
"id": "7d0c5354-72f0-4bac-bc29-b7384d0321a8",
"operation": "aggregated_staking",
"state": "active",
"actions": [],
"data": {
"deposits": [
{
"validator_pub_key": "0xa04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643",
"withdrawal_credentials": "0x010000000000000000000000b458d87418e6020260c92e18b11b64f1ed6fff30",
"signature": "0xb39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c9",
"deposit_data_root": "0x0fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08",
"genesis_fork_version": "0x00001020"
}
],
"funding_account_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"withdrawal_address": "0xB458D87418e6020260C92e18b11b64F1ed6fFF30",
"amount": "32.0",
"validators_to_provision": 1,
"gas_price": null,
"gas_limit": null,
"aggregated_deposit_transaction": {
"raw": "0x02f902d705018459682f008459682f0e83010fc19494a2da805867c962148d3832d9afc512034a62c58901bc16d674ec800000b902a44f498c730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030a04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200100000000000000000000003e6378828edf262a29e5f42a499fab71a671c2e5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060b39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c900000000000000000000000000000000000000000000000000000000000000010fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08c0",
"signing_payload": "0xadfbe948da3c2c402b9d4316d61077b9aa2a6167e0e56652e4d0005becdcf273",
"signed": "0x02f9031a05018459682f008459682f0e83010fc19494a2da805867c962148d3832d9afc512034a62c58901bc16d674ec800000b902a44f498c730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030a04ca4eaa29cebaef60c7505861ecd71b617e2c590b768cbc8ded11d48a530c06c3419b26ebc6f068dcd805bbca62643000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200100000000000000000000003e6378828edf262a29e5f42a499fab71a671c2e5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060b39e5bf4359b8cf933b89c03157d4221eb81edca55c392b6e9ba1984d343389abc7f5041500851170b8e20d181f8e8f719e4f6a2c9c7fe9591f0873ae6a92a1a9aef193f2e2545a947d4373719223ff0b2b37cf28ba5c825d4773c2755e668c900000000000000000000000000000000000000000000000000000000000000010fbe24174cbfaaa8f85bc2bf47db2d9cc124d01ef3ad705d02b4d62b562f4a08c001a0f66f117bdf93b45612b0734e2a7ec752879caffa090e009d80b61b938e75d722a068c895d7c01625e2d610bea7fc195943ab0b16424f095286acde280b2ef13526",
"hash": "0x8296ee05533cd7ae09eefaf2861ea9134f7a4dee1cdbcc3a40890300f51c09fb",
status: null,
error: null,
signatures: [],
block_time: null,
block_number: null
},
"estimated_active_at": "2022-04-08T12:10:21.412Z",
"uses_onchain_billing": null,
"region": null
},
"network_code": "ethereum",
"chain_code": "holesky",
"created_at": "2023-04-06T06:37:06.055Z",
"updated_at": "2023-04-06T22:44:54.133Z"
}