# Smart Contract interaction

**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;

### Request exit via Etherscan

1. Find your deposit transaction on your wallet transaction history.&#x20;
   1. Example: <https://etherscan.io/tx/0x47aa07586e32a66c16ec24fd5e0248e00f847f46d80f2cf9ac4fd00fc5c5522d>
2. From the Tx Hash on etherscran click the `To`  address to open the smart contract page.
   1. You can find all Kiln Pooled Staking address here: [#ethereum-pooling](https://docs.kiln.fi/v1/kiln-products/security/source-code#ethereum-pooling "mention") where you find the list of all partners deposit contracts
   2. eg. Ledger Live Pooled Staked ETH: <https://etherscan.io/address/0x5db5235b5c7e247488784986e58019fffd98fda4>
3. Navigate to Pooled staking deposit `Contract` tab and sub tab  `Read as Proxy` , find `3. balanceOf (0x70a08231)`

   &#x20; input your wallet address and click **query.**

   1. You will get the balance in shares of your wallet.
   2. eg.  [732369644308641657](https://etherscan.io/unitconverter?wei=732369644308641657) -> (0.732369644308641657)
4. Navigate to the `Contract` tab and the `Write as Proxy` , connect your wallet that did the initial deposit, input the amount you want to exit (in gwei) in `10. requestExit (0x721c6513)`

   and click **write**, this will request exit the selected amount of shares and will give you an exit ticket.

   1. **To exit your full position, input the amount you received from `3. balanceOf` .**
   2. Once this transaction is signed and successful in your transaction history, you will receive an exit ticket in your wallet.
      1. You can search for exit tickets for by pasting your wallet in the search bar on this [dune query](https://dune.com/queries/3021504/5019343).
      2. Important info are `ticketIndex` and `caskId` to claim on

         <figure><img src="https://1911902555-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnye3yqpuOzdfrtWAlwng%2Fuploads%2FDfcQzVY6XlsBKjGaL78V%2Fimage.png?alt=media&#x26;token=bef8e3da-c288-4add-8574-268777bffc8f" alt=""><figcaption></figcaption></figure>

### Withdraw available request via Etherscan - Advanced

We recommend not doing this following part alone on Etherscan and wait for the UI to be back online.

**Requirements : Your exit ticket need to be ready, you can monitor this on this** [**dune query**](https://dune.com/queries/3021504/5019343).

1. Open the deposit smart contract page:&#x20;
   1. eg. <https://etherscan.io/address/0x5db5235b5c7e247488784986e58019fffd98fda4>
2. Navigate to the `Contract` tab and the `Read as Proxy` , and call `14. pools (0xc5c51dca)` and click **query**, this will return the underlying vPool.
   1. Navigate to this vPool ([Kiln's](https://etherscan.io/address/0x00a0BE1BBC0C99898dF7e6524Bf16e893c1e3bB9#readProxyContract)) contract on Etherscan and get the `10. exitQueue (0xffed4bf5)`
      1. &#x20;Kiln Exit Queue : `0x8d6Fd650500f82c7D978a440348e5a9b886943bF` <https://etherscan.io/address/0x8d6Fd650500f82c7D978a440348e5a9b886943bF>
   2. On the **exit queue contract navigate** to the `Contract` tab and the `Read as Proxy` , and call `13. ticketIdAtIndex (0xeddd1bed)` with your `ticketIndex` (from dune) and click **query.**

      1. You should get a really long string like:&#x20;
      2. `ticketId in Decimals`: [`28300944174447531067786338663201126475685755`](https://etherscan.io/unitconverter?wei=28300944174447531067786338663201126475685755)
      3.

      ```
      <figure><img src="https://1911902555-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnye3yqpuOzdfrtWAlwng%2Fuploads%2FLAZWudkcZvGw7zGvbimD%2Fimage.png?alt=media&#x26;token=6c61cc73-4410-424f-8ae4-c17f9124ad15" alt=""><figcaption></figcaption></figure>
      ```
3. To continue beyond this step, you should have:&#x20;
   1. The `exitQueue`   (from step 2.a)
   2. Your exit `ticketIds` (from step 2.b)
   3. Their related `caskIds` (from dune)
4. To claim your ticket, go on the [ExitQueueHelper](https://etherscan.io/address/0x8fe52F7FcE2eD6304aca6D45D5c993D5be06852A#code) contract on Etherscan and navigate to the `Contract` tab and the `Write Contract` , and call `1. multiClaim (0xb7ba18c7)` with your ticket in parameters.
5. Here is an example of the parameters:&#x20;

   1. `exitQueues` :`["0x8d6Fd650500f82c7D978a440348e5a9b886943bF"]`
   2. `ticketIds` : `[["`[`28300944174447531067786338663201126475685755`](https://etherscan.io/unitconverter?wei=28300944174447531067786338663201126475685755)`"]]`
   3. `casksIds` : `[[686]]`
   4.

   ```
   <figure><img src="https://1911902555-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnye3yqpuOzdfrtWAlwng%2Fuploads%2F6QViscpOV8s86YdsTRuZ%2Fimage.png?alt=media&#x26;token=8bf41be9-42f2-4c25-838f-203687fbe357" alt="" width="375"><figcaption></figcaption></figure>
   ```

   &#x20;
6. After this your exit ticket will be burned and you will receive your ETH directly in your wallet.
