Overview
You can use the Fireblocks Console or the Fireblocks API to stake your MATIC or POL. Staking involves sending your MATIC or POL ERC-20 tokens on Ethereum to the Polygon MATIC or POL PoS Staking Contract. Please note that the MATIC or POL gas token on the Polygon network is not used for staking, and testnet assets are not currently supported.
The first time you stake from a vault account, you must sign an Approve transaction that allows the contract to withdraw tokens on your behalf. Approve transactions typically allow contracts to withdraw an unlimited amount of funds.
After signing the Approve transaction, you can then stake your MATIC or POL through one of our third-party staking providers, which facilitate the staking transactions between you and the staking contract. Your funds are withdrawn from your vault account and sent to the staking contract. These third-party providers also set up and operate the validators for your staked MATIC or POL. Keep in mind that your staked funds are subject to the Polygon MATIC or POL PoS Staking Contract and the third-party staking provider’s smart contract.
Note
You can only have one set of staked funds per provider for each vault account.
Staking lifecycle
Your staked MATIC or POL becomes eligible to accrue rewards immediately. You can claim rewards at any time to receive them in the vault account you used to stake. The minimum amount of rewards you can claim is 1 MATIC or POL. You can see the balance of your staked MATIC or POL and rewards on the Staking page.
You can’t use your MATIC or POL while it is staked. When you want to use your MATIC or POL locked in the staking contract, you must unstake the tokens and wait for the lock-up period (also known as the cooldown period) to pass. The lock-up period typically lasts about three to four days. You can then withdraw your assets and return them to the vault account used for staking.
Transaction fees apply to all transactions during the staking process: approving, staking, unstaking, withdrawing, and claiming rewards. Since staking occurs on the Ethereum network, transaction fees are paid in ETH.
Note
Details in this article refer to staking via the Console or the native API endpoints.
Policy rules for staking
To allow users to stake, you must create Policy rules to govern the transactions necessary for staking MATIC or POL.
Approve rules
Because you are staking the MATIC or POL ERC-20 token on Ethereum, you must create a Policy rule that allows the Polygon MATIC or POL PoS Staking Contract to withdraw funds on your behalf. Simply use the Approve operation type when creating rules for Approve transactions.
Keep these things in mind when configuring Policy rules for Approve transactions:
- You must create a rule with the Polygon MATIC or POL PoS staking contract address (0x5e3Ef299fDDf15eAa0432E6e66473ace8c13D908) as the destination. This defines the staking contract as the spender in the Approve transaction.
- When creating the rule, go to Destination and select MATIC/POL Staking contract.
Stake rules
You can set up rule parameters for staking transactions similar to configuring rules for other types of transactions. Simply use the Stake operation type from the Policies option on your Fireblocks Console’s left navigation bar when creating staking rules.
Important
Policy rules configured with the Stake operation type only apply to staking operations initiated from the Fireblocks Console or the Fireblocks API. They do not apply to staking transactions initiated using the Raw Signing-based SDKs, contract calls, or other external interfaces.
Keep these things in mind when configuring Policy rules for staking:
- Rules apply to all staking transactions: staking, unstaking, claiming rewards, and withdrawing.
- You must create a Policy rule with your validator addresses as the destination.
- When creating the rule, go to Destination and select the appropriate destinations. You can create a rule that governs all staking destinations or specific ones.
- If you don’t see the list of staking destinations when creating your Policy rules, contact Fireblocks Support. After they enable the list in your workspace, you can create a new staking rule using the staking destinations from the list.
Staking in the Fireblocks Console
Before you can stake MATIC or POL using the Console, you must add funds to a MATIC or POL wallet and create the appropriate Policy rules for staking. You can only have one set of staked funds per provider for each vault account.
Important
Remember, you are staking MATIC or POL Token (Ethereum) and not MATIC or POL Gas Token (Polygon).
- On the Staking page, select the MATIC/POL icon and then select Stake.
- Select the vault account to use for staking.
- Enter the amount to stake and a fee rate for the transaction.
- Select a validator. If selecting a validator for the first time, accept the staking provider’s terms and conditions.
- Select Approve & stake (or Stake if you’ve already staked from this vault account and want to stake with a different provider).
- Sign the Approve transaction using your mobile device (if applicable).
- Sign the staking transaction using your mobile device.
- After the transaction is confirmed on the blockchain, your funds are withdrawn from your vault account and sent to the staking contract. Your MATIC or POL begin accruing rewards.
Details for the approval and staking transactions can be reviewed on the Recent activity panel and the Transaction History page.
Rewards
Rewards begin accruing immediately after staking and are collected separately from your staked funds. Therefore, rewards do not compound automatically. You receive the net amount of rewards after any related fees are collected. You can view the balance of your staking rewards on the Staking page.
You can claim and receive your rewards by withdrawing the staked MATIC or POL associated with those rewards. You can claim amounts of 1 MATIC or POL or more.
Note
Rewards on the Fireblocks Console may not update in real-time. If you see a different amount of rewards on a block explorer, check the Console again at a later time for the updated rewards.
Unstaking and withdrawing
You must unstake your funds before you can withdraw your staked MATIC or POL and any unclaimed rewards.
- Access the staked MATIC or POL on the Staking page.
- Select Unstake. You must unstake all MATIC or POL associated with that staking instance.
- Sign and approve the unstaking transaction.
After the lock-up period (about three to four days), you can withdraw your funds.
- Select Withdraw on the Staking page.
- Sign and approve the withdrawal transaction.
- The funds are received in the vault account you used to stake.
You can view the details of the unstaking transaction and the withdrawal transaction on the Recent activity panel and the Transaction History page.
Service fees
A percentage of your rewards is collected as a service fee, a portion of which is paid to the third-party staking partner. These fees are based on staking rewards only and are collected during on-chain reward distribution. The reward balance reflects your net staking rewards. Staking service fees are charged in MATIC or POL.
Following are the fee rates for each provider:
- Figment: 8%
- Kiln: 5%
- Kraken: 10%
- P2P.org: 0%
- Pie Two: 7%
- Blockdaemon: 10%
Staking with the Fireblocks API
You can also stake MATIC or POL using the Fireblocks API.