Skip to main content
Staking in Celestia using the Staking API consists of several main steps:
  1. Create a staking request.
  2. Sign and send the transaction to the network.
Get an authentication token to start using Staking API. Request examples are provided using cURL.
1

Create staking transaction

Send a POST request to /api/v1/celestia/{network}/staking/stake.Example request (for celestia-mainnet-beta network):
  • stashAccountAddress stash account address which keeps tokens.
  • memo — arbitrary text data to add to the transactions.
  • amount — amount of tokens to stake in TIA.
Example response:
  • amount — amount of tokens to stake.
  • currency — currency of tokens:
    • IA, Celestia native staking token.
    • utia — 1 TIA = 10⁶ uTIA,
    • mtia — 1 TIA = 10³ mTIA.
  • validatorAddress address to which tokens are delegated.
  • stashAccountAddress — delegator stash account address which keeps tokens.
  • rewardDestinationAddress — reward destination account address.
  • createdAt — timestamp of thtion in the ISO 8601 format.
transactionData is the list of data fields to be used to construct the staking transactions:
  • messages:
    • typeUrl — Celestia network operation type.
    • delegatorAddress — delegator address.
    • validatorAddress — validator address.
    • amount — amount of tokens to stake.
    • currency — currency of tokens.
  • fee — fee charged for the transaction.
    • amount — amount of tokens.
    • denom — currency of tokens: tia, utia, or mtia.
    • gas — amount of spent for the transaction.
  • memo — arbitrary text data to add to the transactions.
  • encodedBody — processable transaction data encoded in the hexadecimal format.
  • encodedAuthInfo — authorization data, including fee, encoded in the hexadecimal format.
2

Sign and send transaction

Use transactionData to sign and send the signed transaction to the Celestia network.To check the transaction status, send a GET request to /api/v1/celestia/{network}/transaction/status/{transactionHash}.Example request (for celestia-mainnet-beta network):
  • transactionHash — hash of the transaction.
Example response:
  • status — transaction status: success, failed.
  • blockId — unique identifier of the block in which the transaction has been included.
  • fee — total fee in TIA charged for processing the transaction.
  • gas — computational effort required to execute the transaction, measured in gas units.
    • used — amount of gas spent for the transaction.
    • wanted — maximum gas limit that the transaction initiator was willing to consume for the transaction.
  • transactionHash — hash of the transaction.