Introduction
Staking involves sending your POL ERC-20 tokens on Ethereum to the Polygon POL PoS Staking Contract. Use the Utila Console or the Utila API to stake your POL.
Note that the POL gas token on the Polygon network is not used for staking; also testnet assets are not supported.
The first time you stake from a wallet, you need to sign an Approve transaction that allows the staking contract to withdraw tokens on your behalf. Approve transactions typically grant the contract permission to withdraw an unlimited amount of tokens.
After approving, you can then stake your POL through one of Utila’s integrated staking providers, such as Figment, which facilitates staking transactions between you and the Polygon staking contract. Your funds are withdrawn from your Utila wallet and sent to the staking contract.
These third-party providers also operate the validators for your staked POL.
Keep in mind that your staked funds are governed by both the Polygon POL PoS Staking Contract and the provider’s smart contract.
Staking lifecycle
Your staked POL starts accruing rewards immediately. You can claim rewards anytime to receive them in the wallet you used for staking.
The minimum amount of rewards you can claim is 1 POL. You can view your staked balance and rewards on the Staking page.
While your POL is staked, you cannot use it for transfers or other operations. When you wish to access your staked POL, you must unstake your tokens and wait for the lock-up (cooldown) period, which typically lasts about 3 to 4 days. After this period, you can withdraw your assets back to the wallet used for staking.
Transaction fees apply to all staking-related actions: approving, staking, unstaking, withdrawing, and claiming rewards.
Since staking occurs on Ethereum, fees are paid in ETH.
Transaction policy rules for staking
To allow users to stake POL, you must configure transaction policy rules that enable the necessary staking operations.
First, add the Polygon POL PoS Staking Contract as an address book entry so you can easily reference it later. Go to Address Book > Add Address.
Field | Value |
Name | Polygon POL PoS Staking Contract |
Address | 0x5e3Ef299fDDf15eAa0432E6e66473ace8c13D908 |
Blockchain | Ethereum |
Token approval rule
Because you are staking the POL ERC-20 token on Ethereum, you must create a policy rule that allows the Polygon POL PoS Staking Contract to withdraw tokens on your behalf.
Set the Spender (To) address to the Polygon POL PoS Staking Contract. This defines the staking contract as the spender in the Approval transaction.
Parameter | Value |
Rule Type | Token Approval |
Initiator | Your preferred user or user group |
From | Your preferred wallet or wallet group |
Spender Contract (to)
| 0x5e3Ef299fDDf15eAa0432E6e66473ace8c13D908 (Address Book Entry > Polygon POL PoS Staking Contract) |
Token | POL (Ethereum) |
EVM contract call rule
Create a rule to allow staking to your chosen validator.
Remember that staking occurs on the Ethereum blockchain.
Set the To address to that of the delegator. You can find this in the validator selection pop-up on the Staking tab, or provided by your staking provider.
We recommend adding this address to the Address Book
Parameter | Value |
Rule Type | EVM Contract Call |
Initiator | Your preferred user or user group |
From | Your preferred wallet or wallet group |
To | The delegator address (as shown in the validator selection pop-up on the Staking tab, or provided by your staking provider) |
Blockchain | Ethereum |
You can optionally restrict specific functions to control staking and unstaking actions in your Vault.
For Staking | buyVoucherPOL(uint256 _amount, uint256 _minSharesToMint) |
For Unstaking | sellVoucherPOL(uint256 claimAmount, uint256 maximumSharesToBurn) |
Staking process in the Utila console
Before you can stake POL using the console, you must:
Add funds to a POL wallet (on Ethereum).
Create the policy rules described above.
Important reminder: You are staking the POL token on Ethereum, not the gas token on the Polygon network.
To stake POL, follow these steps.
In the Utila Console, go to the Staking page.
Select the wallet that holds your POL.
Choose Ethereum as the blockchain.
Select the POL icon in the console.
Enter the amount of POL to stake to create the approval transaction.
Select a validator. If this is your first time, accept the provider’s terms and conditions.
Click Stake and then Confirm.
Sign the Approve transaction using your mobile device (if required).
Approve and then Sign the Staking transaction using your mobile device.
After confirmation on the blockchain, your funds are withdrawn from your wallet and sent to the staking contract. Your POL begins accruing rewards immediately.
You can review transaction details in the Activity tab of the Staking page and the Transaction History page.
Unstaking and withdrawing process
Before you can withdraw your staked POL and any unclaimed rewards, you must unstake your tokens.
On the Staking page, select your staked POL position on the right.
Click Unstake. You must unstake the full amount associated with that position.
Sign and approve the unstaking transaction.
Wait for the lock-up period (typically 3–4 days).
When available, click Withdraw on the Staking page.
Sign and approve the withdrawal transaction.
Your funds will be returned to the wallet you used for staking.






