Wallet everywhere, bank in the US
SET Direct Deposit API
Every payee can be paid in USDC in a wallet of their own. Payees in the US can add a second step that moves it to their own bank in dollars. Your platform runs one flow for both.
The two legs
| Leg | Who | What happens | Proof for your records |
|---|---|---|---|
| 1. Wallet | Every payee | You pay USDC on Base to a wallet only the payee's email can open (Payable Email). After 3 confirmations the payment is in_wallet | payable_payment.in_wallet |
| 2. Bank | US payees with a US bank account, except New York residents | The payee verifies once, links their bank and moves the USDC to their own Cash-Out Address, which pays the bank by ACH | payable_payment.<state> through at_bank |
A payee who already has a Cash-Out Address and has allowed your platform to pay it is paid there directly, and skips leg 1.
Payees outside the US
- Leg 1 works the same: the USDC is in the payee's own wallet, and it is theirs to use from there.
- Leg 2 is not offered to them, and the wallet says so.
- Nobody can take the payment back, including SET and your platform. SET never holds or moves it.
What to treat as paid
payable_payment.in_wallet means the USDC reached the payee's own wallet on chain. For a payee who never uses the bank step, that is the final state.
Limits
- Payable Email pays on Base, at least 2 USDC a payment (Coverage and limits).
- SET switches paying by email on for each platform.
- Who SET serves, by country: Coverage and limits.