Target
- Network: Base mainnet, chain ID 8453.
- ElgoraHub:
0x8f80d1183cd983b01b0c9ac6777cc732ec9800de. - USDC:
0x833589fcd6edb6e08f4c7c32d4f71b54bda02913. - Payout scheme:
0x36d304993cb1575a2f9b8a0388b18aa5ec6d7a61. - Submission guard:
0xe0d404c22228b03d5b8a715cb569c4944bc5a27a. - Coordinator:
0xB24A68BC7e3E18f62bd6A2672D534C38b9471E48. - Reference state: the end of Base block
54134664. - Reference block hash:
0x483d2181a1549f931e8fd44a0b010e32ee1a519aa84cf706e7a2d5b7d93d7240. - Reference block timestamp:
1794017308 (Unix seconds). - Original Hub deployment block (provenance only):
51752389. - Hub deployment transaction:
0xd62f407b770c8fca82a9704b30ed0605d9e3ed2b56278dcca152958063f7f469. - Public repository: https://github.com/moleculeprotocol/elgora-contracts.
- Pinned public repository commit:
9990996658c31b11e4fe9c125371553bbbe7e360. - Export source commit (provenance):
8d40270d617a63dd5a7a35045db0d9ea3ddd9093.
The target is the specified Hub and its interactions with the listed payout scheme and submission guard, using their code and configuration at the reference block.
Later live configuration or repository changes do not change this challenge.
The coordinator is a reference role for reproducing settlement timing. Access to its keys or scheduled job is not required or authorized.
Reference configuration and fixture scope
Reproduce newly created bounties under the following reference configuration. This challenge does not target historical bounties created under earlier configurations. Start with an empty local Hub, zero claim and fee balances, and no pre-existing bounties.
Fund every test bounty through the local Hub’s normal funding functions from local test accounts, using the escrow token as specified under “Local reproduction”. No real funds, public-testnet tokens or live transactions are required.
| Target setting | Required fixture value |
|---|
| Guardian roster | 3 distinct Guardians in the order below; 2 matching votes required |
| Minimum / maximum bounty duration | 259,200 / 5,184,000 seconds (3 / 60 days) |
| Guardian review window | 259,200 seconds (3 days) |
| Judging deadline | Submission deadline + 129,600 seconds |
| Settlement timeout | Submission deadline + 259,200 seconds |
| Treasury / Guardian fee | 0 / 1,000 basis points |
| Minimum / maximum escrow | 20,000,000 / 250,000,000 USDC smallest units |
| Coordinator / grace period | Listed coordinator / 3,600 seconds |
| Submission guard / payout scheme / escrow token | Listed target addresses, or permitted local substitutes |
| Guard default maximum submissions | 10; no per-bounty override in the fixture |
| Hub and guard owner; roster administrator; both fee recipients | One shared trusted role: 0xd3Ce7873BA9b86385f0C1226C3c585a9BCa0D277 |
| Pending owner, Hub and guard | Zero address |
| Hub paused / pausing disabled | false / false |
| Guard binding | Bound to the fixture Hub |
In the local Foundry fixture only, register three simulated Guardian accounts mirroring the reference roster's structure. They represent honest Guardians and give the attacker no Guardian privileges; no interaction with the live roster and no real Guardian keys are required. The reference roster, in order, is:
0xBAF7d9D21447Db598C502bBb8dDcf25D279aDC600xA4A3f99b302c61412bD87f5F5D7703d5c2CEa8490x84E981caab8Db3C8E0E4508a0EcAC97b8Fe39073
Local substitutes may replace those accounts and the trusted role addresses, but must preserve the roster size, ordering, role overlaps and separation from the attacker. Register the local roster normally and use its computed roster hash; do not inject the mainnet hash into a differently configured local roster. Names and encryption keys may be local test values.
Set this configuration through constructors and ordinary authorized setup calls before the exploit. Keep privileged actors honest and configuration unchanged during the exploit, unless the proof itself demonstrates an ordinary caller's authorization bypass. All test bounty amounts and deadlines must satisfy the listed bounds.
The owner, roster administrator, fee recipients, Guardians and coordinator are trusted not to cooperate with the attacker. Findings must not assume compromised keys or deliberate privileged misconduct. This does not exclude an authorization bypass demonstrated under the attacker capabilities below.
These values define the audited target fixture only. They do not change this competition's platform fees, admission cap or operations. Reproducing the configuration requires no live RPC access during the test run.
Attacker capabilities and prerequisites
The attacker starts with ordinary accounts and no privileged access or compromised keys. It may deploy helper contracts and call public interfaces.
An authorization-bypass or privilege-escalation vulnerability is eligible if the reproduction shows how an ordinary caller obtains that capability and causes a qualifying impact. Merely assuming privileged access is not eligible.
Explain any required capital, approvals, signatures, transaction ordering, and victim actions. Show how those prerequisites arise under this threat model. If the attack depends on observing pending transactions or obtaining a particular transaction order, provide evidence that those prerequisites are achievable on Base without privileged sequencer access. Arranging calls in a local test alone does not establish this feasibility.
A victim cannot be assumed to sign an attacker’s authorization, grant extra permissions, or otherwise cooperate in the attack.