The three balances
Every wallet carries three amounts, and their sum is what the account actually holds.number
Credited, not yet matured. Every vendor credit lands here. Not payable, but seizable by
a refund.
number
Available. This is the only amount that can be paid out.
number
Committed to a payout in flight. The money still belongs to the account, but it is reserved
while the operator responds.
The availability delay
A vendor credit carries anavailable_at date. At maturity, a sweep moves it from
pending_balance to balance, and emits
connect.funds.available.
The default delay is 7 days.
You read the maturity date on the vendor’s account:
Pay out to a vendor
Headers
Body
Empty. A Connect payout transfers the entire available balance.201
A connected vendor’s payout is free: no commission is taken on it. The
destination is
masked: you do not need to read your vendor’s number.Preconditions
A payout is refused as long as any of these conditions is not met:The vendor's KYC is approved
The vendor's KYC is approved
Otherwise
403 E_VERIFICATION_REQUIRED. It is the vendor’s policy that is evaluated,
not yours.The vendor has a registered payout destination
The vendor has a registered payout destination
Otherwise
422 E_CONNECT_VENDOR_PAYOUT_METHOD_UNAVAILABLE. It is collected during
onboarding.Their available balance is not empty
Their available balance is not empty
Otherwise
422 E_CONNECT_VENDOR_EMPTY_BALANCE. This is a nominal state (before the
first allocation, or right after a payout), not an error to retry.No payout is already in flight on this wallet
No payout is already in flight on this wallet
Otherwise
422 E_PENDING_WITHDRAW.Replay
Automatic cadence
Rather than calling the route by hand, you can have your vendors paid automatically as soon as their balance is positive.200
The read always returns 200, with
cadence: null and enabled: false when nothing is
configured. The write returns 200, not 201: the resource is your account, it already exists.
Posting again simply replaces the configuration.