SETSimple Easy Transactions
SET DocsAPI reference and complianceUpdated 2026-11-09
Browse: SET API (Platforms)

SET API (Platforms) · Static templates

Open a static template

POST/v1/static_templates

Key scope: write · Success: 201

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 with 403 platform_funds_not_allowed unless SET has allowed platform funds for that platform. Use the merchant's own wallet, {"type": "customer", …}.

Headers

Idempotency-Key string
Optional. The same key and body run once; a replay answers with Idempotent-Replayed: true. Kept 24 hours.

Body

customer stringrequired
An approved customer endorsed for currency.
currency "usd" | "eur" | "gbp"
Default usd.
rail string
USD wire or ach_push; EUR sepa; GBP faster_payments.
asset, address, beneficiary as virtual accounts
Where it is delivered and whose wallet that is.
settleTo { wallet }
Instead: USDC into one of the customer's own custodial wallets.
reference string
Your id: the same reference returns the same template.
platformFeeBps integer
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_invalid
  • 400 rail_invalid
  • 400 asset_invalid
  • 400 address_invalid
  • 400 beneficiary_invalid
  • 400 static_template_refused
  • 404 wallet_unknown
  • 409 settle_route_not_supported
  • 409 static_template_conflict
  • 409 verification_incomplete
  • 409 endorsement_required
  • 403 platform_fee_not_allowed
  • 409 customer_closed
  • 401 api_key_required
  • 401 api_key_invalid
  • 401 api_key_wrong_mode
  • 403 scope_missing
  • 429 rate_limited

All codes: Errors.