pages / example / seller_claims

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)

the words it says

its helpdesk graph

seller claims (a .genie program) in the studio: 8 symptoms, 8 fixes

the source

// _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"