Stake Assets for Rewards
Stake supported assets for yield & rewards across multiple chains.
ETH, WETH, AAVE & more across supported chains.
Staked tokens accrue rewards over time.
Compound rewards; unstake when you want.
Supported Chains
Staking is available on the following networks:
- Ethereum Mainnet - Primary staking network
- Base - Layer 2 staking support
- Arbitrum - Layer 2 staking support
Staking positions are chain-specific. You can stake on multiple chains independently.
How Staking Works
Staking Flow
- Select the asset you want to stake (ETH, WETH, AAVE, etc.)
- Approve token spending for the staking contract
- Enter the amount you want to stake
- Confirm the staking transaction
- Receive staked representation tokens (e.g., wstETH, stETH, stkAAVE)
- Start earning rewards automatically
Unstaking Flow
- Select the staked token you want to unstake
- Enter the amount you want to unstake
- Confirm the unstaking transaction
- Wait for the unstaking period (if applicable)
- Receive your original tokens back
Supported Assets
Staking pairs available on supported chains:
- ETH/WETH → wstETH, stETH, rETH, rsETH, ezETH, weETH, cbETH
- AAVE → stkAAVE
- GHO → stkGHO
- ENA → sENA
- USDe → sUSDe
- HYPE/WHYPE → stHYPE, wstHYPE, kHYPE, vkHYPE
- Conversion rates vary by asset & protocol
API Usage
Get Staking Routes
import { getStakingRoute } from '@/lib/torque'
// Get staking route for ETH to wstETH
const route = await getStakingRoute({
fromToken: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', // ETH
toToken: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0', // wstETH
amount: '1000000000000000000', // 1 ETH
fromAddress: userAddress,
chainId: 1,
slippage: 50,
})
console.log('Expected output:', route.amountOut)
console.log('Price impact:', route.priceImpact)Execute Staking
import { executeStaking } from '@/lib/torque'
// Execute staking transaction
const receipt = await executeStaking({
route,
wallet,
})
console.log('Staking transaction:', receipt.transactionHash)
console.log('Received staked tokens')Get Staking Pairs
import { getStakingPairs } from '@/lib/staking'
// Get available staking pairs for a chain
const pairs = await getStakingPairs(chainId)
// Pairs include: ETH→wstETH, ETH→stETH, & more.
pairs.forEach(pair => {
console.log(`${pair.input.symbol} → ${pair.output.symbol}`)
})Rewards & Benefits
Yield Generation
Staking assets generates yield through various mechanisms:
- Protocol rewards accrue to your staked position
- Yield rates vary by asset & protocol
- Rewards compound automatically over time
- Some assets offer additional protocol benefits
Asset-Specific Benefits
Different staking assets provide unique benefits:
- ETH staking: Earn staking rewards from validators
- Protocol tokens: Governance rights & fee distributions
- Liquid staking: Maintain liquidity while earning yield
- Benefits vary by asset & underlying protocol
Flexibility
Staking through Torque provides flexibility to stake multiple assets, switch between different staking options, & unstake when needed. All staking routes are optimized for best execution.
Supported Chains
Staking is available on multiple networks with different asset support:
- Ethereum Mainnet - Full asset support including ETH, AAVE, GHO, ENA, USDe, HYPE
- Base - ETH & select protocol tokens
- Arbitrum - ETH & select protocol tokens
- Polygon - Select assets
- Optimism - Select assets
Note: Available staking pairs vary by chain. Check the interface for current availability.
Best Practices
- Start with a small amount to familiarize yourself with the staking process
- Monitor your staking position regularly for rewards & updates
- Consider unstaking period requirements before unstaking large amounts
- Keep track of your stTORQ balance across different chains
- Claim fee distribution rewards regularly to maximize returns
- Participate in governance to help shape the protocol's future
- Verify contract addresses before any transactions
Troubleshooting
Transaction Fails
- Ensure you have sufficient TORQ balance
- Check that you've approved the staking contract
- Verify you have enough gas (ETH) for the transaction
- Confirm you're on the correct network
Balance Not Updating
- Wait for transaction confirmation (may take a few minutes)
- Refresh your wallet or reconnect
- Check the block explorer for transaction status
Rewards Not Showing
- Rewards are distributed periodically, not continuously
- Check the Fee Distributor contract for claimable rewards
- Ensure you meet minimum staking requirements