Summary
Functions
Approve staking terms of service.
Execute a Claim Rewards operation.
Consolidate ETH staking positions (validator consolidation).
Get chain-specific staking summary.
Get staking position details.
List staking positions details
List staking positions (paginated).
Get staking summary details.
Get staking summary details by vault
List staking providers details
Perform a Solana Merge of two active stake accounts into one.
Execute a Split operation on SOL/SOL_TEST stake account.
Init Stake operation - Perform a chain-specific Stake.
List staking supported chains
Execute an unstake operation.
Execute a Withdraw operation.
Functions
Approve staking terms of service.
Approve the terms of service of the staking provider. This must be called before performing a staking action for the first time with this provider.
Execute a Claim Rewards operation.
FireblocksSdk.Api.Staking.claim_reawards([
id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d",
chainDescriptor: "SOL",
txNote: "claim rewards request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d",
feeLevel: :medium
])Options:
:id(String.t/0) - Required. id of position to claim rewards from:chainDescriptor(String.t/0) - Required.:fee(String.t/0):feeLevel:txNote(String.t/0)
Consolidate ETH staking positions (validator consolidation).
Merges a source ETH staking position into a destination position on the beacon chain.
FireblocksSdk.Api.Staking.consolidate([
chainDescriptor: "ETH",
sourceId: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d",
destinationId: "f3432f4-34d1-43495-a8ee-jfdjnfj34i3",
feeLevel: :medium
])Options:
:chainDescriptor- Required. Protocol identifier. Supported values:ETH,ETH_TEST6,ETH_TEST_HOODI:sourceId(String.t/0) - Required. Id of the source position to consolidate from:destinationId(String.t/0) - Required. Id of the destination position to consolidate into:fee(String.t/0) - Fee for the transaction. Only one offee/feeLevelis required.:feeLevel:txNote(String.t/0) - The note to associate with the consolidation transaction.
Get chain-specific staking summary.
Return chain-specific, staking-related information summary (e.g. epoch details, lockup durations, estimated rewards, etc.)
Options:
chain_descriptor: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC"/"STETH_ETH") to use
Get staking position details.
Return detailed information on a staking position, including the staked amount, rewards, status and more.
List staking positions details
FireblocksSdk.Api.Staking.positions("SOL")Options:
chainDescriptor: Use "ETH" / "SOL" / "MATIC" / "STETH_ETH" in order to obtain information related to the specific blockchain network or retrieve information about all chains that have data available by providing no argument.
List staking positions (paginated).
Returns a paginated list of staking positions. Use pageCursor from the response's next field
to fetch subsequent pages.
FireblocksSdk.Api.Staking.get_positions_paginated([
pageSize: 20,
chainDescriptor: "ETH",
order: "DESC"
])Options:
:pageSize(integer/0) - Number of results per page (min: 1, max: 100). Returns a paginated{data, next}object. The default value is10.:chainDescriptor(String.t/0) - Protocol identifier to filter positions (e.g.ETH,SOL,ATOM_COS). If omitted, positions across all supported chains are returned.:vaultAccountId(String.t/0) - Filter positions by Fireblocks vault account ID. If omitted, positions across all vault accounts are returned.:pageCursor(String.t/0) - Cursor for the next page of results. Use thenextvalue from the previous response.:order- Sort order:ASCorDESC(default:DESC) The default value is"DESC".
Get staking summary details.
Return a summary of all vaults, categorized by their status (active, inactive), the total amounts staked and total rewards per-chain.
Get staking summary details by vault
Return a summary for each vault, categorized by their status (active, inactive), the total amounts staked and total rewards per-chain.
List staking providers details
Perform a Solana Merge of two active stake accounts into one.
FireblocksSdk.Api.Staking.merge([
chainDescriptor: "SOL",
sourceId: "b70701f4-d7b1-4795-a8ee-b09cdb5b850f",
destinationId: "f3432f4-34d1-43495-a8ee-jfdjnfj34i3",
feeLevel: :medium
])Options:
:chainDescriptor- Required.:sourceId(String.t/0) - Required. Id of the source position to merge from:destinationId(String.t/0) - Required. Id of the destination position to merge into:fee(String.t/0):feeLevel:txNote(String.t/0) - The note to associate with the transactions.
Execute a Split operation on SOL/SOL_TEST stake account.
FireblocksSdk.Api.Staking.split([
id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d",
chainDescriptor: "SOL",
amount: "20",
txNote: "split 20 SOL out of 100 SOL, created on 02.04.23",
feeLevel: :medium
])Options:
:id(String.t/0) - Required. id of position to split:chainDescriptor- Required.:fee(String.t/0):feeLevel:txNote(String.t/0) - The note to associate with the transactions.:amount(String.t/0) - Required. Amount of tokens to be transferred to the new stake account.
Init Stake operation - Perform a chain-specific Stake.
FireblocksSdk.Api.Staking.stake([
vaultAccountId: "22",
providerId: "kiln",
chainDescriptor: "SOL",
stakeAmount: "100",
txNote: "stake request id CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1 of 100 SOL created on 02.04.23",
feeLevel: :medium
])Options:
:vaultAccountId(String.t/0) - Required. The source vault account to stake from:chainDescriptor(String.t/0) - Required.:providerId(String.t/0) - Required. The unique identifier of the staking provider:stakeAmount(String.t/0) - Required. Amount of tokens to stake:fee(String.t/0):feeLevel:txNote(String.t/0)
List staking supported chains
Execute an unstake operation.
FireblocksSdk.Api.Staking.unstake([
id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d",
chainDescriptor: "SOL",
txNote: "unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #SOL",
feeLevel: :medium
])Options:
:id(String.t/0) - Required. id of position to unstake:chainDescriptor(String.t/0) - Required.:fee(String.t/0):feeLevel:txNote(String.t/0):amount(String.t/0) - The number of tokens to unstake. This optional field is applicable only for liquid staking and allows for a partial unstake of the position. If not provided, the entire position will be unstaked by default.
Execute a Withdraw operation.
FireblocksSdk.Api.Staking.withdraw([
id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d",
chainDescriptor: "SOL",
txNote: "unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #SOL",
feeLevel: :medium
])Options:
:id(String.t/0) - Required. id of position to withdraw:chainDescriptor(String.t/0) - Required.:fee(String.t/0):feeLevel:txNote(String.t/0)