SET Merchant API · Static memos
Open a static memo
POST/v1/static_memos
A shared USD deposit account where each payer includes a memo: payers send a wire or an ACH push quoting memo, and the stablecoin is delivered less SET's fee, as with a USD virtual account. Cheaper than an account per merchant when many payers share one.
Merchant key A merchant's destination wallet is always its own:
beneficiary.typemust be"customer";"platform"is refused with400 beneficiary_invalid.
Headers
Idempotency-Keystring- Optional. The same key and body run once; a replay answers with
Idempotent-Replayed: true. Kept 24 hours.
Body
customerstringrequired- An
approvedcustomer endorsed for USD. asset, address, beneficiaryas virtual accounts- The stablecoin and chain delivered, the wallet, and whose wallet it is (Travel Rule).
settleTo{ wallet }- Instead: deliver USDC into one of the customer's own custodial wallets.
platformFeeBpsinteger- Platform keys: the platform's own fee, once SET allows it.
Notes
- Payers must quote the memo; a payment without it is delayed or returned. Deposit instructions are read live for each answer and never stored.
- No microdeposit or challenge-deposit verification on a shared account (
supportsMicrodeposits: false). - The provider has superseded static memos with static templates but keeps supporting them; every answer carries a
deprecationnote. New integrations: static templates. - Events
static_memo.created,static_memo_deposit.<state>.
Errors
400 asset_invalid400 address_invalid400 beneficiary_invalid400 static_memo_refused404 wallet_unknown409 settle_route_not_supported409 static_memo_conflict409 verification_incomplete409 endorsement_required403 platform_fee_not_allowed409 customer_closed401 api_key_required401 api_key_invalid401 api_key_wrong_mode403 scope_missing429 rate_limited