canister coord://offchain/genie/program/loop_vault@v1/d3a01e517ee8d771 · v1 · artifact root 0xd3a01e517ee8d771cc5e5e5a9b1e285627440f3b8ba138b094c56019e0671bec · previous none (first version) · superroot at publish not sealed yet
sealed cases that reached it: 0 — sealed cases that reached this word (the store counts, never reads)
loop vault (a .genie program) in the studio: 6 symptoms, 6 fixes
// _GENIE_v1_ — the loop vault under grid metering: every payout of an RPC resale leaves it metered, capped per transfer and // per day as the register says, released by one KMS signature, and the supply venues are read by header collectors through the warmbed (the one route a chain read takes). genie loop_vault v1 about "The loop vault under grid metering: each payout metered, capped per transfer and per day, one KMS signature, the supply venues read by header collectors" use vault vault:taifoon:loop use chain every use product taifoon.rpc taifoon.api use venue rpc-alchemy rpc-ankr use guard owner-arm value-cap day-cap kms-sign-only idempotent-payouts agent payout is "one payout of the loop vault to an RPC supplier" states due reserved released paid held start due final paid held failed held on cron "0 * * * *" read GET /v1/vaults/map as vaults read GET /v1/wallets/state as wallets move due -> reserved when leg.units > 0 guard idempotent-payouts venue rpc-alchemy move reserved -> released guard owner-arm value-cap venue rpc-ankr move released -> paid act releaser signs vault-signer release(bytes32) guard owner-arm day-cap kms-sign-only via vault:taifoon:loop on every cap 50000 USDC meter taifoon.rpc move * -> held when payee.known == false refuse no_payee "a leg without a payee is held, named" say paid "The batch left the loop vault: one signature through KMS" next due reserved "The hour's legs are reserved once; nothing is paid twice" next reserved released "The owner arms the vault; the value cap is checked before release" vault vault:taifoon:loop grid taifoon.rpc per_call 1 per_day 1000000 grid taifoon.api per_call 1 cap USDC every per_tx 50000 per_day 5000000 knowledge symptom "a payout is held" caused_by "the leg names no payee" fixed_by "register the supplier's payee address and release the hour again" policy "the loop vault pays at most 50000 units per transfer and 5000000 per day on every chain it serves" collector alchemy_health source https://warmbed.taifoon.dev/ every 600s header "x-warmbed-score" as score feeds payout stage due when status == 200 venue rpc-alchemy collector ankr_health source https://grid.taifoon.dev/ every 600s feeds payout stage due when status == 200 venue rpc-ankr // the extension packs in use: the layer's intents (ext/taifoon-intents.json) and subscriptions (ext/subscriptions.json) agent supply is "a subscription of an RPC supplier's quota, renewed monthly from the loop vault" states open renewing renewed lapsed start open final renewed lapsed failed lapsed on tick 1d move open -> renewing when period.ends_in < 86400 subscribe taifoon.rpc 30d intent hold venue rpc-alchemy move renewing -> renewed act releaser signs vault-signer release(bytes32) guard owner-arm day-cap kms-sign-only via vault:taifoon:loop on every cap 50000 USDC meter taifoon.rpc intent payout move * -> lapsed when period.ends_in < 0 refuse lapsed "the period ended before the renewal was paid" say renewed "The quota is renewed for the period; one signature through KMS" next open renewing "A day before the period ends the renewal is reserved"