🔷 ENS Auto-Registration

Accept Payments
on BB84 L2

Register your wallet as a verified merchant in three steps — no code, no admin approval. Just set one ENS text record and you're live.

Three steps to go live
No application form, no waiting for manual approval.
1

Own an ENS name on Ethereum mainnet

You need an ENS name (e.g. yourshop.eth) whose primary name resolves to the wallet address you want to register as a merchant. The wallet that holds your ENS name doesn't need to be the same — the primary name of the merchant address is what matters.

Don't have an ENS name yet? Register one at app.ens.domains for a few dollars per year.

💡
Primary name is the reverse record — the ENS name that maps back to your address. Set it under "Profile → Primary Name" in the ENS app.
2

Set the bb84.merchant text record

In the ENS app, open your name → Edit profile → scroll to Other records → add a new text record:

Key bb84.merchant Value Your Shop Name

The value becomes your merchant display name in the BB84 PaymentRouter. Keep it short and recognizable (e.g. "Matteo's Store" or "BB84 Coffee").

🔷
Step-by-step: app.ens.domains → your name → Edit profileAdd record → type bb84.merchant → enter your shop name → Save → sign two transactions (approve + set record).
3

Wait for auto-registration (≤ 15 min)

The BB84 ENS watcher scans known addresses every 10 minutes. When it detects your bb84.merchant record it automatically submits a registration transaction to the L2 MerchantRegistry.

  • 0 – 10 min Watcher detects your ENS record on Ethereum mainnet
  • ~2 min Registration transaction confirmed on L1 Sepolia
  • ~2 min L1→L2 deposit arrives — you are live on BB84

You can verify registration instantly via the payment page or by calling isMerchant(yourAddress) on the MerchantRegistry contract.

Verify your registration

Once registered, you can check your status on-chain at any time.

Option A — cast (Foundry)

cast call 0x5c720BbB17FC4f59d9751Ce6FD0B4AC14CC34c85 \
  "isMerchant(address)(bool)" YOUR_ADDRESS \
  --rpc-url https://bb84.com/rpc

Returns true when registered.

Option B — read your merchant name

cast call 0x5c720BbB17FC4f59d9751Ce6FD0B4AC14CC34c85 \
  "merchantName(address)(string)" YOUR_ADDRESS \
  --rpc-url https://bb84.com/rpc

Returns the name you set in bb84.merchant.

Option C — payment page

Visit bb84.com/payment and paste your address in the recipient field. If you appear in the merchant dropdown you are live.

How payments work

Once registered, anyone can pay you via the BB84 payment page. The PaymentRouter contract handles escrow and finality:

Step Who What happens
Pay Customer Sends ETH to PaymentRouter, specifying your merchant address
Escrow Contract ETH held in escrow for the finality window (default 7 days)
Settle Anyone After the window, anyone can call settle() — you receive ETH minus the protocol fee
Refund Customer Customers can request a refund before the finality window expires if you haven't settled
BB84 is an experimental testnet. All ETH is Sepolia testnet ETH with no real-world value. Do not use real funds.

Technical details

Contracts

MerchantRegistry (BB84 L2) 0x5c720BbB17FC4f59d9751Ce6FD0B4AC14CC34c85
RPC →
PaymentRouter (BB84 L2) 0x1b702662878dC54898D10d761D6D022256f6be67
OptimismPortal (Sepolia L1) 0x74B350258195aA8B8DbcA8f74d1b00d2EF652039
Etherscan →

Network

Network NameBB84 L2
Chain ID42069422
RPC URLhttps://bb84.com/rpc
Native CurrencyETH (Sepolia testnet)
Block Explorerbb84.com/explorer
L1 ChainEthereum Sepolia (11155111)

ENS record

Record keybb84.merchant
ValueYour merchant display name (plain text, max ~100 chars)
ENS networkEthereum mainnet
Scan intervalEvery 10 minutes
ENS cache TTL24 hours
Registration methodL1 → L2 depositTransaction (automated)
💡
Speed up registration: The watcher only scans addresses it already knows about (faucet users and a manual watchlist). If your address is new, request a small amount from the faucet first — this adds you to the watchlist automatically.
FAQ
Common questions about merchant registration.
Do I need to pay anything to register?

No. The BB84 admin wallet pays the L1 Sepolia gas cost for the registration transaction on your behalf. You only need a valid ENS name on Ethereum mainnet (ENS registration costs a few dollars per year on mainnet).

Can I update my merchant name later?

Currently the watcher only handles initial registration — it does not update names after first registration. To change your name, contact us via the support button or open a ticket, and we will manually update the registry entry.

What if I remove the bb84.merchant record?

Removing the ENS record does not automatically deregister you from the BB84 MerchantRegistry. The registration is permanent on-chain. If you want to be removed, contact us via the support button.

My address isn't being picked up — why?

The watcher only scans addresses it already knows about. Make sure your address has interacted with BB84 at least once — the easiest way is to request testnet ETH from the faucet. Alternatively, contact us via the support ticket and we can manually add you to the watchlist.

Also double-check that the primary name of your merchant address points to your ENS name on Ethereum mainnet.

How do customers find and pay me?

Customers visit bb84.com/payment. They can search by your merchant address or ENS name. Your merchant name (from bb84.merchant) is displayed next to your address in the payment form.

Is my ENS name visible to customers?

Yes. The payment page resolves ENS names and shows them alongside your wallet address. Customers see both your ENS name and the merchant name you registered.

Is this production-ready?

No. BB84 is an experimental research network (testnet) built to explore post-quantum cryptography in Layer 2 rollups. All ETH is Sepolia testnet ETH with no real-world value. Do not send real funds.

🔷

Ready to accept payments?

Set your bb84.merchant ENS record and you'll be live within 15 minutes.

Set ENS Record → Get Testnet ETH

Support Ticket

Question, bug report or feedback — we'll get back to you by email.