Glossary
A quick reference for terms used across this section. Each entry links to where it's covered in depth.
Agent-edge
The authenticated outbound connection your disbursement agent uses to reach the platform: it settles proved batches and can vend short-lived credentials over /agent-edge/bootstrap. See Authentication → Pool-gate OAuth and Disbursement → Configuring the agent.
Batch
A slice of a disbursement settled in a single on-chain fund() transaction. Large disbursement runs are split across several batches, each with its own status. See Disbursement.
Blacklist
The pool-gate's list of wallet public keys excluded from the pool. Enforced entirely in-circuit: the prover proves non-membership per recipient. There is no production write path exposed to integrators. See Eligibility → Blacklist.
Capability
What a single API key is scoped to: disburse, holder.read, holder.transfer, or holder.send. A key minted for one cannot reach the routes another needs, even if both are held by the same wallet. See Account Operations → Minting a scoped credential.
Disbursement agent
The process you run on your own infrastructure that holds your prover and, by default, no private keys; it exposes /api/disburse and talks to the platform only over the agent-edge. See Overview → Core concepts.
Dual signature
What every on-chain fund() call requires: the platform's own relayer signature plus the Funding Party's funder authorization signature, produced by whichever FunderSigner is configured. See Disbursement.
Encryption public key (P)
The public half of a viewing key, distinct from W: what the relayer seals note ciphertext to, and what a holder needs the private half of to decrypt their own notes. Usually derived from a signature over a fixed message, which requires that signature to be reproducible; a wallet in MPC custody must use a key generated and escrowed by its owner instead. P differs per curve, so it is enrolled per chain family. Whoever holds the private half can read that subject's balance and history, and cannot move its funds. See Account Operations → The viewing key.
Funder wallet
The wallet the Funding Party controls: it holds the token balance being disbursed and is the identity every funder authorization signature is issued from.
FunderSigner
The pluggable abstraction that produces the funder's authorization signature: a local private key, a signing enclave, Fireblocks, or DFNS. Never a browser wallet popup. See Disbursement → Configuring the agent.
Funding Party
The account owner: controls the funder wallet and authorizes every disbursement. Some literal API paths still say "employer" for historical reasons; same role. See Overview → Core concepts.
Idempotency key
The caller-supplied string (Idempotency-Key header) that deduplicates a POST /api/disburse call: replaying the same key with the same body returns the original job instead of double-disbursing. See Disbursement.
Note commitment
An opaque on-chain value that cryptographically binds a recipient's wallet public key, an amount, and random nonces. Only the commitment is published; none of its inputs are recoverable from it. See Overview → Core concepts.
Partial finality
The disbursement job state (status: "partial") when some batches confirmed on-chain before a later one failed. Never surfaced as a bare failure, since earlier batches already moved funds. See Disbursement.
Pool-gate
The standalone eligibility service holding the whitelist and blacklist. Issues the signed eligibility material a disbursement proof needs as private inputs. See Eligibility.
Pool subject
An account that can hold and spend a pool balance: a (W, P) pair, enrolled and whitelisted. Recipients become subjects automatically at first login; a Funding Party's own wallet has to enroll explicitly. See Account Operations → Becoming a pool subject.
Recipient
A wallet address receiving funds in a disbursement. Identified to the API by address; identified to the pool-gate and the circuit by wallet public key.
Send (external send)
The operation that moves value out of the pool to a chain address, either back to the holder's own wallet or to a destination pinned in the agent's configuration. Never accepts a caller-supplied address. See Account Operations → Withdraw.
SIWX session
"Sign-in with X": a wallet-signature login that authenticates a human driving admin actions (onboarding, eligibility resync). Never used for the disbursement call itself. See Authentication → SIWX session.
Transfer
The operation that moves value between two pool subjects without either leaving the pool. Guarded the same as external send: it can move a holder's entire balance, just not to an address outside the pool in one step. See Account Operations → Transfer.
Wallet public key (W)
The secp256k1 affine x‖y (128 lowercase hex characters, no 0x prefix) that identifies a participant to the ZK circuit and the pool-gate. Not the same as a wallet's on-chain address. See Overview → Core concepts.
Whitelist
The pool-gate's list of wallet public keys eligible to participate in the pool. Written automatically at a recipient's first SIWX login; repairable in bulk via the resync endpoint. See Eligibility → Whitelist.