# How to Withdraw stMATIC for MATIC on Etherscan This is step-by-step guide on how to use Etherscan to withdraw **stMATIC** for **MATIC** tokens by calling functions directly from the **stMATIC** smart contract. ## Step 1: Open the stMATIC Contract on Etherscan 1. Go to the **[stMATIC contract on Etherscan](https://etherscan.io/address/0x9ee91f9f426fa633d227f7a9b000e28b9dfd8599)**. 2. Confirm it’s the correct contract (**Lido on Polygon: stMATIC**). ## Step 2: Navigate to the "Contract" Tab (Use "Read as Proxy" and "Write as Proxy") 1. On the contract page, click on **"Contract."** 2. You will see sub-tabs: **Code**, **Read Contract**, **Write Contract**, **Read as Proxy**, and **Write as Proxy**. 3. Use **Read as Proxy** and **Write as Proxy**. ## Step 3: Check Your Balance (Read as Proxy) 1. Click on **"Read as Proxy."** 2. Find **`balanceOf(address account)`**. 3. Enter **your wallet address** in the `account` field. 4. Click **"Query"** to see your **stMATIC balance**. 5. **Copy** this numeric result (you’ll need it for the withdrawal request). ![Screenshot 2025-03-07 at 15.28.12](https://hackmd.io/_uploads/Bk07VYujJg.png) ## Step 4: Switch to "Write as Proxy" and Connect Your Wallet 1. Click on **"Write as Proxy"**. 2. Just above the list of available methods, select **"Connect to Web3."** 3. Approve the connection in your wallet (e.g., MetaMask). ![Screenshot 2025-03-07 at 15.30.49](https://hackmd.io/_uploads/ByNYQKdi1g.png) ## Step 5: Use `requestWithdraw` Function 1. Locate **`requestWithdraw`**. 2. Under `_amount`, **paste the stMATIC balance** you copied in Step 3. 3. Under `_referral`, enter the **zero address** (`0x0000000000000000000000000000000000000000`). 4. Click **"Write"** and confirm the transaction in your wallet. This transaction initiates the unbonding process for your stMATIC. ![Screenshot 2025-03-07 at 15.35.57](https://hackmd.io/_uploads/BJ8zIKusyx.png) ## Step 6: Record the Minted NFT ID 1. Once the transaction is confirmed, click on the **transaction link** in your wallet or **find it on Etherscan** by looking up the transaction hash. 2. In the transaction details, you will see an **NFT** that was minted. This NFT represents your withdrawal request. 3. **Write down the NFT ID** associated with this minted token — you’ll need it for the final claim step. ![Screenshot 2025-03-07 at 15.37.27](https://hackmd.io/_uploads/r13HHYuoJl.png) ## Step 7: Wait the Unbonding Period - **Lido on Polygon** typically requires a waiting (unbonding) period of around **3 days**. - During this time, your stMATIC is in a "requested withdrawal" state. ### Optionally Check When the Unbonding Period Ends 1. Under **Read as Proxy**, look for the method **`getToken2WithdrawRequests(uint256 _tokenId)`**. 2. Enter your **NFT ID** in the `_tokenId` field and click **"Query."** 3. The response includes fields such as `requestAmount`, `validatorNonce`, and an **epoch** (the third field). 4. Compare that **epoch** to the **checkpoint height** shown at **[validator.info/polygon](https://validator.info/polygon)**. - When the **checkpoint height** is **higher** than the epoch value from the contract, the unbonding period has passed and you can proceed to claim your MATIC. ![Screenshot 2025-03-07 at 15.44.33](https://hackmd.io/_uploads/HkG9Itdiyg.png) ## Step 8: Claim Your MATIC 1. After the unbonding period, return to **"Write as Proxy"**. 2. Look for a function **`claimTokens(uint256 _tokenId)`**. 3. In the `_tokenId` parameter, enter the **NFT ID** you noted in the "Step 6". 4. Click **"Write"** and confirm the transaction. 5. Once it’s confirmed, your MATIC should appear in your wallet. ![Screenshot 2025-03-07 at 15.40.34](https://hackmd.io/_uploads/HkcpBtOoJx.png)