SET API (Platforms) · Static templates
Open a static template
POST/v1/static_templates
Standing deposit instructions with a memo, in USD (wire or ACH push), EUR (SEPA) or GBP (Faster Payments). Every payment that matches the template becomes its own transfer, delivered as stablecoin less SET's fee. The successor to static memos, on more rails.
Platform key
beneficiary: {"type": "platform"}(the platform's own wallet) is refused with403 platform_funds_not_allowedunless SET has allowed platform funds for that platform. Use the merchant's own wallet,{"type": "customer", …}.
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 forcurrency. currency"usd" | "eur" | "gbp"- Default
usd. railstring- USD
wireorach_push; EURsepa; GBPfaster_payments. asset, address, beneficiaryas virtual accounts- Where it is delivered and whose wallet that is.
settleTo{ wallet }- Instead: USDC into one of the customer's own custodial wallets.
referencestring- Your id: the same reference returns the same template.
platformFeeBpsinteger- Platform keys: the platform's own fee, once SET allows it.
Notes
- A template has no amount: payers send what they owe, quoting the memo. Instructions (account number or IBAN) are read live and never stored.
- A template is shared, so every payer must quote the memo. When each payer needs its own account number, use a virtual account.
- Events
static_template.created,static_template.canceled,static_template_transfer.<state>.
Errors
400 currency_invalid400 rail_invalid400 asset_invalid400 address_invalid400 beneficiary_invalid400 static_template_refused404 wallet_unknown409 settle_route_not_supported409 static_template_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