v1

latestOpenAPI 3.1.02026-07-26165182724.7 KB
Consumer

Create Standing Order

Create a standing order that takes in a user ID, a source account ID and a destination IBAN or blockchain address container. This will send an OTP to the user after all checks pass, to be entered into the "Confirm Standing Order" API, after which, any funds deposited into the users' source account are automatically converted into the currency of the destination container and sent. If a single EUR account is denominated as the source for a standing order, any EUR deposits arriving into that account ID will be converted into the currency denominated in the whitelisted address and paid out with the then prevailing network fees. If a single BTC account is denominated as the source for instance, using the "Lightning Network" APIs, you can even specify a "proposedRate" and a FOK (Fill or Kill) boolean to honor a specific rate for your flow of off-ramps from BTC to EUR.

SCA-enabled applications: accepts a verificationMethod field (sms, totp, or passkey). All three factors are accepted for standing-order setup. Under SCA-enabled apps, the destination must already be a Trusted Beneficiary when the debit side is regulated: USDC-destined orders require a trusted address (64009); CRYPTO_TO_FIAT orders require a trusted IBAN (64011). When using passkey, run PASSKEY_APPROVAL_START before calling /standing-orders/confirm.

post/create

Request body

userIdstring uuid required

Unique ID of the user for whom a standing order is to be created

whitelistedAddressIdstring uuid

One of Striga's supported crypto currencies for which this standing order is to be paid out in (REQUIRED if source account is a EUR account, unless action is SWAP_ONLY and destinationCurrency is provided instead)

whitelistedIbanIdstring uuid

ID of a whitelisted destination IBAN to which this standing order is to be paid out (REQUIRED if source account is not a EUR account)

accountIdstring required

The account of the user for which deposits are to be monitored and paid out as part of this standing order

fixedFeestring

The fixed fee in cents for the standing order - This overrides your default fee config and can be a value <= your legally approved value (optional)

percentFeeBpsstring

The percentage fee in basis points to be used for the standing order - This overrides your default fee config and can be a value <= your legally approved value (optional)

verificationMethod'sms' | 'totp' | 'passkey'

SCA factor to issue the setup challenge against. Defaults to sms when omitted. All three factors are accepted. Under SCA-enabled apps, the destination must still be a Trusted Beneficiary when the debit side is regulated — USDC-destined orders require a trusted address (64009); CRYPTO_TO_FIAT orders require a trusted IBAN (64011). For passkey, run PASSKEY_APPROVAL_START before calling /standing-orders/confirm. Honoured only when the application has scaEnabled=true; ignored otherwise.

action'SWAP_ONLY' | 'SWAP_AND_WITHDRAW'

Whether the standing order should perform a swap only or swap and withdraw on each execution. SWAP_AND_WITHDRAW (default) preserves the existing behavior. SWAP_ONLY swaps the deposit into the destination currency in the same wallet and stops — no external payout. When SWAP_ONLY, whitelistedAddressId / whitelistedIbanId are not required and trusted-beneficiary / travel-rule checks are skipped because no external send occurs.

destinationCurrencystring

Destination currency to swap into, honoured only for SWAP_ONLY (ignored for SWAP_AND_WITHDRAW). When the source account is EUR, this is an alternative to whitelistedAddressId for choosing which crypto the EUR is swapped into — provide one or the other. When the source account is crypto, this selects the in-wallet swap destination and must be EUR or USDC; any whitelistedAddressId is ignored. The resulting source→destination pair must be a supported trading pair.

Response

success

challengeIdstring uuid required

Unique challenge ID to be used when confirming the standing order via OTP

dateExpiresstring date-time required

Date at which this challenge ID expires. If this expires, please create a new standing order. Standing orders are not persisted in storage unless confirmed.

verificationMethod'sms' | 'totp' | 'passkey'

SCA factor that the standing-order challenge is bound to (echoes the request, defaults to sms).

Example response

{
  "dateExpires": "2024-07-25T06:49:13.606Z"
}