pages / example / seller_claims
canister coord://offchain/genie/program/seller_claims@v1/55e34bc1dd2e2009 · v1 · artifact root 0x55e34bc1dd2e2009c5a0c54dbaef807bca789aced356417216957445170bb1ea · 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)
seller claims (a .genie program) in the studio: 8 symptoms, 8 fixes
// _SELLER_CLAIMS_v1_ in genie (_GENIE_ONE_VAULT_v1_, owner 2026-10-29: "we want our ONE VAULT system implemented in genie"): the first // program converted under the rule. Every payee of a settled sale is paid by claim (lang/cue/seller-claims.cue): // each sale's payee legs accrue to their accounts, one root of cumulative balances is cut per epoch (3600 s) and signed off the box by the // purpose payout.root only within the buyer money the signer reads itself, and anyone claims cumulative − claimed for a payee by proof from // the distributor, which draws on vault:taifoon:kms's allowance. No person per payout; the owner's acts are the distributor's deployment and // the arming of payout.root, once per chain. A claim settles through the ONE vault's record vault:taifoon:kms, inside its caps. genie seller_claims v1 about "Seller claims: every payee leg accrues, one signed root per epoch within the buyer money read, and anyone claims by proof from the distributor" use vault vault:taifoon:kms use chain eip155:8453 use product coord.sign vault.withdraw use guard sign-known-requester sign-fresh sign-claims-root sign-claims-inflow recipient-filter idempotent-payouts value-cap day-cap agent epoch is "one epoch of the claims root: the ledger cut, the root signed off the box, the tree published for the claim reads" states open cut sealed published refused start open final published refused failed refused on cron "0 * * * *" read GET /v1/resale/sales as sales move open -> cut when sales.settled > 0 hop accrued effect read move cut -> refused when cut.short == true move cut -> sealed act signer signs kms Sign(bytes32) guard sign-known-requester sign-fresh sign-claims-root sign-claims-inflow hop split effect act meter coord.sign move sealed -> published when tree.published == true hop recorded op POST /v1/pipe/send effect record refuse short "a payee's cumulative below its sealed amount is refused, never sealed lower" say cut "The epoch's ledger cut: every payee leg summed to one cumulative per payee" say sealed "The root is signed off the box, within the buyer money the signer read itself" say published "The root and its tree are published; every payee can claim by proof" next open cut "Each hour the ledger is cut at its sequence; only community-value postings of Base USDC count" next cut sealed "The signer recomputes the root, chains it to its last one and fences it by the inflow it reads" agent claim is "one payee's claim: accrued, bound to its payout, claimable by proof, claimed from the distributor" states accrued bound claimable claimed held start accrued final claimed move accrued -> held when payee.bound == false move accrued -> bound when payee.bound == true guard recipient-filter move held -> bound when payee.bound == true guard recipient-filter move bound -> claimable when root.signed == true op GET /v1/listings/:id effect read move claimable -> claimed guard idempotent-payouts value-cap day-cap via vault:taifoon:kms on eip155:8453 cap 5000000 USDC meter vault.withdraw hop paid refuse no_payee "a payee leg without a bound payout is held, named, and claimable once one binds" say held "Owed and held: no payout is bound yet; it stays claimable" say claimable "The proof and the signed root are ready to submit; anyone may claim" say claimed "Paid: the distributor sent cumulative − claimed to the payee" next accrued bound "The listing's verified payout binds the payee at the epoch's cut" next claimable claimed "The payee pulls, or the keeper pushes a batch once the balance is worth the gas" knowledge symptom "a seller is not paid" caused_by "no payout is bound to the listing" fixed_by "claim the listing and verify its payout; the balance is claimable at the next root" symptom "a claim is refused" caused_by "the root is not signed yet or the distributor is not deployed" fixed_by "wait for the next epoch's root; the distributor's deployment is the owner's step" policy "a claim draws at most 5 USDC on Base from the vault's allowance, inside the vault's day cap"