⚙️Custom Liquid Staking APIs

Learn more about how to integrate Custom Liquid Staking into your app!

Custom Liquid Staking (CLS) allows you to liquid stake to specific validators! The SOL deposited to the pool during a CLS transaction will be delegated to the specified validator as long as the bSOL stays in the user's control (either through staying in the wallet or being used in a supported DeFi integration like Orca, Raydium, and Saber).

Gets a list of eligible validators for Custom Liquid Staking

GET stake.solblaze.org/api/v1/cls_eligible_validators

Not all validators are eligible! For example, validators that are offline or take 100% of staking rewards in fees are automatically disqualified.

{
    success: "true",
    "vote_accounts": [...]
}

Submits a stake transaction to CLS from the TypeScript SDK

GET stake.solblaze.org/api/v1/cls_stake

Query Parameters

Name
Type
Description

txid*

String

The txid(s) of the staking transaction(s) (comma-separated)

validator*

String

The vote account of the validator

{
    "success": true
}

Submits an unstake transaction to CLS from the TypeScript SDK

GET stake.solblaze.org/api/v1/cls_unstake

Query Parameters

Name
Type
Description

txid*

String

The txid(s) of the staking transaction(s) (comma-separated)

validator*

String

The vote account of the validator

{
    "success": true
}

Gets the target stakes for a user

GET https://stake.solblaze.org/api/v1/cls_user_target

There may be a delay of up to 1 epoch in calculating new target stakes. These stakes may or may not be applied exactly based on whether enough bSOL is in the user's wallet to back those stakes.

Query Parameters

Name
Type
Description

address*

String

The address of the user

{
    "success": true,
    "stakes": {
        "validator_vote_account": decimal_sol_amount,
        ...
    }
}

We will be adding more API methods over the next few days, stay tuned!

Last updated