Treasury mode and split payouts
SET Merchant API and SET API · Live since 2026-11-09
Treasury mode lets a merchant keep a USDC balance in its own custodial wallet (POST /v1/wallets) instead of cashing out every payment at once. It then sweeps that balance to its own US bank accounts on a schedule, at a threshold, or both. A sweep can be split across up to five of the merchant's own accounts, for example operating, tax savings and payroll.
Set the rule
PUT /v1/wallets/{id}/treasury:
| Field | Meaning |
|---|---|
schedule | daily, weekly (Mondays) or monthly (the 1st), at 15:00 UTC |
threshold | Sweep once the USDC balance reaches this amount. SET checks every 10 minutes |
keep | Left in the wallet after each sweep. The threshold must be higher |
allocations | 1 to 5 of the customer's own US bank accounts, {bankAccount, share}, with shares in percent summing to 100 |
A rule needs a schedule, a threshold, or both. GET reads the rule with nextSweepAt, lastSweptAt and lastResult. DELETE turns it off.
Sweep now, or split once
POST /v1/wallets/{id}/sweeps sweeps immediately: by default everything above keep, split by the rule. With allocations and no rule, it is a one-off split payout.
Rules
- Every part of a sweep is an ordinary withdrawal to the same customer's own bank by ACH, with SET's fee per part and its own
wallet_withdrawal.*events naming the sweep (trs_…). - A sweep waits while any withdrawal from the wallet is in flight, so a balance is never spent twice.
- Each part must meet the cash-out minimum, with at least 1.00 reaching the bank after SET's fee, or nothing is swept. The cent left over from splitting goes to the first account.
- If a part is refused mid-sweep, the rest stays in the wallet (
partial) for the next sweep. - The rule is the merchant's own standing instruction, set with its own key. SET's operator cannot set, change or run it.
Funding the wallet
Payers send USDC straight to the wallet's address (name the payer with POST /v1/wallets/{id}/activity/{eventId}/sender), or a virtual account can deliver to it.
Not yet included
- Sweeps to EUR or GBP accounts.
- A virtual account that delivers to the wallet by wallet id rather than by address.