Early rate$2,400 of senior audit time for $500. Early members keep the rate as it climbs.$2,400 of senior audit time for $500See how →
Ample Protocol · Smart Contract Security AssessmentAmple Protocol Client Hub

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.

BaseSoliditySmart Contract Code Review2025-05-19Zealynx methodology
Total findings
21
10 fixed · 11 acknowledged
Critical
00
High
01
Medium
04
Low + Info
16
02

Scope

1 file · 125 SLOC
Initial commit
45f12c5d992d
Platform
Base · Solidity
Methodology
File
StakingContract.sol
03

Findings

click any row for the full write-up
Severity
ID
Finding
Status
highF-2025-0001Lack of reward token segregation leads to unreliable reward accounting and potential underpaymentFixed›mediumF-2025-0002Tier updates not reflected in lockPeriods array leads to stale staking period informationFixed›mediumF-2025-0003Lack of NFT ownership check on closePosition enables boost market exploitationFixed›mediumF-2025-0004Missing max reward allocation check enables exceeding 10 percent token supply limitFixed›mediumF-2025-0005Missing pause / unpause functions prevents emergency protocol shutdownFixed›lowF-2025-0006Manual reward funding mechanism poses operational riskFixed›lowF-2025-0007Non-upgradeable contract may require complex migration for future changesFixed›lowF-2025-0008stakeTokens accepts any lock period with non-zero tier valueFixed›lowF-2025-0009Custom ownership implementation lacks secure ownership transfer mechanismFixed›lowF-2025-0010Missing initializer protection enables potential initialization hijackingFixed›infoF-2025-0011Redundant allowance checkAck›infoF-2025-0012Consider adding a totalStaked per address getterAck›infoF-2025-0013Missing position existence check leads to misleading errorsAck›infoF-2025-0014Inconsistent terminology between rewards and interestAck›infoF-2025-0015Redundant initialization of uint to zeroAck›infoF-2025-0016Unused IStakingContract interfaceAck›infoF-2025-0017Redundant positionId in Position structAck›infoF-2025-0018Consider using named mappings for improved code readabilityAck›infoF-2025-0019Consider updating to latest Solidity versionAck›infoF-2025-0020Use custom errors instead of string revert messagesAck›infoF-2025-0021Inconsistent use of ReentrancyGuardAck›
04

Key Findings

  • Lack of reward token segregation creates fractional reserve risk. StakingContract does 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 lockPeriods array. updateTier mutates tiers but never updates lockPeriods, leaving getLockPeriods() 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. fundRewards accepts 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.
05

Team & approval

Auditor
Sergio
@Seecoalba
Lead Auditor
Carlos (Bloqarl)
@TheBlockChainer
06

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.

Download PDF (33p)
ZEALYNX SECURITY · published 2025-05-19
21 findings · Solidity