How to Claim Bounties
Understand bounty calculations, caps, and the claiming process
Overview
Each Safe Harbor agreement defines bounty terms. Understanding these ensures you receive fair compensation.
Read Bounty Terms
BountyTerms memory terms = agreement.getBountyTerms();
uint256 percentage = terms.bountyPercentage; // e.g., 10 for 10%
uint256 cap = terms.bountyCapUsd; // e.g., 5_000_000
bool canRetain = terms.retainable; // Keep from recovered?
IdentityRequirements identity = terms.identity; // KYC level
uint256 aggregateCap = terms.aggregateBountyCapUsd; // Total cap across whitehats
Calculate Your Bounty
Bounty = min(RecoveredValue x BountyPercentage%, BountyCapUsd)
Examples
| Recovered | Percentage | Cap | Your Bounty |
|---|---|---|---|
| $500K | 10% | $5M | $50K |
| $10M | 10% | $5M | $1M |
| $100M | 10% | $5M | $5M (capped) |
Convert USD Cap to Tokens
Caps are in USD. Convert using current prices:
uint256 capUsd = terms.bountyCapUsd; // $5,000,000
uint256 ethPrice = 2000; // Get from oracle
uint256 capInEth = capUsd * 1e18 / ethPrice; // 2,500 ETH
Retainable vs Return-All
Retainable (true)
uint256 recovered = 100 ether;
uint256 bounty = (recovered * 10) / 100; // 10 ETH
// Keep bounty, send rest
payable(recovery).transfer(recovered - bounty); // Send 90 ETH
// You keep 10 ETH
Return-All (false)
// Send everything
payable(recovery).transfer(recovered); // Send 100 ETH
// Protocol pays bounty separately through their own process
Aggregate Bounty Cap
If aggregateBountyCapUsd > 0, total bounties across all whitehats are capped:
Total Payouts ≤ AggregateBountyCapUsd
If multiple whitehats exploit the same issue, they share the aggregate cap proportionally.
ℹ️
Aggregate caps cannot be used with retainable = true.
Get Recovery Address
string memory recoveryStr = agreement.getAssetRecoveryAddress("eip155:325");
// Parse to address for transfers
Tax Considerations
⚠️
Bounties are likely taxable income. Keep records of:
- Date of attack
- Assets recovered (types and amounts)
- Bounty received
- USD value at time of receipt
Safe Harbor Protection
Understand your legal protections