Commerce needs more than transfers. It needs money held until goods arrive, payments that recur, a record of who handed what to whom, and a way for a business to pay its customers' fees. EmpoorioChain has each of these as a native pallet. This post is the map, and the flow they compose.
The pallets
| Pallet | Index | Role in a sale |
|---|---|---|
pallet-marketplace | 43 | Listings, offers, acceptance |
pallet-escrow | 72 | Holds the buyer's funds; releases on a condition; refunds on timeout |
pallet-logistics | 79 | Records custody handoffs — merchant → courier → customer |
pallet-subscription | 73 | Recurring payments with cancel and renewal rules |
pallet-paymaster | 70 | A sponsor pays the transaction fees for a set of users under a policy |
pallet-stablecoins | 46 | DUSD, the pricing unit |
pallet-nft-royalties | 83 | Creator share applied on every resale |
All are wired into the live runtime (spec 220). None has yet carried a real merchant transaction, and the distinction between wired and exercised is one this ecosystem now keeps explicitly.
The designed flow
Customer (Eoonia) Merchant (Manager) Courier (Riders)
│ pay in DUSD ──▶ escrow.lock ─────────────────────────────┐
│ │ confirm order │
│ │ logistics.handoff(merchant→courier)│
│ │ deliver
│ confirm receipt ◀────────────────── logistics.handoff(courier→customer)
│ escrow.release ──▶ merchant (minus fee 80/20 burn/treasury)
- If the customer never confirms and the timeout passes, escrow releases automatically against the delivery record.
- If the merchant cancels before handoff, escrow refunds.
- The merchant's fees can be sponsored by
pallet-paymasterunder a policy (whitelisted merchants, per-transaction cap, allowed pallets) validated at the entry point, so a new restaurant never has to acquire DMS to receive its first payment.
Subscriptions
pallet-subscription covers the recurring cases — a meal plan, a warehouse storage fee, a software seat — with on-chain renewal and cancellation. It is also the native equivalent of ERC-4907's rental role for NFTs, which is how a time-limited licence on a media asset would be expressed.
Why pallets and not contracts
Because an escrow that every app must integrate separately is an escrow that one app will get wrong. A runtime escrow has one implementation, one set of events indexers read, one fee rule, and it cannot be bypassed by a marketplace that forgot to call it. The same argument applies to royalties and to compliance, and it is the rule the architecture documentation states for when a pallet beats a contract.
Status
The apps that would drive this flow — Eats, Manager, Riders, Warehouse, Square Sellers — are in production and settle in fiat. The wallet link between an app and Eoonia is live in Warehouse. The first on-chain order is the next milestone, and it will be reported here with its block number.
Based on PALLET_REFERENCE.md, EIP_COVERAGE.md, FEE_MODEL_AND_LOW_COST_STRATEGY.md and the four-app feature inventory.


