Dev Release #7Three portals, one tradeRead the notes
Protocol · Architecture · 05 of 6

Transaction Lifecycle

How a single action becomes a settled event. From proof submission to Ethereum anchor in one continuous flow. Same model for trade milestones and token settlements. The rule never changes: no EMT, no funds.

7 stepsFrom proof to anchor
~2sL2 finality (operational)
~2-10 minL1 anchor

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.

EDMA transaction lifecycle: from proof to anchored receiptTRADE LIFECYCLE · FACTS BECOME CASHOne transaction, end to end. Same model for tokens.TRIGGERAttestor submits proofBL + seal photo, COA, …GATEPoV gate passes3 checks (quorum, equality, exclusivity)MINTEMT mints for the stageSame block. No EMT, no funds.RELEASELocked → Unlocked EDSDSlice flips. Supplier sees it instantly.FEEFee posted, 50% burnsBurn hash on receipt. EDM gone forever.RECEIPTReceipt + proof pageBoth sides get an auditable record.ANCHORBatch to EthereumEIP-4844 blob in 2-10 min.
The seven stages of a trade-milestone settlement. The PoV gate (Stage 02) is the only moment where the rail decides yes or no. Everything after it is mechanical.

The Trade rail, step by step

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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).

  7. 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.

Audited by
Current presale

Verify first. Then mint.

$EDM is the fee, burn, and governance token of the only Ethereum L2 designed to verify real-world events before they settle.

Community Chat

Five channels, one community. Pick where you live online; we'll meet you there.