Listings & books
Scope (two rails, two “books”):
Tokens marketplace (Energy 1 MWh, Carbon 1 t, hourly attributes): a continuous order book per fungible spec (method/region/vintage for Carbon; region/standard for Energy), plus RFQ for block size. Listings are PoV-backed assets; fills settle in EDSD; 4% protocol fee applies at fill/retire; 50% burns in EDM in the same tx.
Trade marketplace (commodities/CPG): a request-for-quote (RFQ) book (not a crossing LOB). Buyers post RFQs; validated suppliers bid; awards create a contract and Locked EDSD slices; releases occur per milestones on EMT PASS (0.5% fee per paid stage, capped; 50% burns in EDM at each release).
Settlement law never changes: No EMT, no funds · Must-fund before shipping · One-Claim · Locked EDSD → Unlocked EDSD only on proof · 50% burn on every protocol fee.
A) TOKENS — Listings
A1. Listing prerequisites (admissibility):
PoV PASS at mint: schema OK, quorum met, equality on the same PoV hash.
One-Claim finalized: atomic with mint.
Registry Mirror (optional): attests the external serial (I-REC/GO/VCM); status appears on the listing.
Freeze rules: a revocation or mirror issue sets FROZEN; trading/retirement is blocked until corrected (append-only replacement; see Revocation).
A2. Fungibility keys (how books are grouped):
Carbon: program, method, region, vintage (serials remain unique within the bucket)
Energy (MWh): region/standard (or hourly attribute series; energy device/interval remains in metadata)
Attributes (24/7): region, hour bucketed series (optional; policy-driven)
Symbol-like id: each bucket has a symbol-like id (e.g., CARB.VERRA.AMR.2026, ENER.GO.DE).
A3. Required fields (public disclosure):
Identity: token id, claim_id, pov_hash, mirror status (if any)
Spec: program/method/region/vintage (Carbon) or region/standard (Energy), quantity (default 1), lot size
Provenance: attestor roles (by tag), mint time, One-Claim link
Compliance flags: mirror ACTIVE/FROZEN/REPLACED; freeze reason
Economics: price in EDSD, min lot size, tick; fee note (4% at fill; 50% burns in EDM)
Privacy: raw files never shown; proof page links to signed URLs for authorized roles.
A4. Order types (maker/taker):
Limit GTC / GTD, IOC/FOK: optional per program
RFQ block retire: for large corporates; quotes returned by market makers / inventory holders
Reserve: hold inventory for a beneficiary for T minutes; no fee until fill — governed feature
Quote currency: EDSD.
Ticks/lot sizes: per bucket (e.g., Carbon tick $0.01/t; lot 1 t; Energy tick $0.01/MWh; lot 1 MWh).
A5. Book operations & states:
LISTED: orders visible; cancellable; no fee yet
FROZEN: cannot trade; shows reason; resumes on corrective mirror/mint
PARTIALLY_FILLED: remaining qty stays in book
FILLED: ownership finalized; fee/burn hash on receipt
RETIRED: final state; retirement proof pack published
Cancel & amend: allowed any time before fill; amendments update time priority.
A6. Settlement timing (where fees happen):
Trade/Buy fill: 4% protocol fee charges instantly; 50% of the fee burns in EDM (FeeBurned event with burn tx hash).
Retire: same fee/burn rule; token becomes non-transferable; retirement proof posted.
B) TRADE — RFQs (Listings)
B1. RFQ content (what must be posted):
Commercial spec: product, grade/spec sheet, Incoterm, route, target schedule
Milestones & payout schedule: e.g., 20/60/20 (Pre-Ship / On-Board / Arrival&QA); must-fund deadline before shipping
Evidence checklist (schemas): per gate; quorums; freshness windows
Caps & fees: 0.5% per paid stage with tranche caps; 50% burn of each stage’s fee
Compliance: KYC/KYB flags, sanctions, brand authorization if branded
Visibility: RFQs appear as live cards in the RFQ book; bids are per-supplier.
B2. Bidding rules:
Sealed or transparent: configurable; default sealed.
Suppliers submit: unit price, fillable quantity (10%–100%), ready windows, compliance notes.
No protocol fee at bid time: suppliers can withdraw until RFQ deadline.
B3. Award & listing transition:
Buyer mix-awards: multiple suppliers may cover one RFQ.
EDMA composes: one MPA (contract) + pre-assignment of Locked EDSD slices per supplier & stage.
RFQ listing becomes contract card: coverage bars, next top-up deadline, EMT status per stage, and fee escrow balance.
Fees occur only at release: per milestone. No fee for listing, bidding, awarding, or prefunding.
C) Books — data model & APIs
C1. Tokens (continuous book):
Symbols (buckets): /v1/tokens/books?symbol=CARB.VERRA.AMR.2026
Top of book: best bid/ask, depth (aggregated by price level), last trade, 24h volume
Order ops: POST /orders (limit IOC/FOK/GTC/GTD), DELETE /orders/{id}, GET /orders
Fills: webhooks tokens.settlement.posted (includes burn hash), tokens.retirement.proofpack.ready
Freeze/unfreeze: tokens.listing.frozen/unfrozen events with reasons
C2. Trade (RFQ book):
List RFQs: POST /v1/trade/rfqs (schema templates supplied), GET /v1/trade/rfqs?status=open
Bid: POST /v1/trade/rfqs/{id}/bids (sealed by default)
Award: POST /v1/trade/awards (returns MPA id)
Contract view: GET /v1/trade/contracts/{id} (coverage by stage, Locked/Unlocked EDSD, fee escrow, next top-up)
Milestones: webhooks trade.milestone.passed → trade.release.posted (includes burn hash)
D) Safety & conduct (both books)
Admissibility: Tokens require PoV-mint (PASS) and One-Claim FINAL; Trade requires PoV PASS + EMT for releases.
Freeze scope: narrow; freezes never touch paid slices or executed fills; only downstream / remaining qty pause.
Market conduct: no spoofing, layering, wash trades; one participant per identity (KYC/KYB).
Anomaly flags: EXIF/photo forensics, serial checksum, Merkle outliers; flags freeze only the affected listing/lot.
E) Economics at listing time (reminders on receipts)
Tokens: fee only at fill/retire; 4%, 50% burn in EDM; receipt shows burn hash & net flows.
Trade: fee only at release; 0.5% per milestone, capped; 50% burn per release; receipts + contract ledger reconcile escrow.
F) SLA & freshness (book hygiene)
Publish/update latency: listing visible ≤ 1s; order ack ≤ 1s; book snapshots every ≤ 250 ms (websocket).
Data correctness: 99.99% event delivery; idempotent order ops.
Freeze propagation: ≤ 15 min from revocation acceptance to book state.
Top-up alerts (Trade): T−48h / T−24h / T−12h reminders; PENDING_FUNDS badging blocks new EMTs.
G) What users actually see
Tokens: a symbolized book with bids/asks, depth, last trade, 24h volume; each order links to a proof page (PoV hash, One-Claim, mirror status). Fills show the burn hash and net flows.
Trade: an RFQ board (open/awarded/contract) with per-stage coverage bars, next top-up deadline, and EMT/release status. Each release posts a receipt with the burn hash, amount, fee, and net cash state (Locked/Unlocked).
Plain recap
Last updated