Program Active · Ethereum Mainnet

Fake World Assets
Bug Bounty Program

Fully onchain протокол для рандомизированного приобретения NFT с backing ETH, Fenwick tree и Chainlink VRF. Максимально раскрепощённая программа с акцентом на fork-based live drain PoC.

Max Critical
$75k+
+50% live drain bonus
Testing
Fork
Mainnet fork emulation
Contracts
All
Including discovered
Chain
ETH
Ethereum mainnet
01 · OVERVIEW

Что такое FWA

Fully onchain протокол рандомизированного NFT acquisition с backing ETH.

Fake World Assets (FWA) — это fully onchain протокол для рандомизированного приобретения NFT. Депозиторы вносят NFT + ETH backing, которое определяет selection weight и создает irrevocable standing bid. Покупатели платят acquisition price за случайный NFT position, выбираемый через Chainlink VRF.

🎯 Ключевая механика

После acquisition покупатель может либо оставить NFT, либо продать его обратно депозитору за большую часть ETH backing. Это создаёт непрерывный цикл value flow между депозиторами и покупателями.

📦 Depositors

Вносят NFT + ETH backing. Получают fees и $FWA rewards пока их position активен.

🎲 Buyers

Платят acquisition price за случайный NFT через VRF-based selection.

🌳 Fenwick Tree

O(log n) tracking до ~4 billion positions с weight-based selection.

🔐 Chainlink VRF

Verifiable randomness для fair selection без bias.

02 · IN-SCOPE ASSETS

Что можно тестировать

Все контракты проекта на Ethereum mainnet + любые найденные связанные контракты.

Core Protocol Contracts

FWA Contract · Main
0x6596170e4cF89C7b390637E97531FD0aC28a6322
  • Pool accounting, positions, selection, settlement
  • Fenwick tree для tracking до ~4 billion positions
  • Chainlink VRF integration для fair selection
  • Solady ReentrancyGuard
  • SafeTransferLib.forceSafeTransferETH для ETH payouts
FWAToken · ERC-20
0x47883e389BB6be3650B0C0935b300b500b50a95fc072
FWATokenHook · Uniswap V4
0x3a84BC99fd208BDC0fee2Eb72A9d6C9A7271A444

🔍 Additional Contracts — Open Scope

МОЖНО ТЕСТИРОВАТЬ ЛЮБЫЕ КОНТРАКТЫ, СВЯЗАННЫЕ С ПРОЕКТОМ.

Если нашли контракт, который явно принадлежит FWA проекту, но не перечислен выше — тестируйте его. Мы поощряем самостоятельный поиск дополнительных targets.

Источники для поиска:

Etherscan verified contracts
Frontend bundle analysis
Deployment scripts
GitHub repository
Registry/factory contracts
Events и transaction logs
Proxy implementation slots
Addresses provider / config
Sale/claim/vesting contracts
Treasury / fee collector / vaults
Multisig / proxy admin
Deployer contracts

Frontend & Backend

🌐 Main App

https://www.fwa.fun/

Deposit, acquire, post-acquisition decisions, position tracking.

🔗 Infrastructure

Chainlink VRF · Uniswap V4 · Ethereum Mainnet

03 · PERMITTED TESTING

Fork-Based Testing

Полная свобода на mainnet fork с эмуляцией реальных транзакций.

🔥 Что можно делать

Mainnet Fork Testing

  • Создание mainnet fork с текущим состоянием протокола
  • Эмуляция реальных транзакций на форке
  • Тестирование всех user flows в fork environment
  • Воспроизведение attack scenarios с реальными данными

Live Drain PoC на форке

  • Попытки drained funds из протокола на форке
  • Тестирование reentrancy на эмулированных балансах
  • Oracle manipulation attempts на форке
  • Selection weight manipulation
  • Fenwick tree exploitation

Live Transaction Emulation

  • Эмуляция реальных депозитов NFT + ETH
  • Эмуляция acquisitions через VRF
  • Эмуляция withdrawals и sell-backs
  • Эмуляция concurrent operations
  • Эмуляция stress testing scenarios

🎯 High Priority — Live Drain PoC

Максимальные выплаты за demonstrated drain на форке:

💸 Direct Fund Drainage

  • Кража ETH backing из positions
  • Манипуляция acquisition price
  • Double-spending через reentrancy
  • Unauthorized withdrawals

