What this explains
Most blockchain explainers stop at 'a transaction gets mined.' For a real-world settlement rail, that's not enough. The buyer needs to know when funds release. The supplier needs to know when payment is final. Finance needs to know when the receipt is auditable. Compliance needs to know when the fee was burned. This page walks through what each of those moments looks like in the chain, in order.
EDMA runs two rails on the same lifecycle. Trade milestones flow through proof and release. Token settlements (energy certificates, carbon credits, ESG attachments) flow through buy and settle. Both share the same gate, the same burn mechanic, and the same anchoring. The diagram below shows the Trade path because it has more stages; Tokens is a shorter variant that ends at fee + burn + receipt.
The whole point of this design is that the business clock and the chain clock are decoupled. Your team feels operational finality in seconds. Ethereum finality follows minutes later. You never wait on L1 to move trucks or record cash, and you never have to choose between speed and auditability.
The Trade rail, step by step
- 01
Trigger: attestor submits the evidence
An attestor submits a normalized event (BL + seal photo, COA, customs clearance, telemetry window). The buyer gets a short review window (0 to 4 hours, set per corridor) to block if something is off. If the buyer doesn't block, the system moves to the gate.
- 02
Gate: PoV runs three checks
The PoV gate runs Attestation Quorum (>=2 distinct roles, AUDITOR required), Equality (all attestors signed the same hash), and One-Claim Exclusivity (hash not previously finalised anywhere). All three must pass. If any fails, the stage stops here. No mint, no settle, no state change. Lineage is append-only on-chain.
- 03
Mint: EMT for the stage
On gate-pass, the EMT (EDMA Milestone Token) contract mints the token for that stage, in the same L2 block. The EMT is the on-chain proof that this milestone has cleared. No EMT, no funds. That's the constitutional rule.
- 04
Release: Locked → Unlocked EDSD
The Treasury contract flips the corresponding EDSD slice from Locked to Unlocked. The supplier sees the funds available immediately. Funded-on-proof assignments tied to that stage settle automatically; subcontractors get paid in the same transaction.
- 05
Fee: protocol fee posts, 50% burns
The Fee Router applies the corridor's fee schedule (e.g., 0.5% per stage for trade, capped) and splits the proceeds: 50% to the burn address in $EDM, 50% to the treasury. The burn transaction is included in the same receipt and gets its own on-chain hash.
- 06
Receipt: dual artifacts
Both sides (buyer and supplier) receive a human-readable receipt and a link to the public proof page. The receipt shows the EMT id, the PoV hash, the fee line, the burn hash, and the net amount. Webhooks fire for ERP integrations (trade.milestone.passed, trade.release.posted, fee.burn.posted).
- 07
Anchor: batched to Ethereum
Within 2 to 10 minutes, the L2 block containing this lifecycle gets batched into an EIP-4844 blob and posted to Ethereum, together with a new state root. Day-to-day operations don't wait for L1; the receipt is already operational truth on L2. But for any auditor who wants to verify independently, the L1 anchor is now in place.
What can go wrong, and what happens
Buyer blocks in the review window
The stage pauses with a clear reason. EDMA opens a case. Fix the file (or re-inspect) and resume. No burn, no release until the next attempt passes.
Gate fails
The stage stays red and explains the fix (e.g., seal number doesn't match packing, temperature out of range). Only that slice pauses; other lots in the same order continue.
Pending funds
Perfect proof cannot release if the buyer's top-up is missing. EDMA shows Pending Funds and a top-up deadline. Must-fund before shipping is enforced; no funding means no BL.
Revocation after pass
Rare. Dependent future slices freeze. Paid slices remain paid (revocation is forward-looking, not clawback). The Dispute Pack records the delta; resume on clean record.
Sequencer outage
Forced inclusion via Ethereum L1 inbox keeps critical txs flowing. Permissionless exits available after the challenge window. Receipts continue to anchor as batches resume.




