# Staking Interactions

{% hint style="info" %}
The examples below when calling smart contract functions (e.g. *stake()*) are done using **`cast,`**&#x61; cli tool, only as an illustration of how the transactions or view calls should be performed.

**All of the contract calls below are for:** Liquid20C, Liquid20A & Native20 contracts
{% endhint %}

## Getting started

Integrating Kiln into native workflow will require a mix of smart contract calls and TheGraph queries:

* **Smart contract**
  * Our smart contract ABI's can be found [here](https://docs.kiln.fi/v1/kiln-products/onchain/pooled-staking/how-to-integrate/contract-abi) and the contract address will be provided by Kiln once it is deployed.
* **The Graph**
  * Use the credentials provided by Kiln if using the public instance, or your own credentials if you are hosting your own instance. &#x20;

## Summary of all available actions

<table><thead><tr><th width="228">Action</th><th width="168">How to...<select multiple><option value="1f67dceaeb3944978da395293be7d6b0" label="contract call" color="blue"></option><option value="986e5f4f94f540b8b77483f5920effb3" label="TheGraph query" color="blue"></option></select></th><th>Description</th><th data-hidden>Description</th></tr></thead><tbody><tr><td><a href="rewards#reward-rate-of-the-pool">Reward rate (pool)</a></td><td><span data-option="986e5f4f94f540b8b77483f5920effb3">TheGraph query</span></td><td>Get the historical reward rate of the pool (last week, month, 3 months, 6 months, All Time). </td><td>Retrieve historical reward rate of the pool (last week, month, 3 months, 6 months + all time)</td></tr><tr><td><a href="staking#stake-any-amount-of-eth">Stake</a></td><td><span data-option="1f67dceaeb3944978da395293be7d6b0">contract call</span></td><td>Stake any amount of ETH into the pool.</td><td>Stake any amount of ETH into a pool.</td></tr><tr><td><a href="staking#retrieving-all-the-deposit-actions-of-a-user">View stake(s)</a></td><td><span data-option="986e5f4f94f540b8b77483f5920effb3">TheGraph query</span></td><td>Get a list of all deposits / stakes made from a wallet</td><td></td></tr><tr><td>Current value of stake(s)</td><td><span data-option="1f67dceaeb3944978da395293be7d6b0">contract call, </span><span data-option="986e5f4f94f540b8b77483f5920effb3">TheGraph query</span></td><td>Get the current underlying value of a wallet's staked position. Includes original stake + accrued rewards.</td><td></td></tr><tr><td><a href="staking-interactions/rewards">Reward rate (user)</a></td><td><span data-option="986e5f4f94f540b8b77483f5920effb3">TheGraph query</span></td><td>Get the historical reward rate of the wallet's staked position. </td><td></td></tr><tr><td>Unstake</td><td><span data-option="1f67dceaeb3944978da395293be7d6b0">contract call</span></td><td>Initiate an exit (or unstake) of a wallet's full or partial staked position.</td><td>Request to initiate unstake of full or partial staked balance for a given user</td></tr><tr><td>Unstake status</td><td><span data-option="986e5f4f94f540b8b77483f5920effb3">TheGraph query</span></td><td>Get the current status of a wallet's exit request.</td><td></td></tr><tr><td>Withdraw unstaked ETH </td><td><span data-option="1f67dceaeb3944978da395293be7d6b0">contract call</span></td><td>Claim unstaked ETH once the exit request has been fulfilled.</td><td></td></tr></tbody></table>
