CONTRACTS / OPERATIONS

Operations

What we run off chain, what happens when it stops, and what you can do about it without us. The contracts need none of it to be correct; they need some of it to be convenient.

The robot

A process we run signs as the fee sweep operator (its address is under Roles). It does three things, and pays the gas for all of them:

  • Graduates a launch that stalled half-way. A curve that reached its threshold without the crossing buy completing phase one gets graduate(token) sent for it.
  • Creates the pool after graduation. It sends createGraduatedPool(token), the second, retryable phase described under Graduation.
  • Sweeps fees into the escrow. curve.sweepFees before graduation and hook.sweepPoolFees after it, with explicit minimum outputs, so the protocol's and each creator's balance in AgiV2FeeEscrow grows and can be claimed.

If it stops

  • Nothing is lost. Fees accumulate in the hook until a sweep runs; nobody is paid in the meantime. The creator fee recipient can send a sweep too, but in practice the operator is the one that does.
  • Nothing is locked behind us. graduate and createGraduatedPool are permissionless: anyone can send either call, pay the gas, and get exactly the result the robot would.
  • The owner can replace it. setFeeSweepOperator on the hook rotates the operator without touching any launch.

The indexer and the hub

  • The hub can take up to a minute to show a new token: the indexer runs on a schedule, not on every block.
  • The indexer is a cache. It reads the chain and serves what it stored; anything it shows can be re-derived from the contracts, and the pages read the chain directly when it fails. Nothing you own depends on it.