Skip to main content

Guide: Withdrawing stMATIC for MATIC

How to withdraw stMATIC for MATIC on Etherscan

Updated this week

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. 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

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

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

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

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.

    • 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

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

Did this answer your question?