bMOLI → MOLI · return

How it works

bMOLI cannot be destroyed on Ethereum, so it is sent to a vault nobody can spend from: an address derived from a hash, with no private key behind it. Molibra reads the transfer out of an Ethereum receipt proof and releases the same amount of MOLI.

vault
0x0173f059ce912bb442296f3763746637f7d20fc1 — keccak256("molibra:moli-return:v1"), keyless
bMOLI
0xa302877efb74f567f3605851194b46f1d5746822 — Ethereum
you receive
MOLI on Molibra, at the same address that sent the bMOLI
live from
Molibra block 118,000
⛔ Send from a wallet whose key you hold. The MOLI is paid to the sender's address on Molibra. Sent from a contract (a swap router, a Safe), it lands at that contract's address, where nobody has a key. And the vault is final: bMOLI sent there never comes back out.
The bound: MOLI comes back only as MOLI that went out. A return larger than what is outstanding is refused by every node, however valid its proof.

Status

—

1 · Wallet

account
—
chain
—
bMOLI (Ethereum)
—
This page holds no key.

2 · Send bMOLI to the vault — on Ethereum

3 · Commit the Ethereum header — operator only

Produced by node scripts-inbound/prove-return.mjs <hash> once the transfer is mined. Only the header authority's commit counts; from anyone else, consensus refuses it. From Molibra block 146,000 the bridge bot also commits roots and relays returns on its own, capped at 5,000 MOLI per rolling 5,760 blocks; a return above that waits here for the operator's commit, which is uncapped.

4 · Return — on Molibra, signed by anyone

The full receipt proof travels in this transaction and every node checks it. The MOLI goes to the sender the proof names, whoever signs this.