Phase 6: Decentralized Scheduler and EigenLayer
April 20, 2026 — Phase 6 is the phase where we explicitly do not build something, unless a real requirement forces it. EigenLayer restaking is powerful, but it is not a general-purpose home for "a payment system." This post explains what an AVS would give us, when it is worth building, and why Chainlink + NestJS is sufficient for most of what we need.
TL;DR
- EigenLayer is restaking + slashable attestations from ETH operators. It is not a chain, not a contract platform, not a custody solution.
- Two places it could help OrcaRail: a Keeper AVS for decentralized
charge()and a Bridge Attestation AVS for cross-chain settlement. - We will defer the build unless a customer or compliance requirement demands decentralized liveness beyond what Chainlink Automation + NestJS gives us.
- If we ever build one, we start with Othentic / Eigen Foundation templates, not from scratch.
What EigenLayer actually gives you
An AVS (Actively Validated Service) is a network of operators running an off-chain computation whose attestations are posted on-chain with cryptoeconomic security from restaked ETH. Misbehavior is slashable.
What that gets you:
- Decentralized liveness: a task runs even if one party (OrcaRail) goes offline.
- Slashable correctness: a bad attestation loses the operator stake.
- ETH-economic security: you inherit a slice of Ethereum's validator stake instead of bootstrapping your own token.
What it does not get you:
- A smart contract platform. Contracts still deploy on Ethereum / L2s.
- Custody. EigenLayer does not hold USDC for you.
- Solana or Bitcoin native support. Cross-chain bridges exist, and they add complexity and trust.
- A general scheduler. You still define the off-chain task and on-chain verification yourself.
Where an AVS could help OrcaRail
1. Keeper AVS (decentralized charge())
Today and through Phase 3, the keeper picture is:
- NestJS scheduler (primary)
- Chainlink Automation or Gelato (fallback)
That gives us two-way redundancy. A Keeper AVS would give us N-way redundancy with slashable liveness: operators attest "these IDs were due and I called charge," and missing a due charge is a slashable offense.
When it is worth it:
- When we have a customer whose contract forbids any single-party reliance on our infrastructure.
- When regulatory compliance explicitly asks for it (rare today).
When it is not worth it:
- When the marginal reliability over Chainlink is small and the engineering cost is months.
2. Bridge attestation AVS (Relay replacement)
Our cross-chain settlement today uses Relay (see api/src/withdrawals/services/bridge). Relay is trusted. An AVS could attest "funds observed on chain X, release on chain Y" with slashable security — similar shape to Hyperlane ISM-with-EigenLayer or Omni.
When it is worth it:
- When Relay introduces terms or performance we cannot accept.
- When the platform processes enough cross-chain volume that bridge risk is material.
3. Fraud / compliance oracle
"Is this wallet sanctioned?" "Was the merchandise delivered?" — policy checks currently in the NestJS webhook path could become AVS attestations. Niche use; only useful if the platform takes on an explicit on-chain policy responsibility.
Why we defer the build
- Chainlink Automation + NestJS is ~0 engineering cost. A Keeper AVS is months.
- Building an AVS means running operators (or coordinating others to) and maintaining slashing conditions. That is an operational burden comparable to running our own blockchain node fleet.
- The security improvement is only meaningful once we already have two-way redundancy. We do not yet (we get it in Phase 3). Compounded: only after Phase 3 is stable does a Keeper AVS become a candidate.
- Even conservatively scoped, an AVS will have its own custody considerations (restaked ETH, operator compensation economics).
Decision log
We will keep a public decision log at /docs/non-custodial/eigenlayer-evaluation with the current recommendation and any triggers that would flip it. Today's recommendation: defer.
Triggers that would re-open the discussion:
- A sales conversation explicitly blocked by "single-party keeper" risk.
- A regulatory framework that names AVS-backed liveness as an acceptable control.
- Chainlink Automation pricing or availability degrading meaningfully on our most-used chains.
- A partnership where we could reuse someone else's keeper AVS at near-zero ops cost.
If we do build it
- Start from a template. Othentic and Eigen Foundation publish templates for task-attestation AVSes. We will not hand-roll slashing.
- Keep the on-chain entry point unchanged.
SubscriptionHub.charge(ids[])stays public and permissionless. The AVS just becomes one more caller alongside NestJS and Chainlink. - Don't introduce new tokens or staking mechanics for our own volume. Operators are paid in ETH out of the platform gas budget; no OrcaRail token.
- Audit it. Even a template-based AVS needs an audit.
Status checklist
- Decision log page live
- Quarterly review of triggers
- POC sandbox (not production) if a trigger fires
What is next
The final phase deletes the custody code paths that Phases 1 to 5 replaced: Phase 7.
Reference docs: Phase 6 status · EigenLayer evaluation · Keeper strategy
