This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

NFT Staking Enroller

NFTs · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategoryNFTs
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

NFT Staking Enroller lets you deposit your NFTs into staking contracts to earn rewards. Instead of manually approving and staking each NFT individually, you add multiple NFTs, verify ownership, and execute a batch stake transaction—all in one streamlined flow. The tool handles NFT approvals, checks ownership, and interacts with the staking contract to enroll your NFTs and start reward accrual. This is essential for NFT holders who want to earn passive income, governance tokens, or other rewards from their collectibles.

HOW TO USE

Connect your EVM wallet and select the network. Enter the staking contract address—this contract must support staking NFTs from your collection. In the NFT input area, list each NFT you want to stake on a new line using the format: contract,tokenId. Click "Add NFTs" to load them, then click "Check NFTs" to verify ownership of each token—the tool checks the ownerOf() or balanceOf() function for each contract and displays whether you own each NFT. Review the status, then click "Stake NFTs" to approve each NFT for transfer to the staking contract and execute the stake transaction. The tool approves each NFT (using setApprovalForAll() or approve()), then calls the stake() or stakeBatch() function on the staking contract.

TECHNICAL MECHANISM

The tool first verifies ownership of each NFT by calling ownerOf(tokenId) for ERC-721 tokens or balanceOf(account, tokenId) for ERC-1155 tokens. It then approves the staking contract to transfer each NFT—using setApprovalForAll(staking, true) for ERC-721/ERC-1155 or approve(tokenId) for individual ERC-721 tokens. Finally, it calls the staking contract's stake() function for each NFT, or stakeBatch() if the contract supports batching. The staking contract transfers the NFT into its custody, records the staking start time, and begins reward accrual. The tool uses receipt.effectiveGasPrice for accurate gas reporting and provides progress feedback during the staking process.

WHAT IT CANNOT SEE

This tool cannot stake NFTs that are not owned by the connected wallet—ownership is verified before proceeding. It relies on the staking contract supporting the specific NFT standard (ERC-721 or ERC-1155) and the collection you specify. NFTs with non-standard transfer or ownership logic, soulbound tokens, or locked NFTs are not supported. The tool does not guarantee reward rates, APY, or the security of the staking contract—these depend entirely on the contract's implementation. Staked NFTs are locked until unstaked; the tool does not handle unstaking.

PLEASE NOTE

Staking requires approving the staking contract to transfer your NFTs—this is a standard ERC-721/ERC-1155 approval. Once staked, your NFTs are locked in the contract and you cannot transfer or trade them until you unstake. Ensure the staking contract is trusted and audited before staking. This tool is for EVM chains only and does not support non-EVM networks.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.