[ 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 PMblock
—
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 ]
WRITE
openBounty()deposit escrow against issueWRITE
topUp()anyone can pile onWRITE
submitMerge()oracle quorum cert opens dispute windowWRITE
dispute()post bond to challenge during windowWRITE
resolveDispute()quorum verdict, no adminWRITE
claim()anyone finalizes after window elapsesWRITE
refund()opener reclaims after deadlineREAD
getBounty()full bounty struct by idREAD
nextBountyId()total opened so farREAD
oracleCount()size of signing setdeploy.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...