Skip to main content
POST
/
stakings
/
estimate_fee
import cobo_waas2
from cobo_waas2.models.get_staking_estimation_fee201_response import (
    GetStakingEstimationFee201Response,
)
from cobo_waas2.models.get_staking_estimation_fee_request import (
    GetStakingEstimationFeeRequest,
)
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.StakingsApi(api_client)
    get_staking_estimation_fee_request = cobo_waas2.GetStakingEstimationFeeRequest(
        activity_type="Stake",
        pool_id="babylon_btc_signet",
        amount="100.00",
        fee=cobo_waas2.TransactionRequestFee(
            cobo_waas2.TransactionRequestFixedFee(
                fee_type="EVM_EIP_1559", token_id="TRON"
            )
        ),
    )

    try:
        # Estimate staking fees
        api_response = api_instance.get_staking_estimation_fee(
            get_staking_estimation_fee_request=get_staking_estimation_fee_request
        )
        print("The response of StakingsApi->get_staking_estimation_fee:\n")
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling StakingsApi->get_staking_estimation_fee: %s\n" % e
        )

{
  "pool_type": "Babylon",
  "fee": {
    "fee_type": "EVM_EIP_1559",
    "token_id": "TRON",
    "is_loop": false,
    "fee_amount": "0.1"
  },
  "validator_pubkeys": [
    "0x1234567890987654321012345678909876543210"
  ],
  "core_btc_staking_address": "bc1qcqj9k34vrvgmmvt85ym2ua79k2d22vcfxmuratakfm78chdqksnq5agezk"
}
import cobo_waas2
from cobo_waas2.models.get_staking_estimation_fee201_response import (
    GetStakingEstimationFee201Response,
)
from cobo_waas2.models.get_staking_estimation_fee_request import (
    GetStakingEstimationFeeRequest,
)
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.StakingsApi(api_client)
    get_staking_estimation_fee_request = cobo_waas2.GetStakingEstimationFeeRequest(
        activity_type="Stake",
        pool_id="babylon_btc_signet",
        amount="100.00",
        fee=cobo_waas2.TransactionRequestFee(
            cobo_waas2.TransactionRequestFixedFee(
                fee_type="EVM_EIP_1559", token_id="TRON"
            )
        ),
    )

    try:
        # Estimate staking fees
        api_response = api_instance.get_staking_estimation_fee(
            get_staking_estimation_fee_request=get_staking_estimation_fee_request
        )
        print("The response of StakingsApi->get_staking_estimation_fee:\n")
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling StakingsApi->get_staking_estimation_fee: %s\n" % e
        )

Authorizations

BIZ-API-KEY
string
header
required

The API key. For more details, refer to API key.

In the API playground, enter your API secret, and your API key will be accordingly calculated.

Body

application/json

The request body to get the estimated fee of a staking activity.

  • Staking fee
  • Unstaking fee
  • Withdrawal fee
  • Claim fee
activity_type
enum<string>
required

The type of the staking activity. Possible values include:

  • Stake: Stake tokens.
  • Unstake: Unstake tokens. Unstaked tokens are still in the staking protocol.
  • Withdraw: Withdraw tokens from the staking protocol to your wallet.
  • Claim: Claim rewards from the staking protocol.
Available options:
Stake,
Unstake,
Withdraw,
Claim
Example:

"Stake"

pool_id
enum<string>
required

The ID of the staking pool. A staking pool is a pairing of a staking protocol and a specific type of token. Currently, berachain_bgt and berachain_bgt_testnet are not supported.

Available options:
babylon_btc_signet,
babylon_btc,
beacon_eth,
beacon_eth_holesky,
core_btc,
core_xtn,
sky_farm_eth_usdc,
bithive_signet,
bithive,
beacon_bera,
beacon_bera_testnet,
berachain_bgt,
berachain_bgt_testnet
Example:

"babylon_btc_signet"

amount
string
required

The amount to stake.

Example:

"100.00"

fee
object
required

The preset properties to limit transaction fee.

In the fixed fee model, the transaction fee is a fixed amount within a certain amount of period regardless of the transaction size or network congestion, which can vary between different chains. For more information about the fixed fee model, refer to Fee models.

You can specify the maximum fee amount to limit the transaction fee. The transaction will fail if the transaction fee exceeds the specified maximum fee amount.

Switch between the tabs to display the properties for different transaction fee models.

  • Fixed
  • EVM_EIP_1559
  • EVM_Legacy
  • UTXO
  • SOL
  • FIL
request_id
string

The request ID that is used to track a request. The request ID is provided by you and must be unique within your organization.

Example:

"f47ac10b-58cc-4372-a567-0e02b2c3d479"

source
object

The information about the staking source.

extra
object

The base information about a staking protocol. The staking information specific to the Babylon protocol.

  • Babylon
  • Ethereum Beacon Chain
  • CORE

Response

The request was successful.

  • Ethereum Staking Fee
  • Babylon Staking Fee
pool_type
enum<string>

The type of the staking pool. Possible values are:

  • Babylon: Babylon staking pool
  • ETHBeacon: Ethereum Beacon Chain staking pool
  • CoreBTC: Core BTC staking pool
  • SkyFarm: SKY farm staking pool
  • BitHive: BitHive staking pool
  • BERABeacon: BERA Beacon Chain staking pool
  • BeraChainBGT: Bera Chain BGT staking pool
Available options:
Babylon,
ETHBeacon,
CoreBTC,
SkyFarm,
BitHive,
BERABeacon,
BeraChainBGT
Example:

"Babylon"

fee
object

The estimated transaction fee based on the fixed fee model.

For more details about the fixed fee model, see Fee models.

The transaction fee.

  • Fixed
  • EVM_EIP_1559
  • EVM_Legacy
  • UTXO
  • SOL
  • FIL
validator_pubkeys
string[]

A list of public keys associated with the Ethereum validators for this staking operation.

Example:
[
"0x1234567890987654321012345678909876543210"
]
core_btc_staking_address
string

The P2WSH address generated for this staking operation (only applicable if the estimated fee is for CORE staking).

Example:

"bc1qcqj9k34vrvgmmvt85ym2ua79k2d22vcfxmuratakfm78chdqksnq5agezk"