Milestones & Oracles
How FlowEscrow uses cargo tracking oracles to automatically release payments at each trade milestone.
Automatic Payment Release via Cargo Tracking
When a shipment reaches a milestone (e.g. vessel departed, customs cleared), Terminal49 sends a webhook to FlowEscrow. The smart contract then automatically releases the agreed percentage of funds to the seller.
7 Pre-built Payment Templates
Choose from proven payment structures used in international trade, or create custom terms.
The most common structure for international trade. Replaces traditional bank Letters of Credit with smart contract escrow. Two milestones: departure and delivery.
Three-stage release for high-value shipments or new trading partners. Spreads risk evenly across departure, customs clearance, and delivery.
For trusted, repeat trading partners. 90% released at departure gives the seller immediate working capital. Only 10% held until delivery.
For quality-critical goods. Holds 40% until final delivery/inspection, giving the buyer time to verify goods meet specifications.
For made-to-order goods. Four milestones track from production completion through QC, shipping, and delivery. Each stage releases 25%.
Mirrors traditional L/C protection. 100% released when customs clearance is confirmed. Single milestone for simplicity.
No cargo tracking API. The buyer manually releases each milestone via the dashboard. Perfect for testing or non-containerized trades.
Terminal49 — Cargo Tracking Oracle
Terminal49 aggregates real-time container tracking data from ocean carriers worldwide. FlowEscrow uses Terminal49 webhooks as the oracle to trigger milestone payments.
Webhook Events
When a container status changes, Terminal49 sends a webhook to FlowEscrow with the event type and container details. The system matches the event to the correct escrow and milestone.
| Container Event | T49 Status | FlowEscrow Milestone |
|---|---|---|
vessel_departed | on_ship | Vessel Departed |
customs_cleared | available | Customs Cleared |
delivered | picked_up | Delivered |
vessel_arrived | not_available | Vessel Arrived |
Tracking Reference Requirements
When creating an escrow, you provide a Bill of Lading number or Container number. This is used to register tracking with Terminal49.
| Type | Format | Example |
|---|---|---|
| Bill of Lading | 4-30 alphanumeric characters | MAEU221876618 |
| Container No. | 4 letters + 7 digits (ISO 6346) | MSCU1234567 |
Delivery Confirmation & 14-Day Timer
The final milestone in every preset has special handling to protect the buyer.
How Final Delivery Works
When Terminal49 reports the final milestone event (e.g. delivered), funds are NOT auto-released. Instead, the escrow enters "Awaiting Buyer Confirmation" state.
The buyer has 14 days to either: (a) Confirm Receipt — funds released to seller immediately, or (b) Report an Issue — opens the dispute resolution process.
If the buyer takes no action within 14 days, the funds are automatically released to the seller. This prevents indefinite fund locking.
Dispute Resolution
If the buyer reports an issue, both parties submit evidence (documents, photos). After 48 hours, an AI arbitrator (Claude, following UCP 600, Incoterms 2020, and CISG) reviews the case and determines a fair split of funds.
Smart Contract Guarantees
Every escrow is a self-executing smart contract on the Alephium blockchain. Key properties:
Contract Properties
Funds are locked in the contract — neither party can withdraw unilaterally.
Milestone release percentages are immutable once the escrow is created.
Platform fee (1.0%) is deducted at each milestone release, not upfront.
After all milestones complete, the contract self-destructs and returns remaining ALPH to the protocol.
Neither buyer nor seller pays gas fees — the protocol covers all transaction costs.
Ready to create your first escrow?
Connect your Alephium wallet and choose your payment terms.
Open Dashboard →