openapi: 3.0.0
info:
title: Fireblocks Staking API
description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development
platform to build your business on the blockchain.
- Visit our website for more information: [Fireblocks Website](https://fireblocks.com)
- Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
'
version: 1.8.0
contact:
email: [email protected]
servers:
- url: https://api.fireblocks.io/v1
description: Fireblocks Production Environment Base URL
- url: https://sandbox-api.fireblocks.io/v1
description: Fireblocks Sandbox Environment Base URL
security: []
paths:
/staking/chains:
get:
operationId: getChains
summary: List supported chains for Fireblocks Staking
description: 'Return an alphabetical list of supported chains.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<StakingGetChainsResponse>> = fireblocks.staking.getChains();'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<List<ChainDescriptor>>> response = fireblocks.staking().getChains();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_chains();
name: Fireblocks SDK Python example
responses:
'200':
description: An array of supported chains was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakingGetChainsResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<StakingGetChainsResponse>> = fireblocks.staking.getChains();'
- lang: Java
source: CompletableFuture<ApiResponse<List<ChainDescriptor>>> response = fireblocks.staking().getChains();
- lang: Python
source: response = fireblocks.staking.get_chains();
/staking/chains/{chainDescriptor}/merge:
post:
operationId: mergeStakeAccounts
summary: Merge operation on Solana stake accounts
description: 'Perform a Solana Merge of two active stake accounts into one.
Endpoint permissions: Admin, Non-Signing Admin, Signer, Approver, Editor.'
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "SOL"/"SOL_TEST") to use
example: SOL
schema:
enum:
- SOL
- SOL_TEST
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MergeStakeAccountsRequest'
responses:
'201':
description: Merge action has been executed successfully on vault and is associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/MergeStakeAccountsResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
/staking/chains/{chainDescriptor}/chainInfo:
get:
operationId: getChainInfo
summary: Get chain-specific staking summary
description: 'Return chain-specific, staking-related information summary (e.g. epoch details, lockup durations, estimated
rewards, etc.).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<ChainInfoResponse>> = fireblocks.staking.getChainInfo(stakingApiGetChainInfoRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<ChainInfoResponse>> response = fireblocks.staking().getChainInfo(chainDescriptor);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_chain_info(chain_descriptor);
name: Fireblocks SDK Python example
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC"/"STETH_ETH") to use
example: SOL
schema:
$ref: '#/components/schemas/ChainDescriptor'
responses:
'200':
description: Chain specific info summary was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ChainInfoResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<ChainInfoResponse>> = fireblocks.staking.getChainInfo(stakingApiGetChainInfoRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<ChainInfoResponse>> response = fireblocks.staking().getChainInfo(chainDescriptor);
- lang: Python
source: response = fireblocks.staking.get_chain_info(chain_descriptor);
/staking/chains/{chainDescriptor}/stake:
post:
operationId: stake
summary: Initiate Stake Operation
description: Perform a chain-specific Stake.
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use
example: SOL
schema:
$ref: '#/components/schemas/ChainDescriptor'
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StakeRequest'
responses:
'201':
description: Stake action has been executed successfully on vault and is associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakeResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<StakeResponse>> = fireblocks.staking.stake(stakingApiStakeRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<StakeResponse>> response = fireblocks.staking().stake(stakeRequest, chainDescriptor,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.stake(stake_request, chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<StakeResponse>> = fireblocks.staking.stake(stakingApiStakeRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<StakeResponse>> response = fireblocks.staking().stake(stakeRequest, chainDescriptor,
idempotencyKey);
- lang: Python
source: response = fireblocks.staking.stake(stake_request, chain_descriptor, idempotency_key);
/staking/chains/{chainDescriptor}/unstake:
post:
operationId: unstake
summary: Execute an Unstake operation
description: Execute an Unstake operation
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use
example: SOL
schema:
$ref: '#/components/schemas/ChainDescriptor'
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UnstakeRequest'
responses:
'201':
description: Unstake action has been executed successfully on vault and is associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<void>> = fireblocks.staking.unstake(stakingApiUnstakeRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<Void>> response = fireblocks.staking().unstake(unstakeRequest, chainDescriptor,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.unstake(unstake_request, chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<void>> = fireblocks.staking.unstake(stakingApiUnstakeRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<Void>> response = fireblocks.staking().unstake(unstakeRequest, chainDescriptor,
idempotencyKey);
- lang: Python
source: response = fireblocks.staking.unstake(unstake_request, chain_descriptor, idempotency_key);
/staking/chains/{chainDescriptor}/withdraw:
post:
operationId: withdraw
summary: Execute a Withdraw operation
description: Perform a chain-specific Withdraw.
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use
example: SOL
schema:
$ref: '#/components/schemas/ChainDescriptor'
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WithdrawRequest'
responses:
'201':
description: Withdraw action has been executed successfully on vault and is associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<void>> = fireblocks.staking.withdraw(stakingApiWithdrawRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<Void>> response = fireblocks.staking().withdraw(withdrawRequest, chainDescriptor,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.withdraw(withdraw_request, chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<void>> = fireblocks.staking.withdraw(stakingApiWithdrawRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<Void>> response = fireblocks.staking().withdraw(withdrawRequest, chainDescriptor,
idempotencyKey);
- lang: Python
source: response = fireblocks.staking.withdraw(withdraw_request, chain_descriptor, idempotency_key);
/staking/chains/{chainDescriptor}/claim_rewards:
post:
operationId: claimRewards
summary: Execute a Claim Rewards operation
description: Perform a chain-specific Claim Rewards.
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "MATIC"/"SOL") to use
example: MATIC
schema:
enum:
- MATIC
- SOL
- SOL_TEST
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClaimRewardsRequest'
responses:
'201':
description: Claim Rewards action has been executed successfully on vault and is associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<void>> = fireblocks.staking.claimRewards(stakingApiClaimRewardsRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<Void>> response = fireblocks.staking().claimRewards(claimRewardsRequest, chainDescriptor,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.claim_rewards(claim_rewards_request, chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<void>> = fireblocks.staking.claimRewards(stakingApiClaimRewardsRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<Void>> response = fireblocks.staking().claimRewards(claimRewardsRequest, chainDescriptor,
idempotencyKey);
- lang: Python
source: response = fireblocks.staking.claim_rewards(claim_rewards_request, chain_descriptor, idempotency_key);
/staking/chains/{chainDescriptor}/split:
post:
operationId: split
summary: Execute a Split operation
description: Perform a SOL/SOL_TEST Split on a stake account.
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "SOL"/"SOL_TEST") to use
example: SOL
schema:
enum:
- SOL
- SOL_TEST
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SplitRequest'
responses:
'201':
description: Split action has been executed successfully on vault and is associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SplitResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<SplitResponse>> = fireblocks.staking.split(stakingApiSplitRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<SplitResponse>> response = fireblocks.staking().split(splitRequest, chainDescriptor,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.split(split_request, chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<SplitResponse>> = fireblocks.staking.split(stakingApiSplitRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<SplitResponse>> response = fireblocks.staking().split(splitRequest, chainDescriptor,
idempotencyKey);
- lang: Python
source: response = fireblocks.staking.split(split_request, chain_descriptor, idempotency_key);
/staking/positions:
get:
operationId: getAllDelegations
summary: List staking positions details
description: 'Return detailed information on all staking positions, including the staked amount, rewards, status and
more.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<StakingGetAllDelegationsResponse>> = fireblocks.staking.getAllDelegations(stakingApiGetAllDelegationsRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<List<Delegation>>> response = fireblocks.staking().getAllDelegations(chainDescriptor);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_all_delegations(chain_descriptor);
name: Fireblocks SDK Python example
parameters:
- name: chainDescriptor
required: false
in: query
example: SOL
description: 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.
schema:
$ref: '#/components/schemas/ChainDescriptor'
responses:
'200':
description: An array of position data was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakingGetAllDelegationsResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<StakingGetAllDelegationsResponse>> = fireblocks.staking.getAllDelegations(stakingApiGetAllDelegationsRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<List<Delegation>>> response = fireblocks.staking().getAllDelegations(chainDescriptor);
- lang: Python
source: response = fireblocks.staking.get_all_delegations(chain_descriptor);
/staking/positions/summary:
get:
operationId: getSummary
summary: Get staking summary details
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<DelegationSummary>> = fireblocks.staking.getSummary();'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<DelegationSummary>> response = fireblocks.staking().getSummary();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_summary();
name: Fireblocks SDK Python example
description: 'Return a summary of all vaults, categorized by their status (active, inactive), the total amounts staked
and total rewards per-chain.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
responses:
'200':
description: A summary for all vaults were returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DelegationSummary'
example:
active:
- chainDescriptor: ETH
amount: '64.036604667'
- chainDescriptor: SOL
amount: '0.077345939'
inactive:
- chainDescriptor: ETH
amount: '0'
- chainDescriptor: SOL
amount: '0'
rewardsAmount:
- chainDescriptor: ETH
amount: '0.036604667'
- chainDescriptor: SOL
amount: '0.001345939'
totalStaked:
- chainDescriptor: ETH
amount: '64.036604667'
- chainDescriptor: SOL
amount: '0.077345939'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<DelegationSummary>> = fireblocks.staking.getSummary();'
- lang: Java
source: CompletableFuture<ApiResponse<DelegationSummary>> response = fireblocks.staking().getSummary();
- lang: Python
source: response = fireblocks.staking.get_summary();
/staking/positions/summary/vaults:
get:
operationId: getSummaryByVault
summary: Get staking summary details by vault
description: 'Return a summary for each vault, categorized by their status (active, inactive), the total amounts staked
and total rewards per-chain.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<StakingGetSummaryByVaultResponse>> = fireblocks.staking.getSummaryByVault();'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<StakingGetSummaryByVaultResponse>> response = fireblocks.staking().getSummaryByVault();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_summary_by_vault();
name: Fireblocks SDK Python example
responses:
'200':
description: A summary for each vault were returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakingGetSummaryByVaultResponse'
example:
'0':
active:
- chainDescriptor: SOL
amount: '0.015202376'
inactive:
- chainDescriptor: SOL
amount: '0'
rewardsAmount:
- chainDescriptor: SOL
amount: '0.000202376'
totalStaked:
- chainDescriptor: SOL
amount: '0.015202376'
'1':
active:
- chainDescriptor: ETH
amount: '64.036604667'
- chainDescriptor: SOL
amount: '0.011191566'
inactive:
- chainDescriptor: ETH
amount: '0'
- chainDescriptor: SOL
amount: '0'
rewardsAmount:
- chainDescriptor: ETH
amount: '0.036604667'
- chainDescriptor: SOL
amount: '0.000191566'
totalStaked:
- chainDescriptor: ETH
amount: '64.036604667'
- chainDescriptor: SOL
amount: '0.011191566'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<StakingGetSummaryByVaultResponse>> = fireblocks.staking.getSummaryByVault();'
- lang: Java
source: CompletableFuture<ApiResponse<StakingGetSummaryByVaultResponse>> response = fireblocks.staking().getSummaryByVault();
- lang: Python
source: response = fireblocks.staking.get_summary_by_vault();
/staking/positions/{id}:
get:
operationId: getDelegationById
summary: Get staking position details
description: 'Return detailed information on a staking position, including the staked amount, rewards, status and more.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<Delegation>> = fireblocks.staking.getDelegationById(stakingApiGetDelegationByIdRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<Delegation>> response = fireblocks.staking().getDelegationById(id);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_delegation_by_id(id);
name: Fireblocks SDK Python example
parameters:
- name: id
required: true
in: path
description: The unique identifier of the staking position
schema:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
responses:
'200':
description: Position data was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Delegation'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<Delegation>> = fireblocks.staking.getDelegationById(stakingApiGetDelegationByIdRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<Delegation>> response = fireblocks.staking().getDelegationById(id);
- lang: Python
source: response = fireblocks.staking.get_delegation_by_id(id);
/staking/providers:
get:
operationId: getProviders
summary: List staking providers details
description: 'Return information on all the available staking providers.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<StakingGetProvidersResponse>> = fireblocks.staking.getProviders();'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<List<Provider>>> response = fireblocks.staking().getProviders();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_providers();
name: Fireblocks SDK Python example
responses:
'200':
description: An array of supported providers was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakingGetProvidersResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<StakingGetProvidersResponse>> = fireblocks.staking.getProviders();'
- lang: Java
source: CompletableFuture<ApiResponse<List<Provider>>> response = fireblocks.staking().getProviders();
- lang: Python
source: response = fireblocks.staking.get_providers();
/staking/providers/{providerId}/approveTermsOfService:
post:
operationId: approveTermsOfServiceByProviderId
summary: Approve staking terms of service
description: '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.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<void>> = fireblocks.staking.approveTermsOfServiceByProviderId(stakingApiApproveTermsOfServiceByProviderIdRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<Void>> response = fireblocks.staking().approveTermsOfServiceByProviderId(providerId,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.approve_terms_of_service_by_provider_id(provider_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: providerId
required: true
in: path
description: The unique identifier of the staking provider
example: kiln
schema:
$ref: '#/components/schemas/StakingProvider'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'201':
description: The terms of service have been successfully approved and is associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<void>> = fireblocks.staking.approveTermsOfServiceByProviderId(stakingApiApproveTermsOfServiceByProviderIdRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<Void>> response = fireblocks.staking().approveTermsOfServiceByProviderId(providerId,
idempotencyKey);
- lang: Python
source: response = fireblocks.staking.approve_terms_of_service_by_provider_id(provider_id, idempotency_key);
components:
schemas:
AdditionalInfo:
type: object
description: Additional information related to the blockchain. This may include extra details about the blockchain network.
properties:
estimatedAnnualReward:
type: number
example: 6.48
description: The estimated annual reward rate for the blockchain, represented as a decimal percentage value.
lockupPeriod:
type: number
example: 172800000
description: The duration of the lockup period for certain actions on the blockchain, measured in milliseconds.
activationPeriod:
type: number
example: 172800000
description: The duration of the activation period for certain actions on the blockchain, measured in milliseconds.
required:
- estimatedAnnualReward
- lockupPeriod
- activationPeriod
AmountAndChainDescriptor:
type: object
properties:
chainDescriptor:
type: string
example: ETH
description: The protocol identifier (e.g. "ETH"/"SOL") for summary
amount:
type: string
example: '32.007149606'
description: Cryptocurrency quantity
required:
- chainDescriptor
- amount
ChainDescriptor:
type: string
enum:
- ETH
- SOL
- MATIC
- ETH_TEST6
- SOL_TEST
ChainInfoResponse:
type: object
properties:
chainDescriptor:
type: string
example: SOL
description: The protocol identifier (e.g. "ETH"/"SOL").
currentEpoch:
type: number
example: 483
description: The current epoch number of the blockchain network.
epochElapsed:
type: number
example: 0.31
description: The percentage of time that has elapsed within the current epoch, represented as a decimal value between
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fireblocks/refs/heads/main/openapi/fireblocks-staking-api-openapi.yml