Ukiyo NetworkDeveloper Docs
Architecture

Data Flow

Trace a single order from production event to advance or pause — and which layer owns each hop.

Happy path

  1. ERP / vision / logistics emit events for orderId.
  2. Normalizer writes a validated production event.
  3. Scorer emits scoreBps + dataRoot.
  4. Oracle nodes sign EIP-712 attestation (optionally k-of-n).
  5. Score published on Arbitrum; consumer verifies signer + freshness.
  6. Agency evaluates proposed SPOOL call against allowlist + argument bounds.
  7. Agent simulates on an Arbitrum fork; on success, submits calldata.
  8. SPOOL updates order NFT / spool accounting; repayment waterfall later settles.

Cross-layer interfaces

InterfaceDirectionContractual check
Score deliveryOracle → SPOOLFreshness window + authorized signer
Gated executionAgency → SPOOLTarget, selector, value, decoded args
Simulation stateSPOOL ← Agency forkState diff within expected bounds

Failure coupling

  • Oracle pause — no new advances; repayments can continue.
  • Agency pause — no new agent actions; open positions remain.
  • Sequencer stall — stop new advances; force-include critical pauses via delayed inbox if needed.
Design rule

Each degraded mode reduces capability without cascading into silent fund movement.