POST
/
v1
/
stake
/
build
Build a new staking operation
curl --request POST \
  --url https://api.cdp.coinbase.com/platform/v1/stake/build \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "network_id": "ethereum-mainnet",
  "asset_id": "ETH",
  "address_id": "0xfc807D1bE4997e5C7B33E4d8D57e60c5b0f02B1a",
  "action": "unstake",
  "options": {}
}'
{
  "id": "d91d652b-d020-48d4-bf19-5c5eb5e280c7",
  "wallet_id": "d91d652b-d020-48d4-bf19-5c5eb5e280c7",
  "network_id": "ethereum-hoodi",
  "address_id": "0xfc807D1bE4997e5C7B33E4d8D57e60c5b0f02B1a",
  "status": "initialized",
  "transactions": [
    {
      "network_id": "base-sepolia",
      "from_address_id": "0xfc807D1bE4997e5C7B33E4d8D57e60c5b0f02B1a",
      "unsigned_payload": "<string>",
      "signed_payload": "<string>",
      "transaction_hash": "0x53e11e94ebb2438d6ddcfa07dabc9b551d2f440f8363fea941083bc397a86a42",
      "transaction_link": "https://sepolia.basescan.org/tx/0x53e11e94ebb2438d6ddcfa07dabc9b551d2f440f8363fea941083bc397a86a42",
      "status": "pending",
      "content": {
        "from": "0xfc807D1bE4997e5C7B33E4d8D57e60c5b0f02B1a",
        "gas": 1000,
        "gas_price": 1000,
        "hash": "0x53e11e94ebb2438d6ddcfa07dabc9b551d2f440f8363fea941083bc397a86a42",
        "input": "<string>",
        "nonce": 136,
        "to": "0xfc807D1bE4997e5C7B33E4d8D57e60c5b0f02B1a",
        "index": "0x53e11e94ebb2438d6ddcfa07dabc9b551d2f440f8363fea941083bc397a86a42",
        "value": 100,
        "type": 2,
        "max_fee_per_gas": 190,
        "max_priority_fee_per_gas": 100,
        "priority_fee_per_gas": 1000,
        "transaction_access_list": {
          "access_list": [
            {
              "address": "<string>",
              "storage_keys": [
                "<string>"
              ]
            }
          ]
        },
        "flattened_traces": [
          {
            "error": "<string>",
            "type": "<string>",
            "from": "<string>",
            "to": "<string>",
            "value": "<string>",
            "gas": 123,
            "gas_used": 123,
            "input": "<string>",
            "output": "<string>",
            "sub_traces": 123,
            "trace_address": [
              123
            ],
            "trace_type": "<string>",
            "call_type": "<string>",
            "trace_id": "<string>",
            "status": 123,
            "block_hash": "<string>",
            "block_number": 123,
            "transaction_hash": "<string>",
            "transaction_index": 123
          }
        ],
        "block_timestamp": "2023-04-01T12:00:00Z",
        "mint": "0",
        "rlp_encoded_tx": "0x02f582426882013d8502540be4008502540be41c830493e094a55416de5de61a0ac1aa8970a280e04388b1de4b6f843a4b66f1c0808080"
      }
    }
  ],
  "metadata": "<any>"
}

Authorizations

Authorization
string
header
required

Enter your JSON Web Token (JWT) here. Refer to the Generate JWT section of our Authentication docs for information on how to generate your Bearer Token.

Body

application/json
network_id
string
required

The ID of the blockchain network.

Example:

"ethereum-mainnet"

asset_id
string
required

The symbol of the asset being staked.

Example:

"ETH"

address_id
string
required

The onchain address from which the staking transaction originates and is responsible for signing the transaction.

Example:

"0xfc807D1bE4997e5C7B33E4d8D57e60c5b0f02B1a"

action
string
required

The type of staking operation (stake, unstake, claim_stake, etc.)

Example:

"unstake"

options
object
required

Additional options for the staking operation. See here for detailed options.

Response

successful staking transaction generated

A list of onchain transactions to help realize a staking action.

id
string
required

The unique ID of the staking operation.

Example:

"d91d652b-d020-48d4-bf19-5c5eb5e280c7"

network_id
string
required

The ID of the blockchain network.

Example:

"ethereum-hoodi"

address_id
string
required

The onchain address orchestrating the staking operation.

Example:

"0xfc807D1bE4997e5C7B33E4d8D57e60c5b0f02B1a"

status
enum<string>
required

The status of the staking operation.

Available options:
initialized,
pending,
complete,
failed,
unspecified
transactions
object[]
required

The transaction(s) that will execute the staking operation onchain.

wallet_id
string

The ID of the wallet that owns the address.

Example:

"d91d652b-d020-48d4-bf19-5c5eb5e280c7"

metadata
any