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.

Cron standing orders (type: SCHEDULE): instead of reacting to deposits, the order transfers a fixed amount from the user's accountId to the same-currency account of a corporate wallet of the application (destinationAccountId) daily, weekly or monthly at 00:00 UTC, from startDate (default tomorrow) until endDate if given. destinationAccountId, amount and frequency are required; whitelistedAddressId, whitelistedIbanId, action, destinationCurrency, fixedFee and percentFeeBps are ignored. The feature must be enabled for your application (contact your sales manager at Striga; else 64019). Each run is an inter-ledger transfer, so the setup runs the inter-transfer guards (INTER permission on the source account, Payment Accounts consent, SCA lock) and the destination must be an account of a corporate wallet the application allows for consumer transfers (else 64012 / 30077). SCA is required at setup; totp is refused for EUR/USDC sources (64018). Confirm the returned challenge once via /confirm. A run that finds the source balance below amount pauses the order (status: PAUSED, pauseReason: INSUFFICIENT_BALANCE) and sends the CRON_STANDING_ORDER_PAUSED webhook; fund the account and call /standing-orders/resume, which schedules the next 00:00 UTC slot.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

The SCHEDULE fields of /create, read only when type is SCHEDULE; a swap create ignores them.

uuid
required

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

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)

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)

string
required

The user's account this standing order works on: for SWAP, deposits into it are monitored and paid out; for SCHEDULE, it is debited on each run.

string

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)

string

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)

string
enum
Defaults to sms

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.

Allowed:
string
enum
Defaults to 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.

Allowed:
string

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 account to swap into (defaults to EUR); any pair the exchange supports is accepted, e.g. USDC → BTC, and any whitelistedAddressId is ignored. The resulting source→destination pair must be a supported trading pair.

string
enum
Defaults to SWAP

Set exactly SCHEDULE to create a cron standing order, which transfers a fixed amount from accountId to destinationAccountId on a schedule (see the endpoint description). Omitted, or any other value, creates a swap standing order and the other fields of this group are ignored.

Allowed:
string

SCHEDULE only, required: account of a corporate wallet the application allows for consumer transfers, which the amount is transferred to. Must be in the same currency as accountId.

string

SCHEDULE only, required: integer in the smallest unit of the currency (cents, satoshis, wei) transferred on each run.

string
enum

SCHEDULE only, required: how often the transfer runs, at 00:00 UTC.

Allowed:
date

SCHEDULE only: first run date, YYYY-MM-DD (UTC), strictly after today. Defaults to tomorrow.

date

SCHEDULE only: last possible run date, YYYY-MM-DD (UTC), not before startDate. Open-ended when omitted.

string
length ≤ 100

SCHEDULE only: free-text reference attached to every transfer.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json