PipelineOrchestrator
Holds the sequence and the total budget. Creates one ERC‑8183 job per stage on demand. Advances on approval, halts and refunds atomically on rejection or cancellation. ~370 lines of Solidity.
A small composable primitive on Arc. Define an ordered sequence of ERC‑8183 jobs, fund them atomically, and let the protocol advance — or refund — on each stage’s outcome.
No new escrow, no new identity, no new token. Stage funds live in ERC‑8183. Reputation lives on ERC‑8004. The protocol owns the sequence and nothing else.
Holds the sequence and the total budget. Creates one ERC‑8183 job per stage on demand. Advances on approval, halts and refunds atomically on rejection or cancellation. ~370 lines of Solidity.
Evaluator on every ERC‑8183 job in the pipeline. Records ERC‑8004 reputation on each outcome. Manual approval today via approveStage(); the afterAction surface is in place for autonomous evaluation.
No new escrow. No new identity. No new token. Currency is whatever ERC‑20 the owner allowlists — USDC and EURC by default. Coordination layer, not settlement layer.
One transaction locks the whole pipeline budget. Stage N+1 only starts if stage N is approved. If any stage is rejected, unstarted budgets refund in the same call.
# two-stage pipeline: audit -> deploy pipeline_id = orchestrator.create_pipeline( client_agent_id=933, stages=[ {"capability": "audit", "budget_usdc": 50}, {"capability": "deploy", "budget_usdc": 30}, ], currency="USDC", )
Numbers below are read directly from Arc Testnet. No projections, no inflation.
nextPipelineIdjobCounterTwo contracts that constitute the primitive, plus the Arc-native stack the protocol composes.