Horizen-logo

Horizen

|

Horizen is an EVM-native, privacy-first blockchain ecosystem: an OP Stack L3 that settles to Base, enabling regulatory-compliant, auditable private execution for onchain businesses and privacy-minded users. ZEN, the ecosystem's governance and utility token, lives as an ERC-20 on Base and on the Horizen L3. This bug bounty program focuses on the official ZEN staking program: the ZenStaker smart contracts and the staking web application.

Base
Blockchain
L2
Staking
Solidity
Typescript
ReactJS
Maximum Bounty
$10,000
Live Since
15 July 2026
Last Updated
21 July 2026
  • Runnable PoC Required

  • KYC required

Rewards

Horizen provides rewards in USDC on Ethereum, denominated in USD.

Rewards by Threat Level

Smart Contract
Critical
Max: $10,000Min: $5,000
Primacy of Impact
High
Flat: $3,000
Primacy of Impact
Critical Reward Calculation

Mainnet assets:

Reward amount is 10% of the funds directly affected up to a maximum of:

$10,000

Minimum reward to discourage security researchers from withholding a bug report:

$5,000
Websites and Applications
Critical
Flat: $3,000
Primacy of Impact
High
Flat: $1,000
Primacy of Impact
Rewards Body

Phase A (testnet, 2026-07-21 to 2026-07-27)

Flat rewards $5000 for criticals; funds-at-risk is meaningless on testnet, so severity is judged by the mainnet impact of the same code.

Phase B (mainnet, from 2026-07-27)

Smart-contract Critical is priced by funds at risk. Principal-affecting criticals (funds at risk = staked principal) pay 10% of funds directly affected, capped at $10,000, measured at submission time. A minimum reward of $5,000 is offered for criticals.

Reward-buffer-limited criticals (funds at risk bounded by the RewardAccumulator balance, at most about one 30-day window) pay a flat $3,000; a pure percentage would understate the severity of a bug in the accumulator, which never holds principal and is flushed on a fixed schedule.

Non-critical tiers remain fixed as configured.

KYC is required before payout: valid reporters must complete identity verification before a bounty is paid.

Program Overview

Horizen completed its migration from its legacy chains (ZEND mainchain and the EON EVM sidechain, both now deprecated) to Base on July 23, 2025. ZEN now exists as an ERC-20 on Base (0xf43eB8De897Fbc7F2502483B2Bef7Bb9EA179229) and on the Horizen L3 via LayerZero OFT (0x57da2D504bf8b83Ef304759d9f2648522D7a9280). The Horizen L3 (chain ID 26514) is an OP Stack rollup deployed with Caldera that settles to Base, inheriting Ethereum security; gas is paid in ETH.

This program covers the ZEN staking system approved by the Horizen DAO (ZenIP-42408). Users stake ZEN on the Horizen L3 to earn ZEN rewards funded by multiple independent sources (Horizen DAO bootstrap and LP earnings, zkVerify node emissions, L3 sequencer fees, and — as they come online — ecosystem protocol fee sharing and Vela confidential compute revenue).

The staking contracts are built on the audited Tally/ScopeLift Staker framework. Horizen's additions are deliberately minimal: a non-upgradeable concrete implementation (ZenStaker) with view-only helper functions, and a RewardAccumulator contract that buffers rewards from multiple sources and forwards them to the Staker on a fixed schedule. The staking frontend is a fully client-side static dApp (no backend): all state is read from the chain and a public Goldsky subgraph, and all writes are transactions signed by the user's own wallet.

Network information:

Horizen MainnetHorizen Testnet
Chain ID265142651420
Settlement layerBaseBase Sepolia
RPC (HTTPS)https://horizen.calderachain.xyz/httphttps://horizen-testnet.rpc.caldera.xyz/http
Block explorerhttps://horizen.calderaexplorer.xyz/https://horizen-testnet.explorer.caldera.xyz/
Gas tokenETHETH
Bridge / faucethttps://horizen.hub.caldera.xyz/https://horizen-testnet.hub.caldera.xyz/
ZEN token (on Horizen)0x57da2D504bf8b83Ef304759d9f2648522D7a9280 (LayerZero OFT)tZEN: 0xb06EC4ce262D8dbDc24Fac87479A49A7DC4cFb87 (LayerZero OFT)
ZEN token (on settlement layer)0xf43eB8De897Fbc7F2502483B2Bef7Bb9EA179229 (Base)tZEN: 0x107fdE93838e3404934877935993782F977324BB (Base Sepolia)
ZEN bridgevia Stargate/LayerZerohttps://tzen-bridge.horizen.io/

During Phase A the in-scope deployment is on Horizen Testnet; researchers can obtain testnet ETH via the faucet and tZEN via the testnet bridge. These parameters are provided for local forking and environment setup — per the PoC policy, exploit transactions must never be broadcast to either network.

Audits

Known Issues

Category
Smart Contract
Description / Link
The audited base Staker.sol is unmodified in logic, storage, and write paths, except that the owner parameter of the StakeDeposited and StakeWithdrawn events is now indexed (see AUDIT_DELTA.md in the repo). This changes EVM log topic layout only; reports that the base 'differs from the audited upstream' based solely on this delta are invalid.
Last Updated At
13 July 2026
Category
Smart Contract
Description / Link
While total earning power is zero, the reward-per-token accumulator does not advance; rewards attributable to such intervals are not distributed to any staker, are not rolled into subsequent reward periods, and remain undistributed in the contract balance. This is inherited, documented behavior of the audited Staker framework, made practically unreachable by the RewardAccumulator's scheduled release into a funded pool.
Last Updated At
13 July 2026
Category
Smart Contract
Description / Link
alterDelegatee updates the deposit's delegatee and its surrogate assignment, but Phase 1 surrogates are non-voting (ZenDelegationSurrogate), so no governance power is conferred or movable. Reports that delegation does nothing, or that it enables governance manipulation, are invalid for Phase 1.
Last Updated At
13 July 2026
Category
Smart Contract
Description / Link
Staking and claiming in the same block yields zero rewards by design (flash-stake prevention). A second claim in the same block or multicall returns zero instead of reverting. Both are intended behavior.
Last Updated At
13 July 2026
Category
Smart Contract
Description / Link
permitAndStake / permitAndStakeMore wrap the EIP-2612 permit call in try/catch. Production ZEN has no permit, so a failed permit does not itself revert: with no allowance the later transferFrom reverts (the gasless single-tx path is simply unavailable on a non-permit token); with a prior normal zen.approve allowance, staking succeeds even with dummy signature args. Both outcomes are expected. Reports that 'permit is ignored / silently swallowed' describe this documented, audited try/catch design.
Last Updated At
13 July 2026
Category
Smart Contract
Description / Link
ZenStaker admin and RewardAccumulator owner are Horizen Safe multisigs. Findings that require a malicious or compromised admin/owner are out of scope (standard trusted-role assumption).
Last Updated At
13 July 2026
Category
Smart Contract
Description / Link
Phase 1 configuration: bumping disabled (maxBumpTip=0), claim fees 0 and immutable (MAX_CLAIM_FEE=0), identity earning power (earning power = staked balance), non-voting delegation surrogates, and governance delegation not surfaced. Reports that assume a non-Phase-1 configuration are invalid.
Last Updated At
13 July 2026
Category
Smart Contract
Description / Link
RewardAccumulator open mode: deployed with whitelistEnabled=false, so anyone may contribute rewards (transferAndNotifyRewards / notifyAlreadyTransferredRewards) and anyone may call sendRewardsToStaker after the time window. Timing/rate effects, zero-reward triggering, and crediting of direct transfers are accepted and out of scope. Loss or incorrect attribution of principal or rewards, permanent denial of distribution (bricking), over-extraction, or theft remain IN scope regardless of the whitelist setting.
Last Updated At
13 July 2026

KYC required

The submission of KYC information is a requirement for payout processing.

Participants must adhere to the Eligibility Criteria.

Proof of Concept

Proof of concept is always required for all severities.

Responsible Publication

Category 2: Notice Required

Prohibited Activities

Default prohibited activities
  • Any testing on mainnet or public testnet deployed code; all testing should be done on local-forks of either public testnet or mainnet
  • Any testing with pricing oracles or third-party smart contracts
  • Attempting phishing or other social engineering attacks against our employees and/or customers
  • Any testing with third-party systems and applications (e.g. browser extensions) as well as websites (e.g. SSO providers, advertising networks)
  • Any denial of service attacks that are executed against project assets
  • Automated testing of services that generates significant amounts of traffic
  • Public disclosure of an unpatched vulnerability in an embargoed bounty
  • Any other actions prohibited by the Immunefi Rules

Feasibility Limitations

The project may be receiving reports that are valid (the bug and attack vector are real) and cite assets and impacts that are in scope, but there may be obstacles or barriers to executing the attack in the real world. In other words, there is a question about how feasible the attack really is. Conversely, there may also be mitigation measures that projects can take to prevent the impact of the bug, which are not feasible or would require unconventional action and hence, should not be used as reasons for downgrading a bug's severity.

Therefore, Immunefi has developed a set of feasibility limitation standards which by default states what security researchers, as well as projects, can or cannot cite when reviewing a bug report.