Skip to main content
POST
/
stakings
/
protocols
/
babylon
/
stakings
/
expansions
import cobo_waas2
from cobo_waas2.models.babylon_create_staking_expansion import (
    BabylonCreateStakingExpansion,
)
from cobo_waas2.models.stakings import Stakings
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)
    babylon_create_staking_expansion = cobo_waas2.BabylonCreateStakingExpansion(
        staking_id="3f2840ce-44eb-450b-aa81-d3f84b772efb",
        finality_provider_public_keys=[
            "eca1b104dce16c30705f4147a9c4a373ac88646c5d1bcda6a89c018940cb96a0"
        ],
        fee=cobo_waas2.TransactionRequestFee(
            cobo_waas2.TransactionRequestFixedFee(
                fee_type="EVM_EIP_1559", token_id="TRON"
            )
        ),
    )

    try:
        # Expand Babylon BTC staking
        api_response = api_instance.create_babylon_staking_expansion(
            babylon_create_staking_expansion=babylon_create_staking_expansion
        )
        print("The response of StakingsApi->create_babylon_staking_expansion:\n")
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling StakingsApi->create_babylon_staking_expansion: %s\n"
            % e
        )

{
  "id": "0011039d-27fb-49ba-b172-6e0aa80e37ec",
  "wallet_id": "0111039d-27fb-49ba-b172-6e0aa80e37ec",
  "address": "0xAbCdE123456789aBcDeF123456789aBcDeF12345",
  "amounts": [
    {
      "status": "Active",
      "amount": "100.00"
    }
  ],
  "pool_id": "babylon_btc_signet",
  "token_id": "BTC",
  "created_timestamp": 1640995200000,
  "updated_timestamp": 1640995200000,
  "rewards_info": {},
  "validator_info": {
    "pool_type": "Babylon",
    "name": "Cobo",
    "icon_url": "https://example.com/icon.png",
    "priority": 0,
    "public_key": "eca1b104dce16c30705f4147a9c4a373ac88646c5d1bcda6a89c018940cb96a0",
    "commission_rate": 0.1,
    "supported_pos_chains": [
      "Babylon",
      "Cosmos",
      "Ethereum"
    ]
  },
  "validators": [
    {
      "pool_type": "Babylon",
      "name": "Cobo",
      "icon_url": "https://example.com/icon.png",
      "priority": 0,
      "public_key": "eca1b104dce16c30705f4147a9c4a373ac88646c5d1bcda6a89c018940cb96a0",
      "commission_rate": 0.1,
      "supported_pos_chains": [
        "Babylon",
        "Cosmos",
        "Ethereum"
      ]
    }
  ],
  "extra": {
    "pool_type": "Babylon",
    "pos_chain": "Babylon Chain",
    "unlock_timestamp": 1640995200000,
    "unlock_block_height": 871234,
    "stake_address": "tb1pgmpawe2rkrzuuflu8yw564lerfalhw8td36dha49yz4l99xvm3psteh393",
    "unbond_address": "tb1pzcn4hmsfq32vyfnckvrtyjhdh0cf2hsm2nr6m8034x4lnrx3ry4q2nyzqv"
  }
}
import cobo_waas2
from cobo_waas2.models.babylon_create_staking_expansion import (
    BabylonCreateStakingExpansion,
)
from cobo_waas2.models.stakings import Stakings
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)
    babylon_create_staking_expansion = cobo_waas2.BabylonCreateStakingExpansion(
        staking_id="3f2840ce-44eb-450b-aa81-d3f84b772efb",
        finality_provider_public_keys=[
            "eca1b104dce16c30705f4147a9c4a373ac88646c5d1bcda6a89c018940cb96a0"
        ],
        fee=cobo_waas2.TransactionRequestFee(
            cobo_waas2.TransactionRequestFixedFee(
                fee_type="EVM_EIP_1559", token_id="TRON"
            )
        ),
    )

    try:
        # Expand Babylon BTC staking
        api_response = api_instance.create_babylon_staking_expansion(
            babylon_create_staking_expansion=babylon_create_staking_expansion
        )
        print("The response of StakingsApi->create_babylon_staking_expansion:\n")
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling StakingsApi->create_babylon_staking_expansion: %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 expand Babylon BTC staking to Phase-3

The staking expansion information specific to the Babylon protocol.

staking_id
string
required

The ID of the Phase-2 BTC staking position.

Example:

"3f2840ce-44eb-450b-aa81-d3f84b772efb"

finality_provider_public_keys
string[]
required

The public keys of the finality providers, with each key corresponding to a BSN chain.

fee
Fixed · 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.

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"

Response

Successfully expanded Babylon BTC staking to Phase-3.

The information about a staking position.

id
string
required

The ID of the staking position.

Example:

"0011039d-27fb-49ba-b172-6e0aa80e37ec"

wallet_id
string
required

The staker's wallet ID.

Example:

"0111039d-27fb-49ba-b172-6e0aa80e37ec"

address
string
required

The staker's wallet address.

Example:

"0xAbCdE123456789aBcDeF123456789aBcDeF12345"

amounts
object[]
required

The details about the staking amount.

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"

token_id
string
required

The token ID.

Example:

"BTC"

created_timestamp
integer<int64>
required

The time when the staking position was created.

Example:

1640995200000

updated_timestamp
integer<int64>
required

The time when the staking position was last updated.

Example:

1640995200000

rewards_info
object

The information about the staking rewards.

Example:
{}
validator_info
object

The information about the Babylon validator.

validators
object[]
extra
Babylon · object

The information about the Babylon protocol.