Search…
Solana
How to programmatically delegate and retrieve rewards for delegated wallets on Solana.

As Solana is a dPOS protocol, staking Solana is done by issuing a single staking transaction like this one. It creates a Solana Stake Account and delegate its token to the validator Vote Account.
The only inputs needed are the amount to stake and the validator address to delegate the stake to.
Based on the custodian you use, you may be able to generate this transaction with a higher-level API provided by your custodian, for instance the Fireblocks API.
Once you made the transaction, you can link it to a Kiln Account with one API call!

Solana Stake is an API object linked to an Account representing a stake on the Solana chain.
Field
Value
Format
stake_account
Stake Account address
String
withdraw_pubkey
Withdrawal Solana address
String
balance
Total balance of the Solana Stake Account
Number
rewards
Accrued rewards of the Solana Stake Account
Number
apy
APY of accrued rewards
Number

Field
Value
Format
apy
Network current Staking APY
Number
nb_validators
Number of validators running on the network
Number
supply_staked_percent
Percentage of staked tokens on the network
Number

get
https://api.kiln.fi/v1
/sol/stakes
Retrieve Solana Stakes for stake accounts
get
https://api.kiln.fi/v1
/sol/network-stats
Retrieve Solana Network Stats
Copy link
On this page
Delegation flow
Reporting API
Solana stake API object
Solana network stats API object
Solana API routes
post
Link a Solana stakes to a Kiln account
get
Retrieve Solana Stakes for stake accounts
get
Retrieve Solana Network Stats