Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Setup a demo environment for the Reporting API
Postman is a GUI you can use to run some API call examples and visualise the returned data.
You can use the community desktop version or the web version of Postman to import the demo.
In postman, select the Collections tab on the left menu
Press the import button and import the following collection:
Go to the Environments tab on the left menu and create a new TESTNET environment
Add a host
variable with https://api.testnet.kiln.fi
as INITIAL VALUE
Add a api_token
variable with your Kiln API token (you can fetch it on the Applications section of your Kiln dashboard) as INITIAL VALUE
Go back to the Collections tab, select TESTNET on the top right menu
You are now setup to run API queries!
One SDK to integrate staking, rewards data, and your custodian on all major PoS blockchains
Kiln Connect offers a unified interface to craft, sign and broadcast transactions for all supported protocols so that your engineering team does not have to deal with protocols specifics and focuses on integration and user experience.
Kiln Connect provides support 18 protocols please find the breakdown bellow.
It also enables you to retrieve staking rewards data on all validators (not just Kiln Validators) without having to run infrastructure yourself.
All of the following protocols offer support for :
Except for MultiverseX (EGLD)
Scope explains for which validator range reporting data is available
Search by explains how to query the Reporting API
Timeframes explains how granular the data is historically
History explains how far in the past data is available
It is currently available via a SDK available in TypeScript/JavaScript and Python. For more language support, feel free to contact our Support.
Kiln offers a JS SDK that enables you to leverage our API in a very simple way.
Craft, sign and broadcast staking transactions programatically using Fireblocks as a custody solution
Get staking data about your stakes and their rewards
Get network wide data
Manage your Kiln accounts
Protocols:
ADA
ATOM
DOT
DYDX
ETH
FET
INJ
KAVA
KSM
MATIC
NEAR
NOBLE
OSMO
SOL
TIA
TON
XTZ
ZETA
Generate & manage API key to access Kiln's Connect API
To integrate reporting in your platform or to stake programmatically, you need to generate an API Key for your team.
If you don't yet have access please contact our support team.
Please note if you need API access for the test network, you will need to have access to the testnet version of this dashboard, contact our support team for more information.
Step 1. Click on "Applications" in the navigation sidebar to start managing your API keys
Step 2. Then click on "Create application" to initiate the API Key creation flow
Step 3. Create a new application by setting a name for your API Key so you can identify it later in the list, you can also add a description, like "for testing purposes" so another team member can know who is using this key.
After clicking "Create application" your API Key will be generated and displayed only once, make sure you copy it and securely share it internally ⚠️
Hover one row of the table to see the quick action buttons on the right side of the line.
In the case you need to rotate your API Key credentials, you can keep the same application name and credentials but regenerate the access token.
After clicking "Regenerate Token" your API Key will be generated and displayed only once, make sure you copy it and securely share it internally ⚠️
Click on "Update" to modify the API Key name or description.
You can revoke it from the dashboard by clicking on the "Delete" button after hovering on the specific line.
Network Stats: giving global visibility over the network APY
Transaction crafting refer to the ability to craft transactions
Reporting, on staking position and rewards
Protocol | Scope | Search by | Timeframes | History |
---|---|---|---|---|
More protocol to come, don't hesitate to contact us ()
You need at least one user onboarded in your Organization on
Start by navigating to Kiln's Dashboard:
All network
Wallet, Stake address, Validator
Daily, Epoch
2020-08-13
All network
Validator, Delegator
Daily
2023-10-17
All network
Validator, Delegator
Daily
2022-04-12
All network
Validator, Delegator
Daily
2023-09-11
All network
Wallet, Validator address & index, EigenPod
Daily
2024-04-04
All network
Wallet, Validator address & index
Daily
2020-12-01
All network
Validator, Delegator
Daily
2022-04-05
All network
Validator, Delegator
Daily
2021-06-30
Kava (KAVA) (Preview of 1.6)
All network
Validator, Delegator
Daily
2024-07-21
Kusama (KSM) (Preview of 1.6)
All network
Wallet, Pool
Daily, Era
2020-03-18
Kiln only
Wallet, Validator
Daily
2023-03-08
All network
Wallet, Stake account, Validator
Daily, Epoch
2020-07-21
All network
Validator, Delegator
Daily
2021-12-14
Polkadot (DOT) (Preview of 1.6)
All network
Pool,
Wallet
Daily, Era
2020-06-18
All network
Wallet, Validator index
Daily
2023-01-18
All network
Wallet, Stake account, Validator
Daily, Epoch
2020-12-24
All network
Wallet, Validator
Daily, Cycle
2018-06-30
All network
Pools, Nominators
Daily
2024-05-24
All network
Validator, Delegator
Daily
2023-10-19
There are a few setup steps needed to start using the Kiln Connect SDK. Contact sales@kiln.fi should you have any feedbacks / questions.
The Kiln Connect SDK is only available in TS/JS for now, if you have other programming language requirements, please contact the support.
Create an application on your Kiln Dashboard, and retrieve the given API key.
The API key is used to authenticate with the Kiln REST API which can manage Kiln accounts, craft transactions, and provide reporting data.
In the case that you would like to craft and sign transactions with your Fireblocks vault, you will need to setup the following in Fireblocks:
The raw signing feature is required on all protocols except on EVM compatible protocols (ETH, MATIC). Make sure that it is enabled in your workspace in case you wish to stake on other protocols. You can ask the Fireblocks support for information.
Create an API user using the Fireblocks tutorial here with the Editor role (minimum privilege to initiate transactions on the workspace). This might require that you contact your Fireblocks support.
Generate the CSR certificate and make sure you store it somewhere safe.
Get the API key of the user by clicking on "Copy API key" of the user in the workspace members list
Get the vault account id you want to stake with by clicking on it in your Fireblocks workspace and check the URL. For example the vault id of https://console.fireblocks.io/v2/accounts/vault/4 is '4'
.
With the Kiln Connect SDK, you remain entirely in control of what is sent for signing to your Fireblocks workspace. You can verify the content of the transactions crafted with this SDK before signing it. Note that the entire signing workflow is done on the SDK end, not on Kiln APIs. Kiln will never have access to your Fireblocks API key or secret key.
You can now configure the SDK with you Kiln API token.
Here is how you can find Kiln's validator addresses
When staking on different protocols, you will need to find Kiln's validator addresses if you choose to stake with Kiln.
Addresses on all protocols can be found in the validators docs.
Alternatively, you can also find them in the SDK directly. Here is an example of a stake transaction on our NEAR validator:
Accounts are the way to organise your stakes with Kiln, you can see them as folder for your stakes. It is a flexible system you can use to differentiate your client stakes for example.
How to upgrade our JS SDK to new major version
Here is the high level changelog of the v2:
Support for XTZ transaction crafting, stakes and rewards data
Support for MATIC transaction crafting
Support for ATOM withdraw rewards transaction
Bug fixes
The sign function on all protocols now takes an integration object. You can also remove your integrations from the Kiln constructor.
1.X:
2.X:
Depending on the protocol, we now require the validator address to be passed as parameter of staking functions when required. You will need to update these functions:
k.ada.craftStakeTx
k.atom.craftStakeTx
k.atom.craftWithdrawRewardsTx
k.atom.craftUnstakeTx
k.near.craftStakeTx
k.near.craftUnstakeTx
k.near.craftWithdrawTx
k.sol.craftStakeTx
Please check out how you can find Kiln's validator addresses.
SDK functions on Cardano protocol
Craft a delegation transaction to the given pool id.
It also links your stake to the kiln account id provided.
Craft a withdraw rewards transaction. Rewards on Cardano are automatically added to your stake balance but you need to withdraw them in order to spend or exchange them.
The amount to withdraw is in ADA.
Craft an undelegate transaction.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
Get stakes real time data. You can get stakes by Kiln accounts, by stake addresses or by wallets.
Get historical rewards data by day. You can get rewards aggregated by Kiln accounts, by stake addresses or by wallets.
Get some network stats.
Checkout the to setup your vault.
SDK functions on TIA Cosmos protocol
We require the wallet compressed pubkey in transaction crafting methods. This pubkey is different from your wallet address, you wallet address is actually derived from the pubkey. To retrieve the pubkey, you can use our sdk as follow:
Craft a delegation transaction to the validator address provided.
It also links your stake to the kiln account id provided.
The amount to stake is in TIA.
Craft a withdraw rewards transaction. Your available rewards are then transferred to your wallet instantaneously.
Craft an undelegate transaction. Your stake then enters a 21 days unbonding period.
The amount to undelegate is optional and in TIA. If no amount is specified, your whole staked balance will be unstaked.
Craft a redelegate transaction from a validator to a new validator. This allows you to skip the 30 days unbonding period.
The amount to redelegate is optional and in TIA. If no amount is specified, your whole staked balance will be redelegated.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
SDK functions on Cosmos protocol
We require the wallet compressed pubkey in transaction crafting methods. This pubkey is different from your wallet address, you wallet address is actually derived from the pubkey. To retrieve the pubkey, you can use our sdk as follow:
Craft a delegation transaction to the validator address provided.
It also links your stake to the kiln account id provided.
The amount to stake is in ATOM.
Craft a withdraw rewards transaction. Your available rewards are then transferred to your wallet instantaneously.
Craft an undelegate transaction. Your stake then enters a 21 days unbonding period.
The amount to undelegate is optional and in ATOM. If no amount is specified, your whole staked balance will be unstaked.
Craft a redelegate transaction from a validator to a new validator. This allows you to skip the 21 days unbonding period.
The amount to redelegate is optional and in ATOM. If no amount is specified, your whole staked balance will be redelegated.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
Cosmos mainnet network is used in our testnet environment when retrieving data from our API so you won't be able to retrieve testnet stakes.
Get stakes real time data. You can get stakes by Kiln accounts or by delegators and by validators.
Get historical rewards data by day. You can get rewards aggregated by Kiln accounts or by delegators and validators.
Checkout the to setup your vault.
SDK functions on DYDX Cosmos protocol
We require the wallet compressed pubkey in transaction crafting methods. This pubkey is different from your wallet address, you wallet address is actually derived from the pubkey. To retrieve the pubkey, you can use our sdk as follow:
Craft a delegation transaction to the validator address provided.
It also links your stake to the kiln account id provided.
The amount to stake is in DYDX.
Craft a withdraw rewards transaction. Your available rewards are then transferred to your wallet instantaneously.
Craft an undelegate transaction. Your stake then enters a 30 days unbonding period.
The amount to undelegate is optional and in DYDX. If no amount is specified, your whole staked balance will be unstaked.
Craft a redelegate transaction from a validator to a new validator. This allows you to skip the 30 days unbonding period.
The amount to redelegate is optional and in DYDX. If no amount is specified, your whole staked balance will be redelegated.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
SDK functions on Ethereum protocol
Stake a multiple of 32 ETH in a single transaction.
This call generate validation keys on our system and links your Kiln account to them.
These validation keys are automatically deployed after the deposit transaction is made.
Craft exit request transactions. We watch these transactions and will exit your validators on your behalf. Exiting a validator can take a couple of days depending on the size of the exit queue.
You can exit multiple validators in one transaction.
On ETH, you have two options for signing and broadcasting transactions.
The method is usually preferred as it does not require the Fireblocks raw signing feature and allows you to leverage Fireblocks policies.
For this method to work you will need to whitelist the contract address that you are interacting with. When staking ETH with Kiln, it is interacting with our batch deposit contract ( mainnet / testnet - Holesky ).
Once the contract is whitelisted in Fireblocks, you should be able to retrieve the destination id associated with it (in the fireblocks URL or via their API). This id needs to be in the Integration configuration object.
Here is an example showing how to sign and broadcast a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
With this method, the transaction is signed and broadcasted through Fireblocks.
When using the Fireblocks raw signing feature, you need to make two calls to our SDK, the first to sign the transaction and the second to broadcast it via our API.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
Get stakes real time data. You can get stakes by Kiln accounts, by validators or by wallets.
Get historical rewards data by day. You can get rewards aggregated by Kiln accounts, by validators or by wallets.
Get some network stats.
Get Kiln APRs.
SDK functions on Cosmos protocol
We require the wallet compressed pubkey in transaction crafting methods. This pubkey is different from your wallet address, you wallet address is actually derived from the pubkey. To retrieve the pubkey, you can use our sdk as follow:
Craft a delegation transaction to the validator address provided.
It also links your stake to the kiln account id provided.
The amount to stake is in FET.
Craft a withdraw rewards transaction. Your available rewards are then transferred to your wallet instantaneously.
Craft an undelegate transaction. Your stake then enters a 21 days unbonding period.
The amount to undelegate is optional and in FET. If no amount is specified, your whole staked balance will be unstaked.
Craft a redelegate transaction from a validator to a new validator. This allows you to skip the 21 days unbonding period.
The amount to redelegate is optional and in FET. If no amount is specified, your whole staked balance will be redelegated.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
SDK functions on Cosmos protocol
We require the wallet compressed pubkey in transaction crafting methods. This pubkey is different from your wallet address, you wallet address is actually derived from the pubkey. To retrieve the pubkey, you can use our sdk as follow:
Craft a delegation transaction to the validator address provided.
It also links your stake to the kiln account id provided.
The amount to stake is in INJ.
Craft a withdraw rewards transaction. Your available rewards are then transferred to your wallet instantaneously.
Craft an undelegate transaction. Your stake then enters a 21 days unbonding period.
The amount to undelegate is optional and in INJ. If no amount is specified, your whole staked balance will be unstaked.
Craft a redelegate transaction from a validator to a new validator. This allows you to skip the 21 days unbonding period.
The amount to redelegate is optional and in INJ. If no amount is specified, your whole staked balance will be redelegated.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
Checkout the to setup your vault.
SDK functions on Near protocol
Craft a stake transaction.
The amount to stake is in NEAR.
Craft an unstake transaction. Once unstaked, your token will be available for withdrawals after ~36 to 48h (3 full epochs).
The amount to unstake is optional and in NEAR, the whole stake balance will be unstaked if no amount is given.
Craft a withdraw transaction. The amount to withdraw must first be unstaked and available before you can withdraw it.
The amount to withdraw is optional and in NEAR, the whole stake balance will be withdrawn if no amount is given.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash and the pool id that received transaction.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
Get stakes real time data. You can get stakes by Kiln accounts, by stake accounts (poolId_walletId) or by wallets.
Get historical rewards data by day. You can get rewards aggregated by Kiln accounts, by stake accounts (poolId_walletId) or by wallets.
Get some network stats.
SDK functions on OSMOSIS Cosmos protocol
We require the wallet compressed pubkey in transaction crafting methods. This pubkey is different from your wallet address, you wallet address is actually derived from the pubkey. To retrieve the pubkey, you can use our sdk as follow:
Craft a delegation transaction to the validator address provided.
It also links your stake to the kiln account id provided.
The amount to stake is in OSMO.
Craft a withdraw rewards transaction. Your available rewards are then transferred to your wallet instantaneously.
Craft an undelegate transaction. Your stake then enters a 14 days unbonding period.
The amount to undelegate is optional and in OSMO. If no amount is specified, your whole staked balance will be unstaked.
Craft a redelegate transaction from a validator to a new validator. This allows you to skip the 14 days unbonding period.
The amount to redelegate is optional and in OSMO. If no amount is specified, your whole staked balance will be redelegated.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
Cosmos mainnet network is used in our testnet environment when retrieving data from our API so you won't be able to retrieve testnet stakes.
Get stakes real time data. You can get stakes by Kiln accounts or by delegators and by validators.
Get historical rewards data by day. You can get rewards aggregated by Kiln accounts or by delegators and validators.
SDK functions for DOT staking on Polkadot protocol
As a staker, there are two ways to stake your assets on Polkadot.
You can either join a nomination pool or nominate your validators manually.
Nomination pools allow users to pool their DOT tokens together on-chain to nominate validators and receive rewards. Participating in pools is more of a set-and-forget action than nominating by yourself. The pool operator maintains the list of validators nominated by the pool, and so, in a way, you are trusting the pool operator to act in your best interests. You can join a nomination pool with a minimum of 1 DOT.
Nominating is the action of choosing validators. It does not simply involve bonding tokens. Nominating is an active task, which implies that you regularly monitor that your stake is backing an active validator in all the eras and check if you are receiving your staking rewards. More importantly, ensure that the validators you chose always act in the best interests of the network protocol and have less chance of getting slashed. To nominate, you need a minimum of 250 DOT, and to receive rewards, you need at least a balance greater than the minimum active bond.
Join a nomination pool.
The amount to bond is in DOT.
You can find the pool id that you want to join in the URL of the pool, eg Kiln's pool id is 118:
https://polkadot.subscan.io/nomination_pool/118
A bond extra to pool transaction allows you to bond more tokens from your balance to the pool.
The amount to bond is in DOT.
A bond rewards to pool transaction allows you to bond your available rewards to the pool. You can use this feature to compound your rewards automatically.
A claim payout from pool transaction transfers your available rewards to your wallet.
An ubond from pool transaction allows you unbond tokens from the pool. Your tokens remains locked for 28 days before you can withdraw them.
The amount to unbond is in DOT.
Warning
A withdraw unbonded from pool transaction allows you to withdraw unbonded tokens from the pool.
A bond transaction allows you to lock tokens that will be used by your nominated validators. The bond transaction should be made if this is the first time you bond tokens from your wallet. If you already have some tokens bonded, use the craftBondExtraTx
function.
The account_id is used to link your DOT stake to your Kiln account.
The stash account is the wallet from which you are bonding token.
The amount to bond is in DOT.
The reward destination can be set to:
Staked: rewards are paid into the stash account, increasing the amount at stake accordingly (auto-compounding).
Stash: rewards are paid into the stash account, not increasing the amount at stake (not auto-compounding).
Custom account address: rewards are paid into the custom account address (not auto-compounding)
A bond extra transaction allows you to lock more tokens to already bonded tokens.
The amount to bond is in DOT.
A rebond transaction allows you to bond back tokens that are currently unbonding.
The amount to rebond is in DOT.
A nominate transaction allows you to nominate validators (up to 16). Once done, if your nominated validators are elected to produce block on the current era, you will start earning rewards.
An unbond transaction allows you to unlock bonded tokens. The unbonding period is about 28 days.
The amount to unbond is in DOT.
A withdraw unbonded transaction allows you to withdraw unbonded tokens so all unbonded tokens become available in your wallet.
A chill transaction allows you to freeze a controller account. This means that the controller account will stop nominate validators and you will stop earning rewards from the next era.
A set payee transaction allows you to update the reward destination address for the given controller account. You can use the following destination options:
Staked: rewards are paid into the stash account, increasing the amount at stake accordingly (auto-compounding).
Stash: rewards are paid into the stash account, not increasing the amount at stake (not auto-compounding).
Controller: rewards are paid into the controller account (not auto-compounding)
Custom account address: rewards are paid into the custom account address (not auto-compounding)
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
SDK functions for POL staking on Ethereum protocol
Approve a contract to spend an amount of ERC-20 POL.
This function is necessary prior to stake POL through a ValidatorShare proxy contract.
Users must first allow the POL StakeManager proxy (sepolia / mainnet) contract to spend the amount that needs to be spent. If no amount is specified, an infinite amount will be approved and this transaction will no longer be required before each staking transaction. That said, this is not recommended for security reasons.
Buy voucher is the action of exchanging POL against validator shares.
It is done by doing a buyVoucherPOL contract call to a ValidatorShare proxy contract of your desired validator.
Our validator share proxies are : mainnet / sepolia
This function also links your stake to your kiln account id.
The amount to stake is in POL.
Sell voucher is the action of unbonding your staked POL.
It is done by doing a sellVoucherPOL contract call to a ValidatorShare proxy contract.
Once done, your POL token enter the unbonding period of ~3/4 days (80 checkpoints).
The amount to sell is in POL.
Unstake claim tokens transfers your unbonded tokens to your wallet.
Withdraw rewards transfers your available rewards to your wallet.
Restake rewards converts your available rewards to staked POL. This is how you can take advantage of auto-compounding by automating this process.
On POL, you have two options for signing and broadcasting transactions.
The method is usually preferred as it does not require the Fireblocks raw signing feature and allows you to leverage Fireblocks policies.
For this method to work you will need to whitelist the contract address that you are interacting with. When staking ETH with Kiln, it is interacting with our ValidatorShareProxy contract.
Once the contract is whitelisted in Fireblocks, you should be able to retrieve the destination id associated with it (in the fireblocks URL or via their API). This id needs to be in the Integration configuration object.
Here is an example showing how to sign and broadcast a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
With this method, the transaction is signed and broadcasted through Fireblocks.
When using the Fireblocks raw signing feature, you need to make two calls to our SDK, the first to sign the transaction and the second to broadcast it via our API.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
SDK functions on Solana protocol
On Solana, a wallet can create multiple stake accounts. This stake action creates a new stake account and delegates funds to the chosen validator vote account address. The stake account will earn rewards after an activation period of one epoch (~2.5 days).
You can retrieve the address of the created stake account by using getRewardsByWallets
after broadcasting your transaction.
The amount to stake is in SOL.
You can also pass an optional memo message that will be included in the transaction.
Craft a deactivate stake transaction. It takes one full epoch (~2 to 3 days) to deactivate a stake.
Craft a withdraw stake transaction. You can specify the amount to withdraw, if not specified, the whole stake balance will be withdrawn. Your stake must be deactivated before you can withdraw funds from it.
Craft a split stake transaction. This allows you to split your stake in two stakes.
This is useful when you want to withdraw only a portion of your stake without deactivating it entirely. You would then split it into two stakes with the new stake containing the amount you wish to withdraw - a stake that you can then deactivate and withdraw.
The amount to transfer to the new stake is in SOL.
Craft a merge stakes transaction. This allows you to merge two stakes into one on certain conditions. See https://docs.solana.com/staking/stake-accounts#merging-stake-accounts
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
Get stakes real time data. You can get stakes by Kiln accounts, by stake accounts or by wallets.
Get historical rewards data by day. You can get rewards aggregated by Kiln accounts, by stake accounts or by wallets.
Get some network stats.
SDK functions on Tezos protocol
Craft a delegation transaction to the baker address provided. A tezos delegation takes ~23 days before becoming active.
Craft an undelegate transaction.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its block number and transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
Get stakes real time data. You can get stakes by Kiln accounts or by wallets.
Get historical rewards data by day. You can get rewards aggregated by Kiln accounts or by wallets.
Get some network stats.
SDK functions on The Open Network protocol
Craft a stake transaction to a single nominator pool.
It also links your stake to the kiln account id provided.
The amount to stake is in TON.
Craft an unstake transaction from a single nominator pool.
The amount to unstake is in TON. If not provided, the whole pool balance will be unstaked.
If you are owner of a vesting contract, you have the ability to stake your locked TON from the contract to a single nominator pool. The conditions for this to be possible are:
You must be the owner of the vesting contract
The single nomination pool owner must be the vesting contract address
The single nomination pool address must be whitelisted on the contract. This is to be done by the vesting contract sender (the wallet that created the contract)
Craft a transaction to unstake from a single nomination pool back to your vesting contract.
If you are the sender of a vesting contract, you can whitelist addresses to it. For example you wouild need to whitelist the address of the single nominator pool in order for the vesting contract owner to stake his TON to it.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Checkout the to setup your vault.
SDK functions on Cosmos protocol
We require the wallet compressed pubkey in transaction crafting methods. This pubkey is different from your wallet address, you wallet address is actually derived from the pubkey. To retrieve the pubkey, you can use our sdk as follow:
Craft a delegation transaction to the validator address provided.
It also links your stake to the kiln account id provided.
The amount to stake is in ZETA.
Craft a withdraw rewards transaction. Your available rewards are then transferred to your wallet instantaneously.
Craft an undelegate transaction. Your stake then enters a 21 days unbonding period.
The amount to undelegate is optional and in ZETA. If no amount is specified, your whole staked balance will be unstaked.
Craft a redelegate transaction from a validator to a new validator. This allows you to skip the 21 days unbonding period.
The amount to redelegate is optional and in ZETA. If no amount is specified, your whole staked balance will be redelegated.
Sign a transaction by specifying the integration and the crafted transaction.
Here is an example showing how to sign a transaction with a fireblocks vault.
Checkout the setup fireblocks documentation to setup your vault.
Broadcast a signed transaction.
Get the transaction status of a broadcasted transaction by providing its transaction hash.
Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.
Stakes can be taggued using the Solana memo feature to enable Kiln to distinguish your stakes on-chain.
A Solana transaction is composed of multiple instructions, executed one after the other. Here is an example of instructions you can define with the standard Solana @solana/web3.js
package.
This transaction will be taggued with the hello, world!
memo and will create, initialize and delegate a stake account.
Kiln gives to each partner a fix value to include as memo in all the transactions they craft with the following format: kiln_{uuidv4}
.
How to bridge your rewards using Kiln Connect, regardless of your custody solution.
Rewards earned on DYDX are DYDX-USDC. In this tutorial we will present how to bridge these rewards to Ethereum or to Osmosis using the Kiln SDK. These flows can be done directly from Kiln Dashboard if you are using Fireblocks.
The goal of this bridge is to bring your dYdX rewards in USDC on your ETH address so that you can use them for other purposes like depositing them on a centralized exchange to get some dYdX back.
To convert your DYDX-USDC to USDC on Ethereum, we will use the Noble bridge developed by Circle, which is the recommended on-chain approach.
There is 3 steps to this flow:
1) Transfer the USDC from DYDX to the Noble chain
2) Burn the USDC on Noble
3) Mint the USDC on Ethereum
Here is a TypeScript code snippet that you can use:
The goal of this bridge is to bring your dYdX rewards in USDC on another cosmos address here on Osmosis so that you can use them for other purposes like depositing them on a centralized exchange or a Swap on Osmosis to get some dYdX back.
This flow follows two steps:
1) Transfer the DYDX-USDC to the Noble chain
2) Transfer the USDC on Noble to Osmosis
Here is a TypeScript code snippet that you can use: