
ENS
The Ethereum Name Service (ENS) is a distributed, open, and extensible naming system based on the Ethereum blockchain.
PoC Required
Vault program
Immunefi vault program
Rewards
Rewards by Threat Level
Mainnet assets:
Reward amount is 10% of the funds directly affected up to a maximum of:
$250,000Minimum reward to discourage security researchers from withholding a bug report:
$10,000Rewards are broadly based on the principles set forth within the Immunefi Vulnerability Severity Classification System V2.3.
For the sake of clarity, in the event of a conflict between that classification system and the rewards schema set forth below, the below language will control.
Critical Reward Calculation
The reward for critical smart contract vulnerabilities is calculated as 10% of funds directly affected, up to a maximum of USD 250,000, calculated as follows:
| Base: 10% of funds directly affected, up to $250,000 | Up to $250,000 |
|---|---|
| Where funds directly affected exceed $1,500,000: | Minimum $150,000 |
| Where funds directly affected are between $500,000 and $1,500,000: | Minimum $75,000 |
| Where funds directly affected are below $500,000, or not objectively calculable | Minimum $25,000 |
| Where the vulnerability affects fewer than 50 on-chain assets or accounts: reward may be further adjusted downward at the program’s discretion. | Minimum $10,000 |
Repeatable Attack Limitations
If the smart contract where the vulnerability exists can be upgraded or paused,only the initial attack will be considered for a reward within the mitigation window (12 hours for Security Council, 9 days for DAO vote) . This is because the project can mitigate the risk of further exploitation by upgrading or pausing the component where the vulnerability exists. The reward amount will depend on the severity of the impact and the funds at risk.
For critical repeatable attacks on smart contracts that cannot be upgraded or paused, the project will consider the cumulative impact of the repeatable attacks for a reward. This is because the project cannot prevent the attacker from repeatedly exploiting the vulnerability until all funds are drained and/or other irreversible damage is done. Therefore, this warrants a reward equivalent to 10% of funds at risk, capped at the maximum critical reward.
High Reward Calculation
The reward for high-severity smart contract vulnerabilities ranges between USD 25,000 and USD 100,000, based on the assessed impact and funds at risk.
| High vulnerabilities concerning theft or permanent freezing of unclaimed yield or royalties are considered at the full amount of funds at risk, capped at the maximum high reward. This is to encourage security researchers to uncover and responsibly disclose vulnerabilities that may not have significant monetary value today but could still be damaging to the project if left unaddressed. | Up to $100,000 |
|---|---|
| Temporary freezing of funds is classified as High severity. The reward is determined within the High reward range based on the value of funds affected and the estimated duration of the freeze. | Up to $100,000 |
| For high smart contract bugs on testnet assets, the reward ranges between contingent upon the ability to calculate the equivalent mainnet impact. | Minimum $25,000 Maximum $75,000 |
| In cases where objective calculation is not feasible, there will be a base reward, with the discretion to increase the amount. | Base $25,000 |
Track B: Websites and Applications
Critical Web / App Reward Calculation
Critical web/application bug reports will be rewarded with USD 50,000, only if the impact leads to:
- A loss of funds involving an attack that does not require any user action
- Unauthorized minting of tokens on-chain.
- Private key or private key generation leakage leading to unauthorized access to user funds.
Severity Assessment for XSS Reports:
- Injection of malicious content into app.ens.domains to initiate a malicious transaction without requiring unusual user interaction will be considered critical.
- Injection of malicious scripts into other ENS subdomains (besides app.ens.domains) that offer web3 wallet connections will be considered high for stored XSS and medium for reflected XSS.
- XSS on staging/dev or static ENS websites like metadata.ens.domains, which do not offer web3 functionality, will be considered low unless a direct impact on app.ens.domains is demonstrated.
Reward Payment Terms
Payouts are handled by the ENS team directly and are denominated in USD. However, payments are done in USDC.
The calculation of the net amount rewarded is based on the average price between CoinMarketCap.com and CoinGecko.com at the time the bug report was submitted. No adjustments are made based on liquidity availability.
Eligible Versions
Commits tagged with vx.x.x-RCX (e.g. v1.2.3-RC0), vx.x.x- (e.g. v1.2.3-testnet) or vx.x.x (e.g. v1.2.3) are potentially eligible for the bug bounty. To be clear this includes testnet releases. For testnet releases, only version numbers greater than or equal to the latest mainnet release are eligible. For mainnet, only the latest release is eligible. See releases here: https://github.com/ensdomains/ens-contracts/releases.
Program Overview
ENS
The Ethereum Name Service (ENS) is a distributed, open, and extensible naming system based on the Ethereum blockchain.
ENS's job is to map human-readable names like 'alice.eth' to machine-readable identifiers such as Ethereum addresses, other cryptocurrency addresses, content hashes, and metadata. ENS also supports 'reverse resolution', making it possible to associate metadata such as canonical names or interface descriptions with Ethereum addresses. ENS has similar goals to DNS, the Internet's Domain Name Service, but has significantly different architecture due to the capabilities and constraints provided by the Ethereum blockchain. Like DNS, ENS operates on a system of dot-separated hierarchical names called domains, with the owner of a domain having full control over subdomains.
Top-level domains, like '.eth' and '.test', are owned by smart contracts called registrars, which specify rules governing the allocation of their subdomains. Anyone may, by following the rules imposed by these registrar contracts, obtain ownership of a domain for their own use. ENS also supports importing in DNS names already owned by the user for use on ENS.
Because of the hierarchical nature of ENS, anyone who owns a domain at any level may configure subdomains — for themselves or others — as desired. For instance, if Alice owns 'alice.eth', she can create 'pay.alice.eth' and configure it as she wishes.
ENS is deployed on the Ethereum main network and on several test networks. If you use a library such as the ensjs Javascript library, or an end-user application, it will automatically detect the network you are interacting with and use the ENS deployment on that network.
For more information about ENS, please visit ens.domains
ENS provides rewards in USDC, denominated in USD. For more details about the payment process, please view the Reward Payment Terms section below.
Immunefi Vault Program
The ENS bug bounty program includes a public Immunefi Vault that transparently displays the funds allocated for bug bounty rewards. The vault is deployed on Ethereum and holds assets designated exclusively for vulnerability payouts.
Immunefi Standard Badge
By adhering to Immunefi’s best practice recommendations, ENS has satisfied the requirements for the Immunefi Standard Badge.
KYC Requirements
KYC is generally not required to participate in or receive rewards from the ENS bug bounty program. However, ENS reserves the right to request identity verification or additional information where required by applicable law, payment processors, sanctions compliance or internal risk assessment.
Audits
Known Issues
KYC not required
No KYC information is required for payout processing.
Proof of Concept
Proof of concept is always required for all severities.
Responsible Publication
Category 3: Approval Required
Prohibited Activities
- https://ens.dev is Out of Scope of the Bug bounty program
- 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.

