Skip to main content
POST
/
v1
/
accounts
/
{account_id}
/
conversion-rules
curl
curl -X POST "https://api.services.payward.com/v1/accounts/W4BE9868GY65TB6523/conversion-rules" \
  -H "API-Key: $PWS_API_KEY" \
  -H "API-Nonce: $PWS_API_NONCE" \
  -H "API-Sign: $PWS_API_SIGN" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "EUR to USDG (SEPA)",
    "from": {
      "asset": {
        "symbol": "EUR",
        "type": "fiat"
      },
      "via": "sepa"
    },
    "to": {
      "asset": {
        "symbol": "USDG",
        "type": "stablecoin"
      },
      "destination": {
        "type": "external_wallet",
        "wallet_id": "wl_client_usdg",
        "user_id": "tcs_cust_12345"
      }
    }
  }'
{
  "data": {
    "id": "rule_eur_usdg_01",
    "name": "End-customer 12345: EUR to USDG",
    "status": "active",
    "current_uses": 0,
    "from": {
      "account": "W4BE9868GY65TB6523",
      "asset": {
        "symbol": "EUR",
        "name": "Euro",
        "type": "fiat"
      },
      "via": "sepa"
    },
    "to": {
      "asset": {
        "symbol": "USDG",
        "name": "Global Dollar",
        "type": "stablecoin"
      },
      "destination": {
        "type": "external_wallet",
        "wallet_id": "wl_client_usdg",
        "user_id": "tcs_cust_12345"
      }
    },
    "inbound": {
      "id": "vacct_01H7X",
      "via": "sepa",
      "status": "active",
      "lifecycle": "reusable",
      "routing": {
        "iban": "DE89370400440532013000",
        "bic": "KRAKDEFFXXX",
        "beneficiary_name": "Payward Services Inc"
      },
      "conversion_rule_id": "rule_eur_usdg_01",
      "created_at": "2026-04-24T15:00:00Z"
    },
    "created_at": "2026-04-24T15:00:00Z",
    "updated_at": "2026-04-24T15:00:00Z"
  }
}

Authorizations

api-key
string
header
required
api-sign
string
header
required
api-nonce
string
header
required
api-otp
string
header
required

Headers

Idempotency-Key
string<uuid>

Client-generated UUIDv4 for safe retries. Sent as the Idempotency-Key HTTP header. Replayed responses include the Idempotent-Replayed: true header.

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
Example:

"550e8400-e29b-41d4-a716-446655440000"

Path Parameters

account_id
string
required

ID of the account the request applies to. This refers to one of the accounts held by the user the request is acting on behalf of (typically the user's main account, but any of the user's accounts is accepted). Routes the request to that specific account container. Canonical identifier for an account in the Payward public API.

Required string length: 14 - 42

Body

application/json

Request to create a standing conversion rule. PWS provisions the inbound endpoint inline and returns it under data.inbound on the response.

from
object
required

Source side of a conversion rule. via is required — it selects which inbound endpoint type PWS provisions (IBAN, sort code, deposit address, etc.). asset.amount is optional: when set, the rule fires only on credits matching that exact amount; when omitted, any amount triggers the rule.

to
object
required

Destination side of a conversion rule.

name
string

Optional human-friendly label.

Maximum string length: 256
status
enum<string>

Initial rule status. Defaults to active when omitted.

Available options:
active,
paused

Response

Successful response

data
object

A standing conversion rule.

A rule is a strict 1:1:1 (from / to / via) mapping. PWS provisions one inbound endpoint and returns it under inbound. Each matching credit fires the rule and produces a Conversion; current_uses increments on each successful firing.