# Smart Contract interactions

**We DO NOT recommend you proceed with this path unless you are an experienced user and have an urgent need to access the funds.**

**Note: If you are trying to interact with the contract via a Ledger device, Ledger Live does not work currently. We would recommend you connect it with a trusted browser wallet extension, for example Rabby Wallet.  See** [**here**](https://support.ledger.com/article/4409801559569-zd) **for more info.**&#x20;

{% hint style="warning" %}
Following the [incident involving SwissBorg](https://www.kiln.fi/post/sol-incident-swissborg---announcement), Kiln has implemented precautionary measures including [Orderly exiting of all Ethereum (ETH) validators](https://www.kiln.fi/post/kiln-responds-to-infrastructure-issue-with-validator-exit-funds-remain-protected).

* As a result, your staked ETH and rewards have been exited from staking and are now waiting to be withdrawn from the staking contract. However, the smart contract is not aware that these validators were exited, since the procedure was triggered outside the standard exit flow.&#x20;
* To ensure that your rewards can be properly withdrawn, you need to manually **finalize the exit of these validators by performing a**  [**Request Exit**](#exit-validators-via-etherscan). This can be done for all your validators in a single transaction.

We recommend performing theses actions inside Kiln UIs as documented here:

* [Kiln dApp](https://docs.kiln.fi/v1/integrations/wallets/stake-from-ledger-live/using-kiln-dapp/dedicated-validators/precautionary-validator-exit-and-withdraw-guide) guide with Ledger Live example
* [Kiln Widget](https://docs.kiln.fi/v1/integrations/wallets/stake-from-safe-wallet/how-to-stake-eth-on-safe-and-faq/precautionary-validator-exit-and-withdraw-guide) guide with Safe{Wallet} example
  {% endhint %}

### Exit Validators via Etherscan

**Open Etherscan Dedicated Staking Contract page**

1. Find your deposit transaction on your wallet transaction history.&#x20;
   1. Example: <https://etherscan.io/tx/0xb1f126e286275ae204106872c52a1d844eed1a837df61565f832055c46224634>
2. Scroll down to the ***Beaconchain Deposit*** section where you can find all of your validators address.
   1. Alternatively to Etherscan, you can also open your  Tx hash in [Beaconcha.in](https://beaconcha.in/tx/0xb1f126e286275ae204106872c52a1d844eed1a837df61565f832055c46224634), where you can find more informations on your validators.
   2. Keep a list of the pubKeys of your validators from all your deposits.&#x20;
3. From the Tx Hash on etherscran click the `To`  address to open the smart contract page.
   1. eg. <https://etherscan.io/address/0x1e68238ce926dec62b3fbc99ab06eb1d85ce0270>
4. Navigate to the `Contract` tab and the `Write as Proxy` , connect your wallet that did the initial deposit, paste one of your validators pubKeys in `13. requestValidatorsExit (0xb6b06dec)`  and click **write**, this will exit the selected validators.&#x20;
   1. To exit multiple validators from Etherscan, you need to join pubKeys one after the other while **keeping 0x before the first one**, and r**emoving the 0x on all following pubKeys**.&#x20;
      1. eg. for 3 validators pubKeys:&#x20;
         1. <mark style="color:purple;">`0x8e745317b728cbb16880ea4f78aa062501d87ff283b6420ca30cc0883e4b74f2cc27925c4b09dda182d4f73acdc45272`</mark>
         2. ~~<mark style="color:orange;">`0x`</mark>~~<mark style="color:orange;">`9359b64f6afea36618a9f12a9099630352d7e4352e256b0f249cc5374ebb7bde0f77f71908bdeb29c5c1afc624661eb4`</mark>
         3. ~~<mark style="color:green;">`0x`</mark>~~<mark style="color:green;">`8bc1b8b0b0f43cd75fef6921e5f14dbec2f14bfc8b64c8d9cdddf153623f005a5206b07ecaf5ac730484f587026c7fb6`</mark>
      2. final string to input in etherscan <mark style="color:purple;">`0x8e745317b728cbb16880ea4f78aa062501d87ff283b6420ca30cc0883e4b74f2cc27925c4b09dda182d4f73acdc45272`</mark><mark style="color:orange;">`9359b64f6afea36618a9f12a9099630352d7e4352e256b0f249cc5374ebb7bde0f77f71908bdeb29c5c1afc624661eb4`</mark><mark style="color:green;">`8bc1b8b0b0f43cd75fef6921e5f14dbec2f14bfc8b64c8d9cdddf153623f005a5206b07ecaf5ac730484f587026c7fb6`</mark>
   2. Once this transaction is signed and successful in your transaction history, you can track the validator exit status using the beaconproxy pages of a validator by just searching for your validator pubKey.
      1. eg. <https://beaconcha.in/validator/0x8e745317b728cbb16880ea4f78aa062501d87ff283b6420ca30cc0883e4b74f2cc27925c4b09dda182d4f73acdc45272#deposits>

### Withdraw exited validators & rewards via Etherscan

**Requirements : Your validators need to be exited, you need to have called** [**RequestExit**](#exit-validators-via-etherscan)**.**&#x20;

{% hint style="info" %}
To ensure that your rewards can be properly withdrawn, you need to manually **finalize the exit of these validators by performing a**  [**Request Exit**](#exit-validators-via-etherscan). This can be done for all your validators in a single transaction.
{% endhint %}

1. Open the smart contract page:&#x20;
   1. eg. <https://etherscan.io/address/0x1e68238ce926dec62b3fbc99ab06eb1d85ce0270>
2. Navigate to the `Contract` tab and the `Write as Proxy` , connect your wallet that did the initial deposit, paste one of your validator pubKey in `6. batchWithdrawCLFee (0x0ffab6c2)` and click **write**, this will withdraw rewards and principal exited from the selected validators.&#x20;
