The Staking API's DOT staking flow will walk your application through the process of both bonding DOT, and making validator nominations. You are able to skip either step so effectively you can:
- Bond and nominate
- Bond (or bond extra) with or without updating nominations
- Just nominate
Use the create_bond_more_tx action when you need to bond extra tokens while the flow state is bonding_complete.
In the following guide we will illustrate how to stake DOT.
Create New Staking Flow
To initiate the staking process, create a new flow with a POST request to /api/v1/flows.
URL
https://polkadot-slate.datahub.figment.io/api/v1/flows
Request
flow:objectnetwork_code* :stringNetwork this flow operates on (ex.polkadot).chain_code* :stringChain this flow operates on (ex.westend).operation* :stringThe operation to perform (ex.staking).
{
"flow": {
"network_code": "polkadot",
"chain_code": "westend",
"operation": "staking"
}
}Response
id:stringID of the flow.operation:stringThe Staking API operation being performed by this flow.state:stringThe current state of the flow.actions:arrayIt includes thename&inputsof all next possible actions.assign_stash_and_controller_account: Use this action if you already have a controller account set up and wish to add bond to it.create_bonding_tx: Use this action if you do not have a controller account set up and would like to create a controller and bond tokens.controller_account_address: The wallet to which the DOT will be bonded.controller_proxy_account_address: A proxy account that will sign on behalf of the controller account.stash_account_address: Primary wallet from which DOT will be bonded.stash_proxy_account_address: A proxy account that will sign on behalf of the stash account.reward_destination: Indicates whether rewards are to be:- Added to the staked balance:
Staked. - Sent to the controller account, liquid:
Controller. - Sent to the stash account, liquid:
Stash.
- Added to the staked balance:
amount: The amount of DOT to be bonded to the controller. This field should be in full DOT, not in Planck (ie. if you want to stake 5 DOT, return"amount": 5.0). The Staking API will translate the amount to Plancks so you do not have to worry about the conversion factor.
data:objectFlow & transaction data.
{
"id": "705bd51b-f9a7-4dbf-aa78-2523e32bd24a",
"operation": "staking",
"state": "initialized",
"actions": [
{
"name": "assign_stash_and_controller_account",
"inputs": [
{
"name": "controller_account_address",
"display": "Controller Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "controller_proxy_account_address",
"display": "Controller Proxy Account Address",
"description": "",
"type": "string",
"validations": [],
"array": false,
"default_value": null
},
{
"name": "stash_account_address",
"display": "Stash Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "stash_proxy_account_address",
"display": "Stash Proxy Account Address",
"description": "",
"type": "string",
"validations": [],
"array": false,
"default_value": null
}
]
},
{
"name": "create_bonding_tx",
"inputs": [
{
"name": "controller_account_address",
"display": "Controller Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "controller_proxy_account_address",
"display": "Controller Proxy Account Address",
"description": "",
"type": "string",
"validations": [],
"array": false,
"default_value": null
},
{
"name": "stash_account_address",
"display": "Stash Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "stash_proxy_account_address",
"display": "Stash Proxy Account Address",
"description": "",
"type": "string",
"validations": [],
"array": false,
"default_value": null
},
{
"name": "reward_destination",
"display": "Reward Destination",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "amount",
"display": "Amount",
"description": "in DOT",
"type": "decimal",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
}
]
}
],
"data": {
"controller_account_address": null,
"controller_proxy_account_address": null,
"stash_account_address": null,
"stash_proxy_account_address": null,
"validator_addresses": null,
"reward_destination": null,
"amount": null,
"bonding_transaction": null,
"nomination_transaction": null,
"bond_more_transaction": null
},
"network_code": "polkadot",
"chain_code": "westend",
"created_at": "2023-02-28T17:13:26.096Z",
"updated_at": "2023-02-28T17:13:26.096Z"
}Submit Bonding Transaction Data
After creating a new staking flow, submit the staking account data. Collect the required inputs. Send a PUT request to /api/v1/flows/[:flow_id]/next to proceed to the next step.
URL
https://polkadot-slate.datahub.figment.io/api/v1/flows/[:flow_id]/next
Request
name* :create_bonding_txinputs* :objectcontroller_account_address* :stringAddress of the wallet to which the DOT will be bonded.controller_proxy_account_address:stringA proxy account that will sign on behalf of the controller account.stash_account_address* :stringPrimary wallet from which DOT will be bonded. Cannot have a zero balance.stash_proxy_account_address:stringA proxy account that will sign on behalf of the controller account.reward_destination* :stringReward destination. Indicates whether rewards are to be:StakedAdded to the staked balance.ControllerSent to the controller account, liquid.StashSent to the stash account, liquid. Providing thestash_account_addressis equivalent to usingStash.
amount* :numberThe amount of DOT to be bonded to the controller. Minimum of1.0. This field should be in full DOT, not in Planck (ie. if you want to stake 5 DOT, return"amount": 5.0). The Staking API will translate the amount to Plancks so you do not have to worry about the conversion factor.
{
"name": "create_bonding_tx",
"inputs": {
"controller_account_address": "5FWX3P9gwg4FKAyDHp1UYJp4ZZYPPoQZHfWRcN74HwBgXifh",
"stash_account_address": "5FH4Ek1u9d4V5R1REoary3MDSApLL6vkEEcW2M7fZR9bnUuz",
"reward_destination": "5FH4Ek1u9d4V5R1REoary3MDSApLL6vkEEcW2M7fZR9bnUuz",
"amount": 1
}
}Response
id:stringID of the flow.operation:stringThe Staking API operation being performed by this flow.state:stringThe current state of the flow.actions:arrayIt includes thename&inputsof all next possible actions.refresh_bonding_tx: If you need to get a fresh version of the transaction payload (i.e., the nonce has increased).sign_bonding_tx: Submit a signed transaction payload or an array of signatures to continue the flow. Refer to the guides Signing Transactions with Figment's npm Package and Signing Transactions with the Fireblocks API for details.confirm_bonding_tx_by_hash: Submit a previously completed transaction hash to continue the flow. Refer to the guide Advance Flows Using a Transaction Hash.
data:objectFlow & transaction data.
{
"id": "90a28f6e-09b4-4fe1-aeb4-c8e3720933ab",
"operation": "staking",
"state": "bonding_tx_signature",
"actions": [
{
"name": "refresh_bonding_tx",
"inputs": [
{
"name": "controller_account_address",
"display": "Controller Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": "5CtTpJSdf13cbBZU4RX7EHkEaJ53pVaAF5XJosmusXJ5gdDg"
},
{
"name": "controller_proxy_account_address",
"display": "Controller Proxy Account Address",
"description": "",
"type": "string",
"validations": [],
"array": false,
"default_value": null
},
{
"name": "stash_account_address",
"display": "Stash Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t"
},
{
"name": "stash_proxy_account_address",
"display": "Stash Proxy Account Address",
"description": "",
"type": "string",
"validations": [],
"array": false,
"default_value": null
},
{
"name": "reward_destination",
"display": "Reward Destination",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t"
},
{
"name": "amount",
"display": "Amount",
"description": "in DOT",
"type": "decimal",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": "1.0"
}
]
},
{
"name": "sign_bonding_tx",
"inputs": [
{
"name": "transaction_payload",
"display": "Transaction Payload",
"description": "",
"type": "signed_transaction",
"validations": [
{
"type": "sign_payload",
"options": {}
}
],
"array": false,
"default_value": null,
"signers": [
"5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t"
],
"transaction_payload": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e00000000000000000000000000000000000000000000000000000000000000000000000000060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec7451c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004"
},
{
"name": "signatures",
"display": "Signatures",
"description": "",
"type": "array_of_signatures",
"validations": [],
"array": true,
"default_value": null,
"element_type": "signature_data",
"signers": [
"5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t"
],
"transaction_payload": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e00000000000000000000000000000000000000000000000000000000000000000000000000060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec7451c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745000000a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"inputs": [
{
"name": "account_address",
"display": "Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "signature",
"display": "Signature",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
}
]
}
]
},
{
"name": "confirm_bonding_tx_by_hash",
"inputs": [
{
"name": "hash",
"display": "Hash",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "block_number",
"display": "Block Number",
"description": "",
"type": "integer",
"validations": [],
"array": false,
"default_value": null
}
]
}
],
"data": {
"controller_account_address": "5CtTpJSdf13cbBZU4RX7EHkEaJ53pVaAF5XJosmusXJ5gdDg",
"controller_proxy_account_address": null,
"stash_account_address": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t",
"stash_proxy_account_address": null,
"validator_addresses": null,
"reward_destination": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t",
"amount": "1.0",
"bonding_transaction": {
"raw": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e00000000000000000000000000000000000000000000000000000000000000000000000000060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec7451c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745000000a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": null,
"hash": null,
"status": null,
"error": null,
"signatures": null,
"block_time": null,
"block_number": null,
"proxy": false
},
"nomination_transaction": null,
"bond_more_transaction": null
},
"network_code": "polkadot",
"chain_code": "westend",
"created_at": "2023-02-28T17:28:38.940Z",
"updated_at": "2023-02-28T18:05:30.096Z"
}Submit Bond More Transaction Data
Bond more tokens between an existing Stash and Controller account. The required input is the amount. Send a PUT request to /api/v1/flows/[:flow_id]/next to proceed to the next step.
URL
https://polkadot-slate.datahub.figment.io/api/v1/flows/[:flow_id]/next
Request
name* :create_bond_more_tx.inputs* :objectamount* :numberThe amount of DOT to be bonded to the controller. Minimum of1.0. This field should be in full DOT, not in Planck (ie. if you want to stake 5 DOT, return"amount": 5.0). The Staking API will translate the amount to Plancks so you do not have to worry about the conversion factor.
{
"name": "create_bond_more_tx",
"inputs": {
"amount": 1
}
}Response
id:stringID of the flow.operation:stringThe Staking API operation being performed by this flow.state:stringThe current state of the flow.actions:arrayIt includes thename&inputsof all next possible actions.refresh_bond_more_tx: If you need to get a fresh version of the transaction payload (i.e., the nonce has increased).sign_bond_more_tx: Submit a signed transaction payload or an array of signatures to continue the flow. Refer to the guides Signing Transactions with Figment's npm Package and Signing Transactions with the Fireblocks API for details.confirm_bond_more_tx_by_hash: Submit a previously completed transaction hash to continue the flow. Refer to the guide Advance Flows Using a Transaction Hash.
data:objectFlow & transaction data.
{
"id": "2dd1fb5e-d089-4aca-81e9-fb52f2e245d1",
"state": "bond_more_tx_signature",
"actions": [
{
"name": "refresh_bond_more_tx",
"inputs": [
{
"name": "amount",
"display": "Amount",
"description": "in DOT",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
},
{
"type": "numericality",
"options": {
"greater_than": 0
}
}
],
"array": false,
"default_value": "1.0"
}
]
},
{
"name": "sign_bond_more_tx",
"inputs": [
{
"name": "transaction_payload",
"display": "Transaction Payload",
"description": "",
"type": "signed_transaction",
"validations": [
{
"type": "sign_payload",
"options": {}
}
],
"array": false,
"default_value": null,
"signers": [
"5FNVfA6qhVJBKrG4KCo6CLzvcXVRRdiGpsYHbkzujMUG6JJG"
],
"transaction_payload": "0x0004000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e000000000000000000000000000000000000000000000000000000000000000000000000000601070010a5d4e81c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004"
},
{
"name": "signatures",
"display": "Signatures",
"description": "",
"type": "array_of_signatures",
"validations": [],
"array": true,
"default_value": null,
"element_type": "signature_data",
"signers": [
"5FNVfA6qhVJBKrG4KCo6CLzvcXVRRdiGpsYHbkzujMUG6JJG"
],
"transaction_payload": "0x0004000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e000000000000000000000000000000000000000000000000000000000000000000000000000601070010a5d4e81c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x0601070010a5d4e8000400a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"inputs": {
"input_klass": "Workflows::Signature",
"input_instance": {
"account_address": null,
"signature": null
},
"flow": {
"workflow_state": "bond_more_tx_signature",
"id": 3770,
"customer_id": 40,
"chain_id": 8,
"data": {
"controller_account_address": "5EsUYYB1wj2MYkQF1Wrr4gQo8L2v5aRZWjZunxRjFXdUm81k",
"controller_proxy_account_address": null,
"stash_account_address": "5FNVfA6qhVJBKrG4KCo6CLzvcXVRRdiGpsYHbkzujMUG6JJG",
"stash_proxy_account_address": null,
"validator_addresses": null,
"reward_destination": "5FNVfA6qhVJBKrG4KCo6CLzvcXVRRdiGpsYHbkzujMUG6JJG",
"amount": "1.0",
"bonding_transaction": {
"raw": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e000000000000000000000000000000000000000000000000000000000000000000000000000600007c242fcd1bb54e2a6af7791e7f2392ffe9e8069498c0fe841bcd87889c59121d070010a5d4e80392460dcf0b9ae6cabf654c1b33f02f52934d1ae262f8db733b470b631c5871651c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x0600007c242fcd1bb54e2a6af7791e7f2392ffe9e8069498c0fe841bcd87889c59121d070010a5d4e80392460dcf0b9ae6cabf654c1b33f02f52934d1ae262f8db733b470b631c587165000000a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": "0xc102840092460dcf0b9ae6cabf654c1b33f02f52934d1ae262f8db733b470b631c58716501f0890cf1144825f8e40321cf344105c6af1a17e62e2c73c5e9681037dce1c250843ace78df337737c23935fcdf9da1a67c911fb90fbe9541241b63e01edf9e840000000600007c242fcd1bb54e2a6af7791e7f2392ffe9e8069498c0fe841bcd87889c59121d070010a5d4e80392460dcf0b9ae6cabf654c1b33f02f52934d1ae262f8db733b470b631c587165",
"hash": "0x6a967111a86491612dae27bdc6dcbfcd01884c994737e54f0941afffe36f6649",
"status": "confirmed",
"error": null,
"signatures": [],
"block_number": 14742751,
"proxy": false
},
"nomination_transaction": null,
"bond_more_transaction": {
"raw": "0x0004000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e000000000000000000000000000000000000000000000000000000000000000000000000000601070010a5d4e81c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x0601070010a5d4e8000400a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": null,
"hash": null,
"status": null,
"error": null,
"signatures": null,
"block_number": null,
"proxy": false
}
},
"created_at": "2023-02-21T19:48:20.974Z",
"updated_at": "2023-02-21T20:00:54.058Z",
"id_public": "2dd1fb5e-d089-4aca-81e9-fb52f2e245d1",
"supported_operation_id": 22
},
"flow_attributes": {},
"empty_input": {
"account_address": null,
"signature": null
}
}
}
]
},
{
"name": "confirm_bond_more_tx_by_hash",
"inputs": [
{
"name": "hash",
"display": "Hash",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "block_number",
"display": "Block Number",
"description": "",
"type": "integer",
"validations": [],
"array": false,
"default_value": null
}
]
}
],
"data": {
"controller_account_address": "5EsUYYB1wj2MYkQF1Wrr4gQo8L2v5aRZWjZunxRjFXdUm81k",
"controller_proxy_account_address": null,
"stash_account_address": "5FNVfA6qhVJBKrG4KCo6CLzvcXVRRdiGpsYHbkzujMUG6JJG",
"stash_proxy_account_address": null,
"validator_addresses": null,
"reward_destination": "5FNVfA6qhVJBKrG4KCo6CLzvcXVRRdiGpsYHbkzujMUG6JJG",
"amount": "1.0",
"bonding_transaction": {
"raw": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e000000000000000000000000000000000000000000000000000000000000000000000000000600007c242fcd1bb54e2a6af7791e7f2392ffe9e8069498c0fe841bcd87889c59121d070010a5d4e80392460dcf0b9ae6cabf654c1b33f02f52934d1ae262f8db733b470b631c5871651c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x0600007c242fcd1bb54e2a6af7791e7f2392ffe9e8069498c0fe841bcd87889c59121d070010a5d4e80392460dcf0b9ae6cabf654c1b33f02f52934d1ae262f8db733b470b631c587165000000a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": "0xc102840092460dcf0b9ae6cabf654c1b33f02f52934d1ae262f8db733b470b631c58716501f0890cf1144825f8e40321cf344105c6af1a17e62e2c73c5e9681037dce1c250843ace78df337737c23935fcdf9da1a67c911fb90fbe9541241b63e01edf9e840000000600007c242fcd1bb54e2a6af7791e7f2392ffe9e8069498c0fe841bcd87889c59121d070010a5d4e80392460dcf0b9ae6cabf654c1b33f02f52934d1ae262f8db733b470b631c587165",
"hash": "0x6a967111a86491612dae27bdc6dcbfcd01884c994737e54f0941afffe36f6649",
"status": "confirmed",
"error": null,
"signatures": [],
"block_number": 14742751,
"proxy": false
},
"nomination_transaction": null,
"bond_more_transaction": {
"raw": "0x0004000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e000000000000000000000000000000000000000000000000000000000000000000000000000601070010a5d4e81c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x0601070010a5d4e8000400a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": null,
"hash": null,
"status": null,
"error": null,
"signatures": null,
"block_number": null,
"proxy": false
}
},
"network_code": "polkadot",
"chain_code": "westend",
"created_at": "2023-02-21T19:48:20.974Z",
"updated_at": "2023-02-21T20:00:54.058Z"
}Submit Signed Bonding Transaction for Broadcast
Before broadcasting the transaction, you must sign the transaction_payload you received in the previous step. After signing the transaction, send a PUT request to /api/v1/flows/[:flow_id]/next with the signed payload. The Staking API will broadcast the transaction to the Polkadot network.
URL
https://polkadot-slate.datahub.figment.io/api/v1/flows/[:flow_id]/next
Request
name* :sign_bonding_txinputs* :objecttransaction_payload* : Signed transaction payload from the previous step's response.signatures:arrayofobjectThe signatures array can be used instead of sending a transaction payload when the signing keys are kept in a custodial solution, such as Fireblocks. Refer to the guide Signing Transactions with the Fireblocks API for details.
{
"name": "sign_bonding_tx",
"inputs": {
"transaction_payload": "0xc10284008e20409ae393dc420d8c9efbc03028dc58718e74bf3c3fec437fc089ae80fc4c01feec62b92266c99ce19a4421290b1bfbb56751a783b64ce3d701a5c8ec3e971929000e1849eb07ec7016cc7ff81b67f8a8ae6858b19de6eb313a6871624fbe8d0000000600009864ac6455584af3c38540ec03927eca126342d266d3c9b62e44b41844a31666070010a5d4e8038e20409ae393dc420d8c9efbc03028dc58718e74bf3c3fec437fc089ae80fc4c"
}
}Response
id:stringID of the flow.operation:stringThe Staking API operation being performed by this flow.state:stringThe current state of the flow.bonding_tx_broadcasting: Broadcasting transactionbonding_complete: Transaction broadcasted & confirmed
actions:arrayIt includes thename&inputsof all next possible actions.data:objectFlow & transaction data.
{
"id": "90a28f6e-09b4-4fe1-aeb4-c8e3720933ab",
"operation": "staking",
"state": "bonding_tx_broadcasting",
"actions": [
{
"name": "wait",
"estimated_state_change_at": "2023-02-28T18:42:20.260Z",
"inputs": []
}
],
"data": {
"controller_account_address": "5CtTpJSdf13cbBZU4RX7EHkEaJ53pVaAF5XJosmusXJ5gdDg",
"controller_proxy_account_address": null,
"stash_account_address": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t",
"stash_proxy_account_address": null,
"validator_addresses": null,
"reward_destination": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t",
"amount": "1.0",
"bonding_transaction": {
"raw": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e00000000000000000000000000000000000000000000000000000000000000000000000000060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec7451c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745000000a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": "0xc1028400ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745017e6fb8557959f7c8806aee19a18b54f42336f0f7c814514f66d8fa788b32902722ea6dc1bfe66cf6e402b8f139137900e63e20e72951b780abd3a6d80e640f8b000000060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745",
"hash": "0xed90569932c9897bd0defbf763d8e9ab24fd849f9c627a5a50d6d622b3f37449",
"status": null,
"error": null,
"signatures": [],
"block_time": null,
"block_number": 14838031,
"proxy": false
},
"nomination_transaction": null,
"bond_more_transaction": null
},
"network_code": "polkadot",
"chain_code": "westend",
"created_at": "2023-02-28T17:41:14.880Z",
"updated_at": "2023-02-28T18:41:20.228Z"
}Submit Nomination Addresses
Now that the bond is created, submit a nomination transaction to activate the stake. The previous response indicates one required input: validator_addresses.
After collecting the required inputs, send a PUT request to /api/v1/flows/[:flow_id]/next to proceed to the next step.
URL
https://polkadot-slate.datahub.figment.io/api/v1/flows/[:flow_id]/next
Request
name* :create_nomination_txinputs* :objectvalidator_addresses* :arrayAn array containing the addresses of the validators to which the DOT will be delegated.
{
"name": "create_nomination_tx",
"inputs": {
"validator_addresses": [
"5HYYWyhyUQ7Ae11f8fCid58bhJ7ikLHM9bU8A6Ynwoc3dStR"
]
}
}Response
id:stringID of the flow.operation:stringThe Staking API operation being performed by this flow.state:stringThe current state of the flow.actions:arrayIt includes thename&inputsof all next possible actions.refresh_nomination_tx: If you need to get a fresh version of the transaction payload.sign_nomination_tx: Submit a signed transaction payload or an array of signatures to continue the flow. Refer to the guides Signing Transactions with Figment's npm Package and Signing Transactions with the Fireblocks API for details.confirm_nomination_tx_by_hash: Submit a previously completed transaction hash to continue the flow. Refer to the guide Advance Flows Using a Transaction Hash.
data:objectFlow & transaction data.
{
"id": "90a28f6e-09b4-4fe1-aeb4-c8e3720933ab",
"operation": "staking",
"state": "nomination_tx_signature",
"actions": [
{
"name": "refresh_nomination_tx",
"inputs": [
{
"name": "validator_addresses",
"display": "Validator Addresses",
"description": "",
"type": "array_of_strings",
"validations": [
{
"type": "array",
"options": {
"allow_empty": false,
"allow_duplicates": false
}
},
{
"type": "length",
"options": {
"maximum": 16,
"message": "Cannot have more than 16 validators"
}
}
],
"array": false,
"default_value": [
"5HYYWyhyUQ7Ae11f8fCid58bhJ7ikLHM9bU8A6Ynwoc3dStR"
]
}
]
},
{
"name": "sign_nomination_tx",
"inputs": [
{
"name": "transaction_payload",
"display": "Transaction Payload",
"description": "",
"type": "signed_transaction",
"validations": [
{
"type": "sign_payload",
"options": {}
}
],
"array": false,
"default_value": null,
"signers": [
"5CtTpJSdf13cbBZU4RX7EHkEaJ53pVaAF5XJosmusXJ5gdDg"
],
"transaction_payload": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e0000000000000000000000000000000000000000000000000000000000000000000000000006050400f268995cc38974ce0686df1364875f26f2c32b246ddc18835512c3f9969f58361c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004"
},
{
"name": "signatures",
"display": "Signatures",
"description": "",
"type": "array_of_signatures",
"validations": [],
"array": true,
"default_value": null,
"element_type": "signature_data",
"signers": [
"5CtTpJSdf13cbBZU4RX7EHkEaJ53pVaAF5XJosmusXJ5gdDg"
],
"transaction_payload": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e0000000000000000000000000000000000000000000000000000000000000000000000000006050400f268995cc38974ce0686df1364875f26f2c32b246ddc18835512c3f9969f58361c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x06050400f268995cc38974ce0686df1364875f26f2c32b246ddc18835512c3f9969f5836000000a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"inputs": [
{
"name": "account_address",
"display": "Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "signature",
"display": "Signature",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
}
]
}
]
},
{
"name": "confirm_nomination_tx_by_hash",
"inputs": [
{
"name": "hash",
"display": "Hash",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": null
},
{
"name": "block_number",
"display": "Block Number",
"description": "",
"type": "integer",
"validations": [],
"array": false,
"default_value": null
}
]
}
],
"data": {
"controller_account_address": "5CtTpJSdf13cbBZU4RX7EHkEaJ53pVaAF5XJosmusXJ5gdDg",
"controller_proxy_account_address": null,
"stash_account_address": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t",
"stash_proxy_account_address": null,
"validator_addresses": [
"5HYYWyhyUQ7Ae11f8fCid58bhJ7ikLHM9bU8A6Ynwoc3dStR"
],
"reward_destination": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t",
"amount": "1.0",
"bonding_transaction": {
"raw": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e00000000000000000000000000000000000000000000000000000000000000000000000000060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec7451c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745000000a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": "0xc1028400ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745017e6fb8557959f7c8806aee19a18b54f42336f0f7c814514f66d8fa788b32902722ea6dc1bfe66cf6e402b8f139137900e63e20e72951b780abd3a6d80e640f8b000000060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745",
"hash": "0xed90569932c9897bd0defbf763d8e9ab24fd849f9c627a5a50d6d622b3f37449",
"status": "confirmed",
"error": null,
"signatures": [],
"block_time": "2023-02-28T18:42:42.254Z",
"block_number": 14838035,
"proxy": false
},
"nomination_transaction": {
"raw": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e0000000000000000000000000000000000000000000000000000000000000000000000000006050400f268995cc38974ce0686df1364875f26f2c32b246ddc18835512c3f9969f58361c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x06050400f268995cc38974ce0686df1364875f26f2c32b246ddc18835512c3f9969f5836000000a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": null,
"hash": null,
"status": null,
"error": null,
"signatures": null,
"block_time": null,
"block_number": null,
"proxy": false
},
"bond_more_transaction": null
},
"network_code": "polkadot",
"chain_code": "westend",
"created_at": "2023-02-28T17:41:14.880Z",
"updated_at": "2023-02-28T18:48:11.951Z"
}Submit Signed Nomination Transaction for Broadcast
Before broadcasting the transaction, you must sign the transaction_payload you received in the previous step. After signing the transaction, you will PUT /api/v1/flows/[:flow_id]/next and the Staking API will broadcast the transaction to the Polkadot network.
URL
https://polkadot-slate.datahub.figment.io/api/v1/flows/[:flow_id]/next
Request
name* :sign_nomination_txinputs* :objecttransaction_payload* : Signed transaction payload from the previous step's response.signatures:arrayofobjectThe signatures array can be used instead of sending a transaction payload when the signing keys are kept in a custodial solution, such as Fireblocks. Refer to the guide Signing Transactions with the Fireblocks API for details.
{
"name": "sign_nomination_tx",
"inputs": {
"transaction_payload": "0x290284009864ac6455584af3c38540ec03927eca126342d266d3c9b62e44b41844a3166601ee8b719a3b17e67a5918ccd7552ec57bfa9f2b1e94ef04121434f1fc10fb413df73dd29b931bb91612e87f6c9c3abaa2bfbb2d6e1a987c08e55d1dcf4edfd78500000006050400f268995cc38974ce0686df1364875f26f2c32b246ddc18835512c3f9969f5836"
}
}Response
id:stringID of the flow.operation:stringThe Staking API operation being performed by this flow.state:stringThe current state of the flow.nomination_tx_broadcasting: The transaction has been broadcasted and is waiting for confirmation.delegated: The transaction is complete and the nomination is active.
actions:arrayIt includes thename&inputsof all next possible actions.data:objectFlow & transaction data.
{
"id": "90a28f6e-09b4-4fe1-aeb4-c8e3720933ab",
"state": "nomination_tx_broadcasting",
"actions": [
{
"name": "wait",
"estimated_state_change_at": "2022-10-06T18:37:59.295Z",
"inputs": []
}
],
"data": {
"controller_account_address": "5FWX3P9gwg4FKAyDHp1UYJp4ZZYPPoQZHfWRcN74HwBgXifh",
"controller_proxy_account_address": null,
"stash_account_address": "5FH4Ek1u9d4V5R1REoary3MDSApLL6vkEEcW2M7fZR9bnUuz",
"stash_proxy_account_address": null,
"validator_addresses": [
"5HYYWyhyUQ7Ae11f8fCid58bhJ7ikLHM9bU8A6Ynwoc3dStR"
],
"reward_destination": "5FH4Ek1u9d4V5R1REoary3MDSApLL6vkEEcW2M7fZR9bnUuz",
"amount": "1.0",
"bonding_transaction": {
"raw": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e000000000000000000000000000000000000000000000000000000000000000000000000000600009864ac6455584af3c38540ec03927eca126342d266d3c9b62e44b41844a31666070010a5d4e8038e20409ae393dc420d8c9efbc03028dc58718e74bf3c3fec437fc089ae80fc4c1c77657374656e64387061726974792d77657374656e64020000004a2400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0200000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000f3ff14d5ab5270590100000017a6bc0d0062aeb3010000000c0000000004",
"signing_payload": "0x0600009864ac6455584af3c38540ec03927eca126342d266d3c9b62e44b41844a31666070010a5d4e8038e20409ae393dc420d8c9efbc03028dc58718e74bf3c3fec437fc089ae80fc4c0000004a2400000c000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": "0xc10284008e20409ae393dc420d8c9efbc03028dc58718e74bf3c3fec437fc089ae80fc4c01feec62b92266c99ce19a4421290b1bfbb56751a783b64ce3d701a5c8ec3e971929000e1849eb07ec7016cc7ff81b67f8a8ae6858b19de6eb313a6871624fbe8d0000000600009864ac6455584af3c38540ec03927eca126342d266d3c9b62e44b41844a31666070010a5d4e8038e20409ae393dc420d8c9efbc03028dc58718e74bf3c3fec437fc089ae80fc4c",
"hash": "0x0c0a1e5b08e91eaeb628437d850c147496901b252903bff2d6e40dcb9e1bfe3e",
"status": "confirmed",
"error": null,
"signatures": [],
"block_number": 12775946,
"proxy": false
},
"nomination_transaction": {
"raw": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e0000000000000000000000000000000000000000000000000000000000000000000000000006050400f268995cc38974ce0686df1364875f26f2c32b246ddc18835512c3f9969f58361c77657374656e64387061726974792d77657374656e64020000004a2400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0200000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000f3ff14d5ab5270590100000017a6bc0d0062aeb3010000000c0000000004",
"signing_payload": "0x06050400f268995cc38974ce0686df1364875f26f2c32b246ddc18835512c3f9969f58360000004a2400000c000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": "0x290284009864ac6455584af3c38540ec03927eca126342d266d3c9b62e44b41844a3166601ee8b719a3b17e67a5918ccd7552ec57bfa9f2b1e94ef04121434f1fc10fb413df73dd29b931bb91612e87f6c9c3abaa2bfbb2d6e1a987c08e55d1dcf4edfd78500000006050400f268995cc38974ce0686df1364875f26f2c32b246ddc18835512c3f9969f5836",
"hash": "0xa11b85fead33991c4bcae2ac9b4ddf8a7b9aee7ebb46907955745d5e6deb38a7",
"status": null,
"error": null,
"signatures": [],
"block_number": 12775987,
"proxy": false
}
},
"network_code": "polkadot",
"chain_code": "westend",
"created_at": "2022-10-06T18:26:22.984Z",
"updated_at": "2022-10-06T18:36:59.284Z"
}Get Staking Flow Status
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://polkadot-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.bonding_tx_broadcasting: Broadcasting transactionbonding_complete: Transaction broadcasted & confirmed
actions:arrayIt includes thename&inputsof all next possible actions.data:objectFlow & transaction data.
{
"id": "90a28f6e-09b4-4fe1-aeb4-c8e3720933ab",
"operation": "staking",
"state": "bonding_complete",
"actions": [
{
"name": "create_nomination_tx",
"inputs": [
{
"name": "validator_addresses",
"display": "Validator Addresses",
"description": "",
"type": "array_of_strings",
"validations": [
{
"type": "array",
"options": {
"allow_empty": false,
"allow_duplicates": false
}
},
{
"type": "length",
"options": {
"maximum": 16,
"message": "Cannot have more than 16 validators"
}
}
],
"array": false,
"default_value": null
}
]
},
{
"name": "create_bond_more_tx",
"inputs": [
{
"name": "amount",
"display": "Amount",
"description": "in DOT",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
},
{
"type": "numericality",
"options": {
"greater_than": 0
}
}
],
"array": false,
"default_value": "1.0"
}
]
},
{
"name": "complete",
"inputs": []
},
{
"name": "assign_stash_and_controller_account",
"inputs": [
{
"name": "controller_account_address",
"display": "Controller Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": "5CtTpJSdf13cbBZU4RX7EHkEaJ53pVaAF5XJosmusXJ5gdDg"
},
{
"name": "controller_proxy_account_address",
"display": "Controller Proxy Account Address",
"description": "",
"type": "string",
"validations": [],
"array": false,
"default_value": null
},
{
"name": "stash_account_address",
"display": "Stash Account Address",
"description": "",
"type": "string",
"validations": [
{
"type": "presence",
"options": {}
}
],
"array": false,
"default_value": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t"
},
{
"name": "stash_proxy_account_address",
"display": "Stash Proxy Account Address",
"description": "",
"type": "string",
"validations": [],
"array": false,
"default_value": null
}
]
}
],
"data": {
"controller_account_address": "5CtTpJSdf13cbBZU4RX7EHkEaJ53pVaAF5XJosmusXJ5gdDg",
"controller_proxy_account_address": null,
"stash_account_address": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t",
"stash_proxy_account_address": null,
"validator_addresses": null,
"reward_destination": "5HRJp9zQzMTjyv7skG3gnWwopPgFfc5FNwyNtEsmLHLyRK8t",
"amount": "1.0",
"bonding_transaction": {
"raw": "0x0000000000000000000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e00000000000000000000000000000000000000000000000000000000000000000000000000060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec7451c77657374656e64387061726974792d77657374656e6402000000a42400000000000040df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0300000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000017a6bc0d0062aeb30100000013000000010004",
"signing_payload": "0x060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745000000a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423ee143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
"signed": "0xc1028400ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745017e6fb8557959f7c8806aee19a18b54f42336f0f7c814514f66d8fa788b32902722ea6dc1bfe66cf6e402b8f139137900e63e20e72951b780abd3a6d80e640f8b000000060000246c8389743df168ed8f55e531a31e55d5d3ac774d8f7efe626d46c2c433e679070010a5d4e803ece3c0004ffa0c55acd1bb2ec951f24d6b898fbafee6520dab3022fe12bec745",
"hash": "0xed90569932c9897bd0defbf763d8e9ab24fd849f9c627a5a50d6d622b3f37449",
"status": "confirmed",
"error": null,
"signatures": [],
"block_time": "2023-02-28T18:42:42.254Z",
"block_number": 14838035,
"proxy": false
},
"nomination_transaction": null,
"bond_more_transaction": null
},
"network_code": "polkadot",
"chain_code": "westend",
"created_at": "2023-02-28T17:41:14.880Z",
"updated_at": "2023-02-28T18:42:42.261Z"
}