🎲 Selection Manipulation

  • VRF prediction/exploitation
  • Fenwick tree corruption
  • Weight manipulation
  • Bias in random selection

📊 Accounting Exploits

  • Pool accounting errors
  • Fee calculation bugs
  • Reward distribution manipulation
  • Balance tracking errors

🔓 Access Control

  • Unauthorized role escalation
  • Admin function abuse
  • Ownership takeover
  • Pause mechanism bypass

📊 Severity & Rewards

CRITICAL
$50,000+ +50% drain

Условие: Demonstrated fund drainage на mainnet fork с emulated live transactions

  • Steal ETH backing от depositors
  • Manipulate acquisition price для profit
  • Drain protocol fees
  • Corrupt Fenwick tree leading to funds loss
  • VRF exploitation leading to fund loss
HIGH
$15,000 +25% drain

Условие: Partial fund loss или critical logic error, demonstrated на форке

  • Withdrawal lock bypass
  • Emergency exit abuse
  • Standing bid manipulation
  • Position tracking errors
MEDIUM
$5,000

Условие: Non-critical bugs с potential impact

  • DoS возможности
  • Information disclosure
  • UI/UX security issues
  • Best practice violations
LOW
$1,000

Условие: Minor issues

  • Gas optimization opportunities
  • Code quality issues
  • Documentation errors
04 · METHODOLOGY

Testing Workflow

Пошаговый процесс fork-based testing с emulated live transactions.

4.1 Mainnet Fork Testing

Step 1 · Создать mainnet fork

anvil --fork-url https://eth-mainnet.alchemyapi.io/v2/YOUR_KEY \
      --fork-block-number 12345678

Step 2 · Эмулировать реальные транзакции

  • Депозиты с реальными NFT и ETH (на форке)
  • Acquisitions через VRF (на форке)
  • Withdrawals и sell-backs (на форке)
  • Все взаимодействия через fork

Step 3 · Тестировать attack vectors

  • Reentrancy на state-changing functions
  • Oracle manipulation
  • Fenwick tree edge cases
  • Concurrent operations

Step 4 · Документировать drain attempts

  • Transaction hashes на форке
  • State changes
  • Fund movements
  • Profit/loss calculation

4.2 PoC Template

# Fork-Based Live Drain PoC

## Summary
- Vulnerability type: [reentrancy/oracle manipulation/etc]
- Impact: [amount of funds at risk]
- Affected contracts: [addresses]
- Fork block number: [number]

## Attack Flow (на форке)
1. Initial state: [balances, positions]
2. Transaction 1: [description, tx hash]
3. Transaction 2: [description, tx hash]
...
N. Final state: [drained amount]

## Evidence
- Fork block number: [number]
- Fork RPC URL: [url]
- Transaction hashes: [list]
- Balance changes: [before/after]
- Profit calculation: [math]

## Reproduction
```bash
anvil --fork-url <RPC> --fork-block-number <BLOCK>
forge create --rpc-url http://localhost:8545 src/Exploit.sol:Exploit
cast send --rpc-url http://localhost:8545 <EXPLOIT> "attack()"
```

4.3 Attack Vector Priorities

P1 · Fund Drainage

  • Reentrancy в deposit/withdraw/acquire
  • Integer overflow/underflow
  • Access control bypass
  • Fenwick tree corruption
  • VRF exploitation

P2 · Selection

  • Weight calculation errors
  • Random selection bias
  • Fenwick tree traversal bugs
  • Slot allocation exploits

P3 · Settlement

  • Failed ETH transfers
  • Stuck positions
  • Inconsistent state
  • Lost backing funds

P4 · Mechanics

  • Acquisition price manipulation
  • Standing bid exploitation
  • Fee calculation errors
  • Reward distribution bugs
05 · PROTOCOL MECHANICS

Deep Dive

Полное понимание flows для поиска уязвимостей.

5.1 Deposit Flow

  1. User deposits NFT + ETH backing
  2. Position создается с weight = f(ETH backing)
  3. Fenwick tree обновляется
  4. Standing bid создается для depositor
  5. Deposition earns fees + FWA rewards

Attack vectors

  • Weight calculation manipulation
  • NFT valuation exploits
  • Standing bid bypass
  • Fee distribution errors

5.2 Acquisition Flow

  1. User pays acquisition price
  2. Chainlink VRF генерирует random number
  3. randomWords[0] % totalWeight maps to position
  4. Fenwick tree walk (depth-32) finds selected position
  5. Position transferred to purchaser
  6. Settlement происходит

Attack vectors

  • VRF prediction
  • Random number manipulation
  • Fenwick tree traversal bugs
  • Selection bias
  • Price manipulation

5.3 Post-Acquisition Flow

  1. Purchaser получает position
  2. Choice: keep NFT или sell back to depositor
  3. Если sell back: depositor получает NFT, purchaser получает ETH backing
  4. Если keep: purchaser keeps NFT, depositor loses NFT but keeps standing bid value

Attack vectors

  • Sell-back price manipulation
  • Standing bid exploitation
  • Double-dipping
  • Settlement failures

5.4 Withdrawal Flow

  1. Depositor requests withdrawal
  2. Проверка withdrawal lock (если недавно был acquisition)
  3. NFT + ETH backing возвращаются depositor
  4. Fenwick tree обновляется
  5. Weight removed from total

Attack vectors

  • Withdrawal lock bypass
  • Unauthorized withdrawals
  • Reentrancy в withdrawal
  • State corruption
06 · SAFETY MECHANISMS

Known Controls

Что уже реализовано и какие риски приняты.

Implemented Safety Features

🔒 Depositor-only withdrawal

  • Только depositor может withdraw свою position
  • Team не может seize assets
  • Работает даже в paused/emergency mode

⏸️ Loading phase

  • Acquisitions off при deploy
  • Positions можно stock перед go-live

🔐 Withdrawal lock

  • Несколько blocks после acquisition
  • Depositions не могут withdraw/re-price
  • Capped at MAX_WINDOW_BLOCKS = 7200

🚨 Emergency exit

  • Team может halt acquisitions и deposits
  • Withdrawals остаются доступными
  • Resolutions still settle

📋 Collection allowlist

  • Limits какие NFT collections можно deposit
  • Не блокирует existing positions

💎 Hardened transfers

  • Solady ReentrancyGuard
  • Effects-before-interactions
  • SafeTransferLib.forceSafeTransferETH

🗝️ Ownership renouncement

  • Goal: team gives up control over time
  • Escrowed backing beyond owner's reach
  • Renouncing removes remaining levers

⚠️ Known Accepted Risks

  • NFT может быть selected earlier than weight-implied
  • Earnings могут закончиться до compound fees
  • $FWA rewards не имеют guaranteed value
07 · PoC REQUIREMENTS

Live Drain PoC на Форке

Обязательные требования для Critical/High с live drain bonus.

1. Working PoC на mainnet fork

  • Точная копия mainnet state
  • Реальные contract addresses
  • Актуальные balances (на момент fork)

2. Emulated live transactions на форке

  • Эмуляция реальных deposit/acquire/withdraw flows
  • Transaction hashes на форке
  • State changes documentation

3. Demonstrated fund movement на форке

  • Clear proof of fund drainage
  • Before/after balance snapshots
  • Profit calculation

4. Reproducibility

  • Step-by-step instructions для воспроизведения
  • All parameters documented
  • Team может reproduce на своем форке

Fork Setup

# Foundry (рекомендуется)
anvil --fork-url https://eth-mainnet.alchemyapi.io/v2/YOUR_KEY \
      --fork-block-number 12345678 \
      --port 8545

forge test --fork-url http://localhost:8545 -vvv
# Hardhat
npx hardhat node --fork https://eth-mainnet.alchemyapi.io/v2/YOUR_KEY \
                 --fork-block-number 12345678

npx hardhat run scripts/exploit.js --network localhost
// Пример drain PoC на форке
function testDrainOnFork() public {
    uint256 initialBalance = address(fwa).balance;
    exploit.attack();
    uint256 finalBalance = address(fwa).balance;
    uint256 drained = initialBalance - finalBalance;
    
    assertTrue(drained > 0, "No funds drained on fork");
    console.log("Drained:", drained);
}
08 · SUBMISSION

Как отправить отчёт

Структура отчёта для fork-based live drain PoC.

1. Executive Summary

  • Что нашли
  • Какой impact (в ETH/USD)
  • Affected contracts

2. Fork Setup

  • Block number для fork
  • RPC URL (если public)
  • Initial state description

3. Attack Flow на форке

  • Step-by-step с transaction hashes
  • State changes после каждой транзакции
  • Balance changes

4. PoC Code

  • Working exploit contract
  • Deployment script для форка
  • Execution script для форка

5. Evidence с форка

  • Transaction hashes
  • Balance changes (before/after)
  • Screenshots/logs
  • Profit calculation

6. Reproduction Steps

  • Commands для запуска форка
  • Commands для deploy exploit
  • Commands для execution и verification

7. Impact Assessment

  • Сколько funds at risk в production
  • Какие контракты affected
  • Какие users affected

8. Suggested Fix (optional)

  • Code changes
  • Explanation
09 · REWARDS

Reward Structure

Прозрачная система выплат с бонусами за live drain PoC.

Base Rewards

Severity Base Reward Live Drain Bonus Total Potential
Critical $50,000+ +50% $75,000+
High $15,000 +25% $18,750
Medium $5,000 $5,000
Low $1,000 $1,000

Additional Bonuses

🥇 First Blood

+10%

Для первого valid report конкретного vulnerability class

🆕 Novel Vector

+20%

Для уникального attack vector

⛓️ Exploit Chain

+30%

За full end-to-end exploit на форке

🔍 Contract Discovery

+15%

За finding неочевидных контрактов проекта

10 · CHECKLIST

Testing Checklist

Что проверить на форке для полного покрытия.

Smart Contract Testing

Reentrancy на state-changing functions
Integer overflow/underflow в accounting
Access control на withdrawal functions
Fenwick tree correctness
VRF integration security
SafeTransferLib usage
Emergency exit logic
Withdrawal lock enforcement
Standing bid mechanics
Fee calculation accuracy

Protocol Mechanics

Deposit flow correctness
Acquisition randomness
Selection weight accuracy
Settlement logic
Sell-back mechanics
Reward distribution
Pool accounting
Position tracking

Live Drain Scenarios

Direct ETH drainage
NFT theft
Double-spending
Selection manipulation
Price manipulation
Fee drainage
Reward manipulation
State corruption → fund loss
11 · FAQ

Частые вопросы

Ответы на типичные вопросы о программе.

Что такое "fork-based live drain"?
+
Это создание mainnet fork и эмуляция реальных транзакций на форке для демонстрации drain. Всё происходит на изолированном форке, не затрагивая production.
Нужен ли PoC для всех reports?
+
Для Critical/High — обязательно на форке. Для Medium/Low — желательно, но не строго.
Что такое "live drain bonus"?
+
Дополнительные +25-50% к выплате за demonstrated fund drainage на mainnet fork с emulated live transactions.
Какие инструменты использовать?
+
Foundry (рекомендуется), Hardhat, Tenderly — всё что работает для fork testing.
Что если нашёл баг, но не могу его эксплуатировать?
+
Всё равно report! Но live drain bonus только за demonstrated exploitation на форке.
Можно ли тестировать контракты, которые не перечислены в scope?
+
ДА! Если нашли контракт, который явно принадлежит FWA проекту — тестируйте его на форке. Мы поощряем discovery дополнительных contracts.
Что насчёт Chainlink VRF?
+
Можно тестировать интеграцию на форке, но не сам VRF oracle.
Как быстро платите?
+
Валидация в 48 часов, выплата в 7 дней после подтверждения.
Что если форк не работает?
+
Попробуйте другой block number или RPC. Если проблема сохраняется — свяжитесь с командой.
Можно ли тестировать на testnet?
+
ДА! Testnet testing разрешён, но live drain bonus только за mainnet fork PoC.
12 · NOTES

Additional Notes

Важные детали о проекте и программе.

⛓️ Chain

Ethereum mainnet only

✅ Contracts

Все verified на Etherscan

🏗️ Architecture

Fully onchain, no off-chain components

🎲 Randomness

Chainlink VRF для fair selection

🌳 Data Structure

Fenwick tree для O(log n) operations

🛡️ Safety

Multiple layers of protection

🎯 Goal

Eventual ownership renouncement

🔬 Testing

Fork-based с emulated live transactions

🔍 Discovery

Поощряется поиск дополнительных контрактов

🚀 Готовы к hunting?

Этот scope максимально раскрепощён для fork-based testing. Экспериментируйте на форках, эмулируйте реальные транзакции, находите дополнительные контракты и получайте бонусы за live drain PoC.