[ protocol ]

one contract.
no upgrades.

MergrEscrow.sol holds every bounty. There is no proxy, no admin, no pause. The only privilege belongs to a fixed oracle set, and even they cannot move funds — only attest that a merge happened.

CONNECTED · BASE MAINNET · READ-ONLY RPC
updated · 6:19:51 PM
block
gas · gwei
bounties opened
n/a
oracles
threshold
dispute · days
contract not configured · set NEXT_PUBLIC_MERGR_ESCROW_ADDRESS after running forge script Deploy.s.sol
[ addresses · Base mainnet ]
bounty escrow · v0.1TBA — phase 1
treasury · receives /open ETH0xB0E30d2c2Fe80E482a89edFad5c90294Cb49C781
$MERGR tokenTBA
oracle signer setTBA
v0.1 routes the /open flow as plain ETH transfer to the treasury. Full MergrEscrow with oracle quorum + dispute window ships once the relay is wired. $MERGR contract address and tokenomics: TBA.
[ callable surface ]
WRITEopenBounty()deposit escrow against issue
WRITEtopUp()anyone can pile on
WRITEsubmitMerge()oracle quorum cert opens dispute window
WRITEdispute()post bond to challenge during window
WRITEresolveDispute()quorum verdict, no admin
WRITEclaim()anyone finalizes after window elapses
WRITErefund()opener reclaims after deadline
READgetBounty()full bounty struct by id
READnextBountyId()total opened so far
READoracleCount()size of signing set
deploy.sh — Base mainnet
# install Foundry, one-time
curl -L https://foundry.paradigm.xyz | bash && foundryup

# fund deployer with ~0.005 ETH on Base mainnet

export PRIVATE_KEY=0x...
export ORACLE_1=0x...
export ORACLE_2=0x...
export ORACLE_3=0x...
export FEE_SINK=0x...

cd contracts && forge script script/Deploy.s.sol \
    --rpc-url https://mainnet.base.org \
    --broadcast --verify

# paste printed escrow address into web/.env.local:
# NEXT_PUBLIC_MERGR_ESCROW_ADDRESS=0x...