Funding & withdrawal
The money path. You fund and withdraw on-chain yourself; the service reports the balance and relays the issuer signature a withdrawal needs.
Get the funding for a client
The deposit address to fund, and the live spending power. Read-only and side-effect-free — always answered LIVE from the issuer, never cached, so every field is current as of `asOf`. Poll it: spending power changes on card spend, and spend events are not delivered as webhooks today. Rate limited per client and globally (`429 FUNDING_RATE_LIMITED`); `409 FUNDING_NOT_READY` while the issuer is still provisioning the contract.
Get the collateral contract for a client
Static — the addresses change only if the issuer redeploys, so read it once and cache it. Separate from the withdrawal authorization below precisely so that reading these coordinates costs you nothing: this read is neither rate limited nor lock-holding.
Get a withdrawal authorization for a client
Relays the issuer’s withdrawal signature — the service never signs your admin message and never moves funds; you add your admin EIP-712 signature and submit the transaction yourself. `admin` must be one of the contract’s `adminAddresses`, checked before the issuer is called. One authorization at a time per client: a different request while one is live answers `409 WITHDRAWAL_AUTH_CONFLICT`; a repeat with identical values is idempotent. Nothing is written to the database or cached.