---
title: "Create Orchestration Rule"
method: POST
path: "/orchestration/rules"
tags: ["Orchestration Rules"]
---

# Create Orchestration Rule

`POST /orchestration/rules`

Creates a persistent orchestration rule that automatically triggers orchestrations
when matching deposits are received.

The rule will:
1. Generate deposit instructions associated with the rule.
2. Continuously monitor incoming deposits to those instructions.
3. Automatically execute orchestrations to the specified destination.

Supported Sources:

- Crypto deposit
- Fiat deposit

Supported Destinations:

- Crypto address on a supported network
- Bank account
- Profile ID

Error conditions:
- [Already Exists](https://developer.paxos.com/docs/v2/problems/already-exists): Returned if a rule with the same ref_id already exists.

## Request body

- CreateOrchestrationRuleRequest
  - `ref_id` string, required — Client-provided unique reference ID for the rule.
  - `nickname` string — Optional human-readable nickname for the rule.
  - `profile_id` string, required — Profile ID of the account owner.
  - `identity_id` string — Identity ID of the account owner.
  - `account_id` string — Account ID where the rule applies.
  - `source_asset` string, required — Asset being converted from. Valid values: USDG, PYUSD, USDP, USDC, USD
  - `destination_asset` string, required — Asset being converted to. Valid values: USDG, PYUSD, USDP, USDC, USD
  - `source` CreateOrchestrationRuleRequestSource, required
    - `crypto` CreateOrchestrationRuleRequestCryptoSource
      - `network` string — The blockchain network for the crypto source. Valid values: ETHEREUM, SOLANA, STELLAR, BASE, POLYGON
    - `fiat` CreateOrchestrationRuleRequestFiatSource
      - `network` string — The fiat network for the source. Valid values: WIRE, CUBIX
      - `account_type` string — The account type for the fiat source. Valid values: SWIFT, ABA
  - `destination` CreateOrchestrationRuleRequestDestination
    - `crypto` CreateOrchestrationRuleRequestCryptoDestination
      - `address` string — The blockchain destination address. Specify together with `network` (and `identity_id` on the parent request for 3P integrations). These together identify a CryptoDestinationAddress whose travel rule metadata will be used.
      - `network` string — The blockchain network of the destination address.
      - `crypto_address_id` string — Deprecated. Specify `address` and `network` instead.
    - `fiat` CreateOrchestrationRuleRequestFiatDestination
      - `fiat_account_id` string — The ID of a pre-approved fiat account. Valid fiat account IDs can be retrieved using: - CreateFiatAccount endpoint (/transfer/fiat-accounts) - GetFiatAccount endpoint (/transfer/fiat-accounts/{id}) - ListFiatAccounts endpoint (/transfer/fiat-accounts)
      - `memo` string
    - `profile` CreateOrchestrationRuleRequestProfileDestination
      - `profile_id` string

## Response `200`

A successful response.

- CreateOrchestrationRuleResponse
  - `rule` OrchestrationRule
    - `id` string — Unique identifier for the orchestration rule.
    - `ref_id` string — Unique reference ID for the rule.
    - `nickname` string — Optional human-readable nickname for the rule.
    - `profile_id` string — Profile ID of the account owner.
    - `identity_id` string — Identity ID of the account owner.
    - `account_id` string — Account ID where the rule applies.
    - `status` 'ACTIVE' | 'DELETED' | 'PENDING' | 'REJECTED' — - ACTIVE: The rule is active, deposits matching the `source_asset` and `source` of this rule start a conversion and subsequent delivery of the `destination_asset` to the specified `destination`. - DELETED: The rule has been deleted, newly deposited `source_assets` to the `source` of this rule will not be converted. The deposited `source_asset` is still going to be credited to the Profile specified by `profile_id`. - PENDING: The rule creation is pending approval(s) before the rule becomes ACTIVE. - REJECTED: The rule creation has been rejected during the approval process.
    - `source_asset` string — Asset being converted from.
    - `destination_asset` string — Asset being converted to.
    - `source` OrchestrationRuleSource
      - `crypto` OrchestrationRuleCryptoSource
        - `address_id` string
        - `address` string
        - `network` string
      - `fiat` OrchestrationRuleFiatSource
        - `deposit_instructions_id` string
        - `network` string
        - `account_type` string
        - `memo_id` string
      - `profile` OrchestrationRuleProfileSource
        - `profile_id` string
    - `destination` OrchestrationRuleDestination
      - `crypto` OrchestrationRuleCryptoDestination
        - `address` string
        - `network` string
      - `fiat` OrchestrationRuleFiatDestination
        - `fiat_account_id` string
        - `memo` string
      - `profile` OrchestrationRuleProfileDestination
        - `profile_id` string
    - `created_at` string, date-time — Timestamp when the rule was created.

---

[API](https://skmtc.net/paxos/apis/paxos-api.md) · [All operations](https://skmtc.net/paxos/apis/paxos-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/paxos/paxos-api/versions/0687ca8c9a8d/schema)
