Ample Protocol Staking Smart Contract
Zealynx audited the Ample Protocol staking contract, the on-chain reward and lock-period system at the centre of an IP-tokenization protocol with NFT-boosted yield. The 7-day review identified 21 issues including 1 High (lack of reward token segregation creating fractional-reserve risk under high withdrawals) and 4 Mediums covering tier synchronisation, NFT boost rental exploitation, missing 10 percent reward cap, and absent pause controls. All non-informational findings were fixed and verified.
Scope
1 file · 125 SLOCFindings
click any row for the full write-upKey Findings
- Lack of reward token segregation creates fractional reserve risk.
StakingContractdoes not separate user-staked tokens from reward tokens in its balance, so under high withdrawal pressure the contract can pay out rewards from staked principal and leave later users unable to withdraw. - Tier updates not reflected in
lockPeriodsarray.updateTiermutatestiersbut never updateslockPeriods, leavinggetLockPeriods()returning stale data and integrators with mismatched lock-period information. - NFT ownership only checked at stake time enables boost-rental markets. Boosted rewards are locked into the position struct at stake time without re-validation at withdrawal, allowing a single NFT to be rented across many positions to harvest boosts.
- Missing 10 percent max reward cap.
fundRewardsaccepts unlimited inflows, breaking the protocol's documented tokenomics where reward funding is capped at 10 percent of total supply. - No pause / unpause functions despite inheriting
PausableUpgradeable. The contract initialises pausable but never exposes pause controls, so the team cannot halt the contract during a discovered exploit.
Team & approval
Disclaimer
This audit is not an endorsement and does not constitute investment advice. Zealynx reviewed the codebase at the commits listed in section 02 over the engagement window. Findings are limited to issues identified within that scope and do not preclude the existence of other vulnerabilities. Subsequent code changes are not covered by this report unless the engagement is explicitly extended.

