{
  "openapi": "3.1.0",
  "info": {
    "title": "Bank Core API",
    "version": "v1",
    "description": "Partner API. Guides: https://bank-core.org/docs/"
  },
  "servers": [
    {
      "url": "https://api.bank-core.org"
    }
  ],
  "security": [
    {
      "bearer": []
    }
  ],
  "tags": [
    {
      "name": "Your key"
    },
    {
      "name": "Deposits"
    },
    {
      "name": "Chain payouts"
    },
    {
      "name": "Withdrawals"
    },
    {
      "name": "Conversions"
    },
    {
      "name": "Balance and register"
    },
    {
      "name": "Events"
    },
    {
      "name": "Customers and verification"
    },
    {
      "name": "Fiat accounts and transfers"
    }
  ],
  "paths": {
    "/v1/accounts": {
      "post": {
        "summary": "Create Account",
        "operationId": "create_account_v1_accounts_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAccount"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Ask for fiat account details for one customer. Created as `PENDING` until the provider issues them.",
        "x-scopes": [
          "accounts:write"
        ],
        "x-idempotency-key": "required",
        "tags": [
          "Fiat accounts and transfers"
        ]
      }
    },
    "/v1/accounts/{account_id}": {
      "get": {
        "summary": "Get Account",
        "operationId": "get_account_v1_accounts__account_id__get",
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Account Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "One fiat account.",
        "x-scopes": [
          "accounts:read"
        ],
        "tags": [
          "Fiat accounts and transfers"
        ]
      }
    },
    "/v1/accounts/{account_id}/entries": {
      "get": {
        "summary": "Account Entries",
        "operationId": "account_entries_v1_accounts__account_id__entries_get",
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Account Id"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 500,
              "default": 100,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntryOut"
                  },
                  "title": "Response Account Entries V1 Accounts  Account Id  Entries Get"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "The ledger lines of one account.",
        "x-scopes": [
          "accounts:read"
        ],
        "tags": [
          "Fiat accounts and transfers"
        ]
      }
    },
    "/v1/chain-payouts": {
      "post": {
        "summary": "Create Chain Payout",
        "operationId": "create_chain_payout_v1_chain_payouts_post",
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChainPayoutOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Pay an address from your payout wallet on `network`. Signed. `201` means accepted, not sent: follow the status or the `chain_payout.*` events.",
        "x-scopes": [
          "chain_payouts:write"
        ],
        "x-signed": true,
        "x-idempotency-key": "required",
        "tags": [
          "Chain payouts"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateChainPayout"
              }
            }
          }
        }
      }
    },
    "/v1/chain-payouts/estimate": {
      "get": {
        "summary": "Estimate Chain Payout",
        "operationId": "estimate_chain_payout_v1_chain_payouts_estimate_get",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Network"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Currency"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount"
            }
          },
          {
            "name": "address",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Address"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChainPayoutEstimate"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "What a chain payout would cost and which limits apply, before you send it. Reserves nothing and writes nothing. Unknown values are `null` with a reason, never `0`.",
        "x-scopes": [
          "chain_payouts:read"
        ],
        "tags": [
          "Chain payouts"
        ]
      }
    },
    "/v1/chain-payouts/{payout_id}": {
      "get": {
        "summary": "Get Chain Payout",
        "operationId": "get_chain_payout_v1_chain_payouts__payout_id__get",
        "parameters": [
          {
            "name": "payout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Payout Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChainPayoutOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "One chain payout. Another tenant's id, or an id that is not a chain payout, is `404`.",
        "x-scopes": [
          "chain_payouts:read"
        ],
        "tags": [
          "Chain payouts"
        ]
      }
    },
    "/v1/currencies": {
      "get": {
        "summary": "Currencies",
        "operationId": "currencies_v1_currencies_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Currencies"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Per currency: whether we deal in it, whether the custodian lists it now, whether we can price it, and whether you have a verified address for it. `custodian_lists` is `null`, not `false`, when the custodian could not be reached.",
        "x-scopes": [
          "quotes:read"
        ],
        "tags": [
          "Your key"
        ]
      }
    },
    "/v1/custody/intake-cost": {
      "get": {
        "summary": "Custody Intake Cost",
        "operationId": "custody_intake_cost_v1_custody_intake_cost_get",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 200,
              "default": 20,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "title": "Response Custody Intake Cost V1 Custody Intake Cost Get"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "What funding your balance through the custodian has cost, from our own measurements of what arrived and what was credited. Says so when the measurements cannot answer.",
        "x-scopes": [
          "transfers:read"
        ],
        "tags": [
          "Balance and register"
        ]
      }
    },
    "/v1/customers": {
      "post": {
        "summary": "Create Customer",
        "operationId": "create_customer_v1_customers_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomer"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Register one of your end users under your own `external_id`.",
        "x-scopes": [
          "customers:write"
        ],
        "x-idempotency-key": "required",
        "tags": [
          "Customers and verification"
        ]
      }
    },
    "/v1/customers/{customer_id}/provider-registration": {
      "post": {
        "summary": "Register Customer With Provider",
        "operationId": "register_customer_with_provider_v1_customers__customer_id__provider_registration_post",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentityIn"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisteredWithProvider"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Make a verified customer known to the provider that will pay them. The identity sent is forwarded, not stored.",
        "x-scopes": [
          "customers:write"
        ],
        "tags": [
          "Customers and verification"
        ]
      }
    },
    "/v1/customers/{customer_id}/verification": {
      "post": {
        "summary": "Start Verification",
        "operationId": "start_verification_v1_customers__customer_id__verification_post",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Id"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStarted"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Open an identity check for a customer, or get the current one. The person submits documents directly to the verification provider; we never hold them.",
        "x-scopes": [
          "customers:write"
        ],
        "tags": [
          "Customers and verification"
        ]
      },
      "get": {
        "summary": "Get Verification",
        "operationId": "get_verification_v1_customers__customer_id__verification_get",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Customer Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "A customer's verification: a status and the list of capabilities it grants, never a single boolean.",
        "x-scopes": [
          "customers:read"
        ],
        "tags": [
          "Customers and verification"
        ]
      }
    },
    "/v1/deposit-addresses": {
      "post": {
        "summary": "Register Deposit Addresses",
        "operationId": "register_deposit_addresses_v1_deposit_addresses_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAddresses"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistrationPage"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Register up to 500 addresses you control. Each item is registered, existing or refused on its own; read every `status`.",
        "x-scopes": [
          "deposits:write"
        ],
        "x-idempotency-key": "required",
        "tags": [
          "Deposits"
        ]
      },
      "get": {
        "summary": "List Deposit Addresses",
        "operationId": "list_deposit_addresses_v1_deposit_addresses_get",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 20
                },
                {
                  "type": "null"
                }
              ],
              "title": "Network"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ],
              "title": "Reference"
            }
          },
          {
            "name": "address",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 128
                },
                {
                  "type": "null"
                }
              ],
              "title": "Address"
            }
          },
          {
            "name": "include_retired",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Include Retired"
            }
          },
          {
            "name": "after",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "After"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 500,
              "minimum": 1,
              "default": 200,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAddressPage"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Your registered addresses, filtered by `network`, `reference` or `address`. Page with `after` until `next_after` is `null`.",
        "x-scopes": [
          "deposits:read"
        ],
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/deposit-addresses/derive": {
      "post": {
        "summary": "Derive Deposit Addresses",
        "operationId": "derive_deposit_addresses_v1_deposit_addresses_derive_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeriveIn"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DerivedOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Register the next `count` (1\u2013100) addresses derived from your live xpub on `network`, all under one `reference`. All or none.",
        "x-scopes": [
          "deposits:write"
        ],
        "x-idempotency-key": "required",
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/deposit-addresses/issue": {
      "post": {
        "summary": "Issue Deposit Addresses",
        "operationId": "issue_deposit_addresses_v1_deposit_addresses_issue_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueIn"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssuedOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Issue addresses whose keys we hold. Makes us the custodian of what arrives on them. Needs `deposits:issue`, granted only by agreement.",
        "x-scopes": [
          "deposits:issue"
        ],
        "x-idempotency-key": "required",
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/deposit-addresses/{address_id}/retire": {
      "post": {
        "summary": "Retire Deposit Address",
        "operationId": "retire_deposit_address_v1_deposit_addresses__address_id__retire_post",
        "parameters": [
          {
            "name": "address_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Address Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAddressOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Stop watching an address. Repeating it changes nothing.",
        "x-scopes": [
          "deposits:write"
        ],
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/deposit-addresses/{address_id}/sweep-hold": {
      "post": {
        "summary": "Hold Sweeps",
        "operationId": "hold_sweeps_v1_deposit_addresses__address_id__sweep_hold_post",
        "parameters": [
          {
            "name": "address_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Address Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SweepHold"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAddressOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Stop or resume sweeping one address whose key we hold. Detection and crediting are not affected. A hold set by our operators cannot be released here (`409`).",
        "x-scopes": [
          "deposits:write"
        ],
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/deposit-addresses/{address_id}/watch-now": {
      "post": {
        "summary": "Watch Deposit Address Now",
        "operationId": "watch_deposit_address_now_v1_deposit_addresses__address_id__watch_now_post",
        "parameters": [
          {
            "name": "address_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Address Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAddressOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Read this address in the next pass and every minute for 60 minutes. A repeat restarts the window from now. No body and no idempotency key.",
        "x-scopes": [
          "deposits:write"
        ],
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/deposit-keys": {
      "post": {
        "summary": "Import Deposit Key",
        "operationId": "import_deposit_key_v1_deposit_keys_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepositKeyIn"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositKeyOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Hand us a wrapped private key for an address you registered, making us its custodian. Signed as well as keyed.",
        "x-scopes": [
          "deposits:write"
        ],
        "x-signed": true,
        "x-idempotency-key": "required",
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/deposit-xpubs": {
      "post": {
        "summary": "Add Deposit Xpub",
        "operationId": "add_deposit_xpub_v1_deposit_xpubs_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/XpubIn"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XpubOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Store an account-level (depth 3) extended public key to derive deposit addresses from. One live key per network.",
        "x-scopes": [
          "deposits:write"
        ],
        "x-idempotency-key": "required",
        "tags": [
          "Deposits"
        ]
      },
      "get": {
        "summary": "List Deposit Xpubs",
        "operationId": "list_deposit_xpubs_v1_deposit_xpubs_get",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 20
                },
                {
                  "type": "null"
                }
              ],
              "title": "Network"
            }
          },
          {
            "name": "include_retired",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Include Retired"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XpubPage"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Your xpubs.",
        "x-scopes": [
          "deposits:read"
        ],
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/deposit-xpubs/{xpub_id}/retire": {
      "post": {
        "summary": "Retire Deposit Xpub",
        "operationId": "retire_deposit_xpub_v1_deposit_xpubs__xpub_id__retire_post",
        "parameters": [
          {
            "name": "xpub_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Xpub Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XpubOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Stop deriving from a key. Addresses already derived stay watched.",
        "x-scopes": [
          "deposits:write"
        ],
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/deposits": {
      "get": {
        "summary": "List Deposits",
        "operationId": "list_deposits_v1_deposits_get",
        "parameters": [
          {
            "name": "after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0,
              "title": "After"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 500,
              "minimum": 1,
              "default": 200,
              "title": "Limit"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ],
              "title": "Reference"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositPage"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Arrivals on your addresses in `change_seq` order. A status change gives a row a higher `change_seq`. Stop paging when `deposits` is empty.",
        "x-scopes": [
          "deposits:read"
        ],
        "tags": [
          "Deposits"
        ]
      }
    },
    "/v1/destinations": {
      "get": {
        "summary": "List Destinations",
        "operationId": "list_destinations_v1_destinations_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DestinationOut"
                  },
                  "title": "Response List Destinations V1 Destinations Get"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Where your withdrawals may go: one address per currency, with whether it is verified or why it was refused. Addresses are added by us, not through the API.",
        "x-scopes": [
          "withdrawals:read"
        ],
        "tags": [
          "Withdrawals"
        ]
      }
    },
    "/v1/events": {
      "get": {
        "summary": "List Events",
        "operationId": "list_events_v1_events_get",
        "parameters": [
          {
            "name": "after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "title": "After"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 500,
              "default": 100,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventPage"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Outcomes in order, with monotonic ids. Store the last id you processed and pass it as `after`. Webhooks deliver the same rows.",
        "x-scopes": [
          "events:read"
        ],
        "tags": [
          "Events"
        ]
      }
    },
    "/v1/fees": {
      "get": {
        "summary": "Fee Schedule",
        "operationId": "fee_schedule_v1_fees_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Fees"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Your own fee schedule, ordered the way it is applied. `percent` is a percentage: `2` means 2%. Indicative; a quote is the price charged.",
        "x-scopes": [
          "quotes:read"
        ],
        "tags": [
          "Your key"
        ]
      }
    },
    "/v1/float": {
      "get": {
        "summary": "Partner Float",
        "operationId": "partner_float_v1_float_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FloatOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Your balance per currency: `available`, `held` by operations in flight, and `total`.",
        "x-scopes": [
          "register:read"
        ],
        "tags": [
          "Balance and register"
        ]
      }
    },
    "/v1/float/statement": {
      "get": {
        "summary": "Float Statement",
        "operationId": "float_statement_v1_float_statement_get",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Currency"
            },
            "description": "Which currency of your balance to state."
          },
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Since"
            }
          },
          {
            "name": "until",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Until"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 500,
              "default": 200,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FloatStatement"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Every movement on one currency of your balance, oldest first, with a running balance. When `truncated` is true, narrow the dates.",
        "x-scopes": [
          "register:read"
        ],
        "tags": [
          "Balance and register"
        ]
      }
    },
    "/v1/limits": {
      "get": {
        "summary": "Limits For This Key",
        "operationId": "limits_for_this_key_v1_limits_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Limits"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Every limit applied to this key: request rates after any tenant ceiling, and the rolling withdrawal limit with what is left of it.",
        "x-scopes": [
          "quotes:read"
        ],
        "tags": [
          "Your key"
        ]
      }
    },
    "/v1/operations/by-key/{key}": {
      "get": {
        "summary": "Operation By Key",
        "operationId": "operation_by_key_v1_operations_by_key__key__get",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Key"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationByKey"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "What one of your own idempotency keys produced. `404 no_operation_for_key` means no committed record under the key, which a request still in flight also reads as.",
        "tags": [
          "Your key"
        ]
      }
    },
    "/v1/pairs": {
      "get": {
        "summary": "Pairs",
        "operationId": "pairs_v1_pairs_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pairs"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "What can be converted right now, at the market rate, with the custodian's minimum or `null`.",
        "x-scopes": [
          "quotes:read"
        ],
        "tags": [
          "Conversions"
        ]
      }
    },
    "/v1/payments/proof": {
      "post": {
        "summary": "Prove Payment",
        "operationId": "prove_payment_v1_payments_proof_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProveIn"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Whether one transaction paid an amount to a destination. `PROVEN`, `NOT_PROVEN` or `UNREADABLE`; only `PROVEN` is grounds to act. Reads the chain, writes nothing.",
        "x-scopes": [
          "withdrawals:read"
        ],
        "tags": [
          "Withdrawals"
        ]
      }
    },
    "/v1/quotes": {
      "post": {
        "summary": "Create Quote",
        "operationId": "create_quote_v1_quotes_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateQuote"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Price an operation for a short window. Nothing is reserved. Pass the `id` as `quote_id` to be charged that price.",
        "x-scopes": [
          "quotes:read"
        ],
        "tags": [
          "Conversions"
        ]
      }
    },
    "/v1/register": {
      "get": {
        "summary": "Register",
        "operationId": "register_v1_register_get",
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Kind"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Currency"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Customer Id"
            }
          },
          {
            "name": "acts_for",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Acts For"
            }
          },
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Since"
            }
          },
          {
            "name": "until",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Until"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterPage"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Every operation, newest first, with fee and transaction hash. Pages on an opaque `cursor`.",
        "x-scopes": [
          "register:read"
        ],
        "tags": [
          "Balance and register"
        ]
      }
    },
    "/v1/register/summary": {
      "get": {
        "summary": "Register Summary",
        "operationId": "register_summary_v1_register_summary_get",
        "parameters": [
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Since"
            }
          },
          {
            "name": "until",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Until"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterSummary"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Totals by kind, currency and status, for a period.",
        "x-scopes": [
          "register:read"
        ],
        "tags": [
          "Balance and register"
        ]
      }
    },
    "/v1/register/{operation_id}/movements": {
      "get": {
        "summary": "Movements",
        "operationId": "movements_v1_register__operation_id__movements_get",
        "parameters": [
          {
            "name": "operation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Operation Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Movement"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Every ledger line behind one operation, oldest first.",
        "x-scopes": [
          "register:read"
        ],
        "tags": [
          "Balance and register"
        ]
      }
    },
    "/v1/swaps": {
      "post": {
        "summary": "Create Swap",
        "operationId": "create_swap_v1_swaps_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSwap"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwapOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Convert part of your balance. The source amount, fee included, leaves your balance at once; `to_amount` is set when the custodian reports what arrived.",
        "x-scopes": [
          "swaps:write",
          "customers:read"
        ],
        "x-idempotency-key": "required",
        "tags": [
          "Conversions"
        ]
      },
      "get": {
        "summary": "List Swaps",
        "operationId": "list_swaps_v1_swaps_get",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 50,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SwapOut"
                  },
                  "title": "Response List Swaps V1 Swaps Get"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Your conversions, newest first. `status` filters; an unknown status is refused.",
        "x-scopes": [
          "swaps:read"
        ],
        "tags": [
          "Conversions"
        ]
      }
    },
    "/v1/swaps/{swap_id}": {
      "get": {
        "summary": "Get Swap",
        "operationId": "get_swap_v1_swaps__swap_id__get",
        "parameters": [
          {
            "name": "swap_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Swap Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwapOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "One conversion.",
        "x-scopes": [
          "swaps:read"
        ],
        "tags": [
          "Conversions"
        ]
      }
    },
    "/v1/transfers": {
      "post": {
        "summary": "Create Transfer",
        "operationId": "create_transfer_v1_transfers_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTransfer"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransferOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Create a fiat transfer.",
        "x-scopes": [
          "transfers:write"
        ],
        "x-idempotency-key": "required",
        "tags": [
          "Fiat accounts and transfers"
        ]
      },
      "get": {
        "summary": "List Transfers",
        "operationId": "list_transfers_v1_transfers_get",
        "parameters": [
          {
            "name": "partner_reference",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Partner Reference"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created After"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 200,
              "default": 50,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransferOut"
                  },
                  "title": "Response List Transfers V1 Transfers Get"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Your transfers. Look one up by your own reference.",
        "x-scopes": [
          "transfers:read"
        ],
        "tags": [
          "Fiat accounts and transfers"
        ]
      }
    },
    "/v1/transfers/{transfer_id}": {
      "get": {
        "summary": "Get Transfer",
        "operationId": "get_transfer_v1_transfers__transfer_id__get",
        "parameters": [
          {
            "name": "transfer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Transfer Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransferOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "One transfer.",
        "x-scopes": [
          "transfers:read"
        ],
        "tags": [
          "Fiat accounts and transfers"
        ]
      }
    },
    "/v1/whoami": {
      "get": {
        "summary": "Whoami",
        "operationId": "whoami_v1_whoami_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhoAmIOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "The tenant this key belongs to, the key's prefix, label and scopes, and your payout wallets by network. Any valid key; no scope.",
        "tags": [
          "Your key"
        ]
      }
    },
    "/v1/withdrawals": {
      "post": {
        "summary": "Create Withdrawal",
        "operationId": "create_withdrawal_v1_withdrawals_post",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWithdrawal"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WithdrawalOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Send your balance to your verified address for the currency. The destination is not a request field.",
        "x-scopes": [
          "withdrawals:write"
        ],
        "x-idempotency-key": "required",
        "tags": [
          "Withdrawals"
        ]
      },
      "get": {
        "summary": "List Withdrawals",
        "operationId": "list_withdrawals_v1_withdrawals_get",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 200,
              "minimum": 1,
              "default": 50,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WithdrawalOut"
                  },
                  "title": "Response List Withdrawals V1 Withdrawals Get"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Your withdrawals, newest first.",
        "x-scopes": [
          "withdrawals:read"
        ],
        "tags": [
          "Withdrawals"
        ]
      }
    },
    "/v1/withdrawals/estimate": {
      "get": {
        "summary": "Withdrawal Estimate",
        "operationId": "withdrawal_estimate_v1_withdrawals_estimate_get",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Currency"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WithdrawalEstimate"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "What a withdrawal would cost and what would arrive. Reserves nothing and writes nothing. `network_fee` and `amount_received` are `null` when the network cost is unknown.",
        "x-scopes": [
          "withdrawals:read"
        ],
        "tags": [
          "Withdrawals"
        ]
      }
    },
    "/v1/withdrawals/limit": {
      "get": {
        "summary": "Withdrawal Limit",
        "operationId": "withdrawal_limit_v1_withdrawals_limit_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DailyLimit"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Your rolling 24-hour withdrawal limit: `limit_usd`, `spent_usd`, `remaining_usd`.",
        "x-scopes": [
          "withdrawals:read"
        ],
        "tags": [
          "Withdrawals"
        ]
      }
    },
    "/v1/withdrawals/{withdrawal_id}": {
      "get": {
        "summary": "Get Withdrawal",
        "operationId": "get_withdrawal_v1_withdrawals__withdrawal_id__get",
        "parameters": [
          {
            "name": "withdrawal_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Withdrawal Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WithdrawalOut"
                }
              }
            }
          },
          "422": {
            "description": "Refused; see the error code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "One withdrawal. On settlement: `network_fee` as reported (`null` is not zero) and `tx_hash`.",
        "x-scopes": [
          "withdrawals:read"
        ],
        "tags": [
          "Withdrawals"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AccountOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "currency": {
            "type": "string",
            "title": "Currency"
          },
          "account_holder_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Holder Name"
          },
          "iban": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iban"
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number"
          },
          "sort_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Code"
          },
          "bic": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bic"
          },
          "bank_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Name"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "status",
          "currency"
        ],
        "title": "AccountOut"
      },
      "AddressIn": {
        "properties": {
          "network": {
            "type": "string",
            "maxLength": 20,
            "title": "Network"
          },
          "address": {
            "type": "string",
            "maxLength": 128,
            "title": "Address"
          },
          "reference": {
            "type": "string",
            "maxLength": 200,
            "title": "Reference"
          },
          "watch_from": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watch From"
          },
          "watch_from_block": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Watch From Block"
          }
        },
        "type": "object",
        "required": [
          "network",
          "address",
          "reference"
        ],
        "title": "AddressIn"
      },
      "Beneficiary": {
        "properties": {
          "iban": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 34
              },
              {
                "type": "null"
              }
            ],
            "title": "Iban"
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 34
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number"
          },
          "sort_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Code"
          },
          "routing_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Routing Number"
          },
          "bic": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 11
              },
              {
                "type": "null"
              }
            ],
            "title": "Bic"
          },
          "bank_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 120
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Name"
          },
          "holder_type": {
            "type": "string",
            "pattern": "^(Individual|Business)$",
            "title": "Holder Type",
            "default": "Individual"
          },
          "purpose": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 60
              },
              {
                "type": "null"
              }
            ],
            "title": "Purpose"
          }
        },
        "type": "object",
        "title": "Beneficiary"
      },
      "CategoryTotal": {
        "properties": {
          "kind": {
            "type": "string",
            "title": "Kind"
          },
          "currency": {
            "type": "string",
            "title": "Currency"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "count": {
            "type": "integer",
            "title": "Count"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "customer_fee": {
            "$ref": "#/components/schemas/Money"
          }
        },
        "type": "object",
        "required": [
          "kind",
          "currency",
          "status",
          "count",
          "amount",
          "customer_fee"
        ],
        "title": "CategoryTotal"
      },
      "ChainPayoutAmount": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "title": "Amount",
            "type": "string",
            "description": "A decimal string, e.g. \"100.00\". Never a number."
          },
          "currency": {
            "maxLength": 16,
            "minLength": 2,
            "title": "Currency",
            "type": "string"
          }
        },
        "required": [
          "amount",
          "currency"
        ],
        "title": "ChainPayoutAmount",
        "type": "object"
      },
      "ChainPayoutDestinationIn": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Address",
            "type": "string"
          },
          "memo": {
            "anyOf": [
              {
                "maxLength": 120,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Memo"
          }
        },
        "required": [
          "address"
        ],
        "title": "ChainPayoutDestinationIn",
        "type": "object"
      },
      "ChainPayoutDestinationOut": {
        "properties": {
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Address"
          },
          "memo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memo"
          }
        },
        "type": "object",
        "title": "ChainPayoutDestinationOut"
      },
      "ChainPayoutEstimate": {
        "properties": {
          "network": {
            "type": "string",
            "title": "Network"
          },
          "currency": {
            "type": "string",
            "title": "Currency"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "fee": {
            "$ref": "#/components/schemas/Money"
          },
          "fee_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fee Usd"
          },
          "network_fee": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "network_fee_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Fee Usd"
          },
          "network_fee_charged_to_you": {
            "type": "boolean",
            "title": "Network Fee Charged To You"
          },
          "recipient_holds_asset": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recipient Holds Asset"
          },
          "assumed_worst_case": {
            "type": "boolean",
            "title": "Assumed Worst Case"
          },
          "total_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Usd"
          },
          "usd_unavailable": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Usd Unavailable"
          },
          "payouts_enabled": {
            "type": "boolean",
            "title": "Payouts Enabled"
          },
          "payouts_disabled_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payouts Disabled Reason"
          },
          "limits": {
            "$ref": "#/components/schemas/ChainPayoutLimits"
          },
          "estimated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Estimated At"
          }
        },
        "type": "object",
        "required": [
          "network",
          "currency",
          "amount",
          "fee",
          "network_fee_charged_to_you",
          "assumed_worst_case",
          "usd_unavailable",
          "payouts_enabled",
          "limits",
          "estimated_at"
        ],
        "title": "ChainPayoutEstimate"
      },
      "ChainPayoutLimits": {
        "properties": {
          "per_payout_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Per Payout Usd"
          },
          "daily_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Daily Usd"
          },
          "daily_used_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Daily Used Usd"
          },
          "new_address_daily_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "New Address Daily Usd"
          },
          "review_at_or_above_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Review At Or Above Usd"
          }
        },
        "type": "object",
        "title": "ChainPayoutLimits"
      },
      "ChainPayoutOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "review": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Review"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "network": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network"
          },
          "destination": {
            "$ref": "#/components/schemas/ChainPayoutDestinationOut"
          },
          "from_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "From Address"
          },
          "tx_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tx Hash"
          },
          "failure_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Failure Reason"
          },
          "reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reference"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "settled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Settled At"
          },
          "unresolved": {
            "type": "boolean",
            "title": "Unresolved",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "status",
          "amount",
          "destination",
          "created_at"
        ],
        "title": "ChainPayoutOut"
      },
      "CreateAccount": {
        "properties": {
          "customer_id": {
            "type": "string",
            "format": "uuid",
            "title": "Customer Id"
          },
          "currency": {
            "type": "string",
            "maxLength": 16,
            "minLength": 3,
            "title": "Currency"
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          }
        },
        "type": "object",
        "required": [
          "customer_id",
          "currency"
        ],
        "title": "CreateAccount"
      },
      "CreateChainPayout": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ChainPayoutAmount"
          },
          "network": {
            "maxLength": 20,
            "minLength": 2,
            "title": "Network",
            "type": "string"
          },
          "destination": {
            "$ref": "#/components/schemas/ChainPayoutDestinationIn"
          },
          "reference": {
            "pattern": "^[\\x21-\\x7e]{1,120}$",
            "title": "Reference",
            "type": "string"
          },
          "tenant": {
            "anyOf": [
              {
                "pattern": "^[a-z0-9][a-z0-9-]{0,39}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Tenant"
          }
        },
        "required": [
          "amount",
          "network",
          "destination",
          "reference"
        ],
        "title": "CreateChainPayout",
        "type": "object"
      },
      "CreateCustomer": {
        "properties": {
          "external_id": {
            "type": "string",
            "maxLength": 120,
            "title": "External Id",
            "description": "Your identifier for this person."
          },
          "is_business": {
            "type": "boolean",
            "title": "Is Business",
            "default": false
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          }
        },
        "type": "object",
        "required": [
          "external_id"
        ],
        "title": "CreateCustomer"
      },
      "CreateQuote": {
        "properties": {
          "product": {
            "type": "string",
            "title": "Product",
            "description": "ON_RAMP, OFF_RAMP, BANK_TRANSFER, SWAP, ..."
          },
          "amount": {
            "$ref": "#/components/schemas/MoneyIn"
          },
          "customer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Customer Id"
          },
          "rail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail"
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "to_currency": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 16,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "To Currency"
          }
        },
        "type": "object",
        "required": [
          "product",
          "amount"
        ],
        "title": "CreateQuote"
      },
      "CreateSwap": {
        "properties": {
          "customer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Customer Id"
          },
          "amount": {
            "$ref": "#/components/schemas/MoneyIn"
          },
          "to_currency": {
            "type": "string",
            "maxLength": 16,
            "minLength": 2,
            "title": "To Currency"
          },
          "quote_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Quote Id"
          },
          "partner_reference": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 120
              },
              {
                "type": "null"
              }
            ],
            "title": "Partner Reference"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "to_currency"
        ],
        "title": "CreateSwap"
      },
      "CreateTransfer": {
        "properties": {
          "kind": {
            "type": "string",
            "title": "Kind",
            "description": "ON_RAMP, OFF_RAMP, BANK_TRANSFER, INTERNAL_TRANSFER, REFUND"
          },
          "customer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Customer Id"
          },
          "acts_for": {
            "type": "string",
            "title": "Acts For",
            "default": "CUSTOMER"
          },
          "amount": {
            "$ref": "#/components/schemas/MoneyIn"
          },
          "beneficiary_name": {
            "type": "string",
            "maxLength": 200,
            "title": "Beneficiary Name"
          },
          "beneficiary_account": {
            "type": "string",
            "maxLength": 64,
            "title": "Beneficiary Account"
          },
          "beneficiary_country": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Beneficiary Country"
          },
          "rail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail"
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "quote_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Quote Id"
          },
          "beneficiary": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Beneficiary"
              },
              {
                "type": "null"
              }
            ]
          },
          "partner_reference": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 120
              },
              {
                "type": "null"
              }
            ],
            "title": "Partner Reference"
          }
        },
        "type": "object",
        "required": [
          "kind",
          "amount",
          "beneficiary_name",
          "beneficiary_account"
        ],
        "title": "CreateTransfer"
      },
      "CreateWithdrawal": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/MoneyIn"
          },
          "partner_reference": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 120
              },
              {
                "type": "null"
              }
            ],
            "title": "Partner Reference"
          }
        },
        "type": "object",
        "required": [
          "amount"
        ],
        "title": "CreateWithdrawal"
      },
      "Currencies": {
        "properties": {
          "currencies": {
            "items": {
              "$ref": "#/components/schemas/CurrencyOut"
            },
            "type": "array",
            "title": "Currencies"
          },
          "custodian_read": {
            "type": "boolean",
            "title": "Custodian Read"
          },
          "as_of": {
            "type": "string",
            "format": "date-time",
            "title": "As Of"
          }
        },
        "type": "object",
        "required": [
          "currencies",
          "custodian_read",
          "as_of"
        ],
        "title": "Currencies"
      },
      "CurrencyOut": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "kind": {
            "type": "string",
            "title": "Kind"
          },
          "network": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network"
          },
          "custodian_lists": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custodian Lists"
          },
          "priced": {
            "type": "boolean",
            "title": "Priced"
          },
          "payable_out": {
            "type": "boolean",
            "title": "Payable Out"
          }
        },
        "type": "object",
        "required": [
          "code",
          "name",
          "kind",
          "priced",
          "payable_out"
        ],
        "title": "CurrencyOut"
      },
      "CustomerOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "external_id": {
            "type": "string",
            "title": "External Id"
          },
          "is_business": {
            "type": "boolean",
            "title": "Is Business"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          }
        },
        "type": "object",
        "required": [
          "id",
          "external_id",
          "is_business",
          "country"
        ],
        "title": "CustomerOut"
      },
      "DailyLimit": {
        "properties": {
          "limit_usd": {
            "type": "string",
            "title": "Limit Usd"
          },
          "spent_usd": {
            "type": "string",
            "title": "Spent Usd"
          },
          "remaining_usd": {
            "type": "string",
            "title": "Remaining Usd"
          }
        },
        "type": "object",
        "required": [
          "limit_usd",
          "spent_usd",
          "remaining_usd"
        ],
        "title": "DailyLimit"
      },
      "DepositAddressOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "network": {
            "type": "string",
            "title": "Network"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "reference": {
            "type": "string",
            "title": "Reference"
          },
          "source": {
            "type": "string",
            "title": "Source",
            "default": "REGISTERED",
            "description": "REGISTERED, DERIVED, CORE_ISSUED or CORE_IMPORTED"
          },
          "xpub_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Xpub Id"
          },
          "seed_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seed Id"
          },
          "derivation_index": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Derivation Index"
          },
          "watch_from": {
            "type": "string",
            "format": "date-time",
            "title": "Watch From"
          },
          "watch_from_block": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watch From Block"
          },
          "sweep_held_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sweep Held At"
          },
          "sweep_hold_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sweep Hold Reason"
          },
          "sweep_hold_kind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sweep Hold Kind",
            "description": "Why sweeping is held: ISSUANCE, IMPORT, ARRIVAL, OWNER (set by you) or OPERATOR (set by us). null when not held."
          },
          "retired_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retired At"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "watch_now_until": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watch Now Until"
          },
          "sweeps_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sweeps Enabled",
            "description": "Whether we sweep it. null when we hold no key for it."
          },
          "watched_networks": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watched Networks",
            "description": "The networks this address is read on. Empty when retired; null on older records."
          },
          "sibling_of": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sibling Of",
            "description": "The issued address this one shares a key with, registered on this network when an arrival was found here."
          }
        },
        "type": "object",
        "required": [
          "id",
          "network",
          "address",
          "reference",
          "watch_from",
          "created_at"
        ],
        "title": "DepositAddressOut"
      },
      "DepositAddressPage": {
        "properties": {
          "addresses": {
            "items": {
              "$ref": "#/components/schemas/DepositAddressOut"
            },
            "type": "array",
            "title": "Addresses"
          },
          "next_after": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next After"
          }
        },
        "type": "object",
        "required": [
          "addresses"
        ],
        "title": "DepositAddressPage"
      },
      "DepositKeyIn": {
        "properties": {
          "network": {
            "type": "string",
            "maxLength": 20,
            "title": "Network"
          },
          "address": {
            "type": "string",
            "maxLength": 128,
            "title": "Address"
          },
          "wrapped_b64": {
            "type": "string",
            "maxLength": 8000,
            "minLength": 1,
            "title": "Wrapped B64"
          },
          "algorithm": {
            "type": "string",
            "maxLength": 32,
            "title": "Algorithm",
            "default": "RSAES_OAEP_SHA_256"
          },
          "source_system": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 40
              },
              {
                "type": "null"
              }
            ],
            "title": "Source System"
          },
          "source_reference": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Reference"
          }
        },
        "type": "object",
        "required": [
          "network",
          "address",
          "wrapped_b64"
        ],
        "title": "DepositKeyIn"
      },
      "DepositKeyOut": {
        "properties": {
          "network": {
            "type": "string",
            "title": "Network"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "origin": {
            "type": "string",
            "title": "Origin"
          },
          "address_matches": {
            "type": "boolean",
            "title": "Address Matches"
          },
          "sweeps_enabled": {
            "type": "boolean",
            "title": "Sweeps Enabled"
          },
          "checked_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Checked By"
          },
          "wrapped_key_id": {
            "type": "string",
            "title": "Wrapped Key Id"
          },
          "algorithm": {
            "type": "string",
            "title": "Algorithm"
          },
          "source_system": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source System"
          },
          "source_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Reference"
          },
          "imported_at": {
            "type": "string",
            "format": "date-time",
            "title": "Imported At"
          }
        },
        "type": "object",
        "required": [
          "network",
          "address",
          "origin",
          "address_matches",
          "sweeps_enabled",
          "wrapped_key_id",
          "algorithm",
          "imported_at"
        ],
        "title": "DepositKeyOut"
      },
      "DepositPage": {
        "properties": {
          "deposits": {
            "items": {
              "$ref": "#/components/schemas/DepositOut"
            },
            "type": "array",
            "title": "Deposits"
          },
          "next_after": {
            "type": "integer",
            "title": "Next After"
          }
        },
        "type": "object",
        "required": [
          "deposits",
          "next_after"
        ],
        "title": "DepositPage"
      },
      "DeriveIn": {
        "properties": {
          "network": {
            "type": "string",
            "maxLength": 20,
            "title": "Network"
          },
          "reference": {
            "type": "string",
            "maxLength": 200,
            "title": "Reference"
          },
          "count": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Count"
          }
        },
        "type": "object",
        "required": [
          "network",
          "reference",
          "count"
        ],
        "title": "DeriveIn"
      },
      "DerivedOut": {
        "properties": {
          "xpub_id": {
            "type": "string",
            "format": "uuid",
            "title": "Xpub Id"
          },
          "network": {
            "type": "string",
            "title": "Network"
          },
          "next_index": {
            "type": "integer",
            "title": "Next Index"
          },
          "addresses": {
            "items": {
              "$ref": "#/components/schemas/DepositAddressOut"
            },
            "type": "array",
            "title": "Addresses"
          }
        },
        "type": "object",
        "required": [
          "xpub_id",
          "network",
          "next_index",
          "addresses"
        ],
        "title": "DerivedOut"
      },
      "DestinationOut": {
        "properties": {
          "currency": {
            "type": "string",
            "title": "Currency"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "memo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memo"
          },
          "label": {
            "type": "string",
            "title": "Label"
          },
          "verified": {
            "type": "boolean",
            "title": "Verified"
          },
          "verified_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verified At"
          },
          "rejected_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rejected At"
          },
          "rejected_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rejected Reason"
          }
        },
        "type": "object",
        "required": [
          "currency",
          "address",
          "label",
          "verified"
        ],
        "title": "DestinationOut"
      },
      "EntryOut": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "direction": {
            "type": "string",
            "title": "Direction"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "posted_at": {
            "type": "string",
            "format": "date-time",
            "title": "Posted At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "direction",
          "amount",
          "description",
          "posted_at"
        ],
        "title": "EntryOut"
      },
      "Error": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "class",
              "retriable",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "branch on this"
              },
              "class": {
                "type": "string",
                "enum": [
                  "client",
                  "server",
                  "unresolved"
                ]
              },
              "retriable": {
                "type": "boolean"
              },
              "message": {
                "type": "string"
              },
              "detail": {
                "type": "object",
                "nullable": true
              }
            }
          }
        }
      },
      "EventOut": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "kind": {
            "type": "string",
            "title": "Kind"
          },
          "resource_id": {
            "type": "string",
            "format": "uuid",
            "title": "Resource Id"
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "title": "Occurred At"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "id",
          "kind",
          "resource_id",
          "occurred_at",
          "data"
        ],
        "title": "EventOut"
      },
      "EventPage": {
        "properties": {
          "events": {
            "items": {
              "$ref": "#/components/schemas/EventOut"
            },
            "type": "array",
            "title": "Events"
          },
          "next_after": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next After"
          }
        },
        "type": "object",
        "required": [
          "events",
          "next_after"
        ],
        "title": "EventPage"
      },
      "FeeSchedule": {
        "properties": {
          "product": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Product"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency"
          },
          "rail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail"
          },
          "percent": {
            "type": "string",
            "title": "Percent"
          },
          "minimum_fee": {
            "type": "string",
            "title": "Minimum Fee"
          },
          "priority": {
            "type": "integer",
            "title": "Priority"
          },
          "effective_from": {
            "type": "string",
            "format": "date-time",
            "title": "Effective From"
          }
        },
        "type": "object",
        "required": [
          "percent",
          "minimum_fee",
          "priority",
          "effective_from"
        ],
        "title": "FeeSchedule"
      },
      "Fees": {
        "properties": {
          "fees": {
            "items": {
              "$ref": "#/components/schemas/FeeSchedule"
            },
            "type": "array",
            "title": "Fees"
          }
        },
        "type": "object",
        "required": [
          "fees"
        ],
        "title": "Fees"
      },
      "FloatBalance": {
        "properties": {
          "available": {
            "$ref": "#/components/schemas/Money"
          },
          "held": {
            "$ref": "#/components/schemas/Money"
          },
          "total": {
            "$ref": "#/components/schemas/Money"
          }
        },
        "type": "object",
        "required": [
          "available",
          "held",
          "total"
        ],
        "title": "FloatBalance"
      },
      "FloatMovement": {
        "properties": {
          "posted_at": {
            "type": "string",
            "format": "date-time",
            "title": "Posted At"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "balance": {
            "$ref": "#/components/schemas/Money"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "operation_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Operation Id"
          },
          "kind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kind"
          },
          "reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reference"
          }
        },
        "type": "object",
        "required": [
          "posted_at",
          "amount",
          "balance",
          "description"
        ],
        "title": "FloatMovement"
      },
      "FloatOut": {
        "properties": {
          "currencies": {
            "items": {
              "$ref": "#/components/schemas/FloatBalance"
            },
            "type": "array",
            "title": "Currencies"
          }
        },
        "type": "object",
        "required": [
          "currencies"
        ],
        "title": "FloatOut"
      },
      "FloatStatement": {
        "properties": {
          "currency": {
            "type": "string",
            "title": "Currency"
          },
          "opening_balance": {
            "$ref": "#/components/schemas/Money"
          },
          "closing_balance": {
            "$ref": "#/components/schemas/Money"
          },
          "movements": {
            "items": {
              "$ref": "#/components/schemas/FloatMovement"
            },
            "type": "array",
            "title": "Movements"
          },
          "truncated": {
            "type": "boolean",
            "title": "Truncated",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "currency",
          "opening_balance",
          "closing_balance",
          "movements"
        ],
        "title": "FloatStatement"
      },
      "IdentityIn": {
        "properties": {
          "first_name": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "First Name"
          },
          "last_name": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Last Name"
          },
          "middle_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ],
            "title": "Middle Name"
          },
          "date_of_birth": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "title": "Date Of Birth"
          },
          "document_kind": {
            "type": "string",
            "maxLength": 40,
            "title": "Document Kind"
          },
          "document_number": {
            "type": "string",
            "maxLength": 36,
            "minLength": 1,
            "title": "Document Number"
          },
          "document_country": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "title": "Document Country"
          },
          "document_issued": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Document Issued"
          },
          "document_expires": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Document Expires"
          },
          "residence_street": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Residence Street"
          },
          "residence_city": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Residence City"
          },
          "residence_postcode": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Residence Postcode"
          },
          "residence_state": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Residence State"
          },
          "residence_country": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Residence Country"
          },
          "email": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\+[0-9]{6,15}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          }
        },
        "type": "object",
        "required": [
          "first_name",
          "last_name",
          "date_of_birth",
          "document_kind",
          "document_number",
          "document_country"
        ],
        "title": "IdentityIn"
      },
      "IssueIn": {
        "properties": {
          "network": {
            "type": "string",
            "maxLength": 20,
            "title": "Network"
          },
          "reference": {
            "type": "string",
            "maxLength": 200,
            "title": "Reference"
          },
          "count": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Count"
          }
        },
        "type": "object",
        "required": [
          "network",
          "reference",
          "count"
        ],
        "title": "IssueIn"
      },
      "IssuedOut": {
        "properties": {
          "seed_id": {
            "type": "string",
            "format": "uuid",
            "title": "Seed Id"
          },
          "network": {
            "type": "string",
            "title": "Network"
          },
          "next_index": {
            "type": "integer",
            "title": "Next Index"
          },
          "addresses": {
            "items": {
              "$ref": "#/components/schemas/DepositAddressOut"
            },
            "type": "array",
            "title": "Addresses"
          }
        },
        "type": "object",
        "required": [
          "seed_id",
          "network",
          "next_index",
          "addresses"
        ],
        "title": "IssuedOut"
      },
      "ItemError": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "message": {
            "type": "string",
            "title": "Message"
          }
        },
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "title": "ItemError"
      },
      "Limits": {
        "properties": {
          "requests": {
            "$ref": "#/components/schemas/RequestLimits"
          },
          "money": {
            "$ref": "#/components/schemas/MoneyLimits"
          }
        },
        "type": "object",
        "required": [
          "requests",
          "money"
        ],
        "title": "Limits"
      },
      "Money": {
        "properties": {
          "amount": {
            "type": "string",
            "title": "Amount",
            "description": "A decimal string, e.g. \"100.00\". Never a number."
          },
          "currency": {
            "type": "string",
            "maxLength": 16,
            "minLength": 2,
            "title": "Currency"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "currency"
        ],
        "title": "Money"
      },
      "MoneyIn": {
        "properties": {
          "amount": {
            "type": "string",
            "title": "Amount",
            "description": "A decimal string, e.g. \"100.00\". Never a number."
          },
          "currency": {
            "type": "string",
            "maxLength": 16,
            "minLength": 2,
            "title": "Currency"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "currency"
        ],
        "title": "MoneyIn"
      },
      "MoneyLimits": {
        "properties": {
          "withdrawal_limit_usd": {
            "type": "string",
            "title": "Withdrawal Limit Usd"
          },
          "withdrawal_spent_usd": {
            "type": "string",
            "title": "Withdrawal Spent Usd"
          },
          "withdrawal_remaining_usd": {
            "type": "string",
            "title": "Withdrawal Remaining Usd"
          },
          "withdrawal_window_hours": {
            "type": "integer",
            "title": "Withdrawal Window Hours"
          }
        },
        "type": "object",
        "required": [
          "withdrawal_limit_usd",
          "withdrawal_spent_usd",
          "withdrawal_remaining_usd",
          "withdrawal_window_hours"
        ],
        "title": "MoneyLimits"
      },
      "Movement": {
        "properties": {
          "operation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Operation Id"
          },
          "kind": {
            "type": "string",
            "title": "Kind"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "legs": {
            "items": {
              "$ref": "#/components/schemas/MovementLeg"
            },
            "type": "array",
            "title": "Legs"
          }
        },
        "type": "object",
        "required": [
          "operation_id",
          "kind",
          "status",
          "legs"
        ],
        "title": "Movement"
      },
      "MovementLeg": {
        "properties": {
          "account": {
            "type": "string",
            "title": "Account"
          },
          "direction": {
            "type": "string",
            "title": "Direction"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "what": {
            "type": "string",
            "title": "What"
          },
          "posted_at": {
            "type": "string",
            "format": "date-time",
            "title": "Posted At"
          }
        },
        "type": "object",
        "required": [
          "account",
          "direction",
          "amount",
          "what",
          "posted_at"
        ],
        "title": "MovementLeg"
      },
      "OperationByKey": {
        "properties": {
          "key": {
            "type": "string",
            "title": "Key"
          },
          "endpoint": {
            "type": "string",
            "title": "Endpoint"
          },
          "claimed_at": {
            "type": "string",
            "format": "date-time",
            "title": "Claimed At"
          },
          "completed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "state": {
            "type": "string",
            "title": "State"
          },
          "response_status": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Response Status"
          },
          "operation": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Operation"
          }
        },
        "type": "object",
        "required": [
          "key",
          "endpoint",
          "claimed_at",
          "state"
        ],
        "title": "OperationByKey"
      },
      "Pair": {
        "properties": {
          "from_currency": {
            "type": "string",
            "title": "From Currency"
          },
          "to_currency": {
            "type": "string",
            "title": "To Currency"
          },
          "rate": {
            "type": "string",
            "title": "Rate"
          },
          "rate_age_seconds": {
            "type": "integer",
            "title": "Rate Age Seconds"
          },
          "minimum": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Minimum"
          }
        },
        "type": "object",
        "required": [
          "from_currency",
          "to_currency",
          "rate",
          "rate_age_seconds"
        ],
        "title": "Pair"
      },
      "Pairs": {
        "properties": {
          "pairs": {
            "items": {
              "$ref": "#/components/schemas/Pair"
            },
            "type": "array",
            "title": "Pairs"
          }
        },
        "type": "object",
        "required": [
          "pairs"
        ],
        "title": "Pairs"
      },
      "ProofOut": {
        "properties": {
          "verdict": {
            "type": "string",
            "title": "Verdict",
            "description": "PROVEN, NOT_PROVEN or UNREADABLE. Only PROVEN is grounds to act."
          },
          "detail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Detail",
            "description": "With PROVEN: what the chain carries."
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason",
            "description": "With NOT_PROVEN or UNREADABLE: why."
          }
        },
        "type": "object",
        "required": [
          "verdict"
        ],
        "title": "ProofOut"
      },
      "ProveIn": {
        "properties": {
          "rail": {
            "$ref": "#/components/schemas/RailIn"
          },
          "tx_hash": {
            "type": "string",
            "maxLength": 80,
            "title": "Tx Hash"
          },
          "destination": {
            "type": "string",
            "maxLength": 128,
            "title": "Destination"
          },
          "amount": {
            "$ref": "#/components/schemas/MoneyIn"
          },
          "senders": {
            "items": {
              "type": "string",
              "maxLength": 128
            },
            "type": "array",
            "maxItems": 50,
            "title": "Senders"
          },
          "memo": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 28
              },
              {
                "type": "null"
              }
            ],
            "title": "Memo"
          }
        },
        "type": "object",
        "required": [
          "rail",
          "tx_hash",
          "destination",
          "amount",
          "senders"
        ],
        "title": "ProveIn"
      },
      "QuoteOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "customer_fee": {
            "$ref": "#/components/schemas/Money"
          },
          "amount_received": {
            "$ref": "#/components/schemas/Money"
          },
          "exchange_rate": {
            "type": "string",
            "title": "Exchange Rate"
          },
          "provider": {
            "type": "string",
            "title": "Provider"
          },
          "binding_floor": {
            "type": "string",
            "title": "Binding Floor"
          },
          "rule_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rule Id"
          },
          "to_currency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "To Currency"
          },
          "rate_source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate Source"
          },
          "rate_observed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate Observed At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "expires_at",
          "amount",
          "customer_fee",
          "amount_received",
          "exchange_rate",
          "provider",
          "binding_floor"
        ],
        "title": "QuoteOut"
      },
      "RailIn": {
        "properties": {
          "currency": {
            "type": "string",
            "maxLength": 16,
            "title": "Currency",
            "description": "USDT_TRC20, ETH, BTC, XLM, ..."
          },
          "network": {
            "type": "string",
            "maxLength": 20,
            "title": "Network",
            "description": "tron, ethereum, bsc, base, bitcoin or stellar"
          }
        },
        "type": "object",
        "required": [
          "currency",
          "network"
        ],
        "title": "RailIn"
      },
      "RegisterAddresses": {
        "properties": {
          "addresses": {
            "items": {
              "$ref": "#/components/schemas/AddressIn"
            },
            "type": "array",
            "maxItems": 500,
            "minItems": 1,
            "title": "Addresses"
          }
        },
        "type": "object",
        "required": [
          "addresses"
        ],
        "title": "RegisterAddresses"
      },
      "RegisterEntry": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "kind": {
            "type": "string",
            "title": "Kind"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "customer_fee": {
            "$ref": "#/components/schemas/Money"
          },
          "to_amount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "to_amount_quoted": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "customer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Customer Id"
          },
          "acts_for": {
            "type": "string",
            "title": "Acts For",
            "default": "CUSTOMER"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "provider_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Reference"
          },
          "partner_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Partner Reference"
          },
          "network_fee": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "tx_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tx Hash"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "settled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Settled At"
          },
          "unresolved": {
            "type": "boolean",
            "title": "Unresolved",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "kind",
          "status",
          "amount",
          "customer_fee",
          "created_at"
        ],
        "title": "RegisterEntry"
      },
      "RegisterPage": {
        "properties": {
          "entries": {
            "items": {
              "$ref": "#/components/schemas/RegisterEntry"
            },
            "type": "array",
            "title": "Entries"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "type": "object",
        "required": [
          "entries"
        ],
        "title": "RegisterPage"
      },
      "RegisterSummary": {
        "properties": {
          "since": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Since"
          },
          "until": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Until"
          },
          "totals": {
            "items": {
              "$ref": "#/components/schemas/CategoryTotal"
            },
            "type": "array",
            "title": "Totals"
          }
        },
        "type": "object",
        "required": [
          "totals"
        ],
        "title": "RegisterSummary"
      },
      "RegisteredWithProvider": {
        "properties": {
          "customer_id": {
            "type": "string",
            "format": "uuid",
            "title": "Customer Id"
          },
          "provider": {
            "type": "string",
            "title": "Provider"
          },
          "provider_customer_id": {
            "type": "string",
            "title": "Provider Customer Id"
          },
          "newly_registered": {
            "type": "boolean",
            "title": "Newly Registered"
          }
        },
        "type": "object",
        "required": [
          "customer_id",
          "provider",
          "provider_customer_id",
          "newly_registered"
        ],
        "title": "RegisteredWithProvider"
      },
      "RegistrationPage": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/RegistrationResult"
            },
            "type": "array",
            "title": "Results"
          }
        },
        "type": "object",
        "required": [
          "results"
        ],
        "title": "RegistrationPage"
      },
      "RegistrationResult": {
        "properties": {
          "index": {
            "type": "integer",
            "title": "Index"
          },
          "status": {
            "type": "string",
            "title": "Status",
            "description": "registered, existing or refused"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DepositAddressOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemError"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "index",
          "status"
        ],
        "title": "RegistrationResult"
      },
      "RequestLimits": {
        "properties": {
          "reads_per_minute": {
            "type": "integer",
            "title": "Reads Per Minute"
          },
          "writes_per_minute": {
            "type": "integer",
            "title": "Writes Per Minute"
          },
          "tenant_ceiling_per_minute": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tenant Ceiling Per Minute"
          },
          "window_seconds": {
            "type": "integer",
            "title": "Window Seconds"
          },
          "idempotency_key_max_length": {
            "type": "integer",
            "title": "Idempotency Key Max Length"
          },
          "quote_lifetime_seconds": {
            "type": "integer",
            "title": "Quote Lifetime Seconds"
          }
        },
        "type": "object",
        "required": [
          "reads_per_minute",
          "writes_per_minute",
          "window_seconds",
          "idempotency_key_max_length",
          "quote_lifetime_seconds"
        ],
        "title": "RequestLimits"
      },
      "SwapOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "customer_fee": {
            "$ref": "#/components/schemas/Money"
          },
          "to_amount_quoted": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "to_amount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "partner_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Partner Reference"
          },
          "provider_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Reference"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "settled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Settled At"
          },
          "unresolved": {
            "type": "boolean",
            "title": "Unresolved",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "status",
          "amount",
          "customer_fee",
          "created_at"
        ],
        "title": "SwapOut"
      },
      "SweepHold": {
        "properties": {
          "held": {
            "type": "boolean",
            "title": "Held"
          },
          "reason": {
            "type": "string",
            "maxLength": 200,
            "minLength": 3,
            "title": "Reason"
          },
          "seen_through": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Seen Through",
            "description": "With held: false only. The change_seq of GET /v1/deposits you have read through; a release is refused while a newer arrival on the address exists."
          }
        },
        "type": "object",
        "required": [
          "held",
          "reason"
        ],
        "title": "SweepHold"
      },
      "TransferOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "kind": {
            "type": "string",
            "title": "Kind"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "customer_fee": {
            "$ref": "#/components/schemas/Money"
          },
          "amount_received": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "quote_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Quote Id"
          },
          "partner_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Partner Reference"
          },
          "provider_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Reference"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "settled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Settled At"
          },
          "unresolved": {
            "type": "boolean",
            "title": "Unresolved",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "kind",
          "status",
          "amount",
          "customer_fee",
          "created_at"
        ],
        "title": "TransferOut"
      },
      "VerificationOut": {
        "properties": {
          "status": {
            "type": "string",
            "title": "Status"
          },
          "capabilities": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Capabilities"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "environment": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "production",
                  "sandbox"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Environment"
          }
        },
        "type": "object",
        "required": [
          "status",
          "capabilities"
        ],
        "title": "VerificationOut"
      },
      "VerificationStarted": {
        "properties": {
          "customer_id": {
            "type": "string",
            "format": "uuid",
            "title": "Customer Id"
          },
          "applicant_id": {
            "type": "string",
            "title": "Applicant Id"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "newly_created": {
            "type": "boolean",
            "title": "Newly Created"
          },
          "verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verification Url"
          },
          "verification_url_expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verification Url Expires At"
          }
        },
        "type": "object",
        "required": [
          "customer_id",
          "applicant_id",
          "status",
          "newly_created"
        ],
        "title": "VerificationStarted"
      },
      "WhoAmIKey": {
        "properties": {
          "prefix": {
            "type": "string",
            "title": "Prefix"
          },
          "label": {
            "type": "string",
            "title": "Label"
          },
          "scopes": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Scopes"
          }
        },
        "type": "object",
        "required": [
          "prefix",
          "label",
          "scopes"
        ],
        "title": "WhoAmIKey"
      },
      "WhoAmIOut": {
        "properties": {
          "tenant": {
            "$ref": "#/components/schemas/WhoAmITenant"
          },
          "key": {
            "$ref": "#/components/schemas/WhoAmIKey"
          },
          "payout_wallets": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Payout Wallets"
          }
        },
        "type": "object",
        "required": [
          "tenant",
          "key",
          "payout_wallets"
        ],
        "title": "WhoAmIOut"
      },
      "WhoAmITenant": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "slug": {
            "type": "string",
            "title": "Slug"
          },
          "kind": {
            "type": "string",
            "title": "Kind"
          },
          "status": {
            "type": "string",
            "title": "Status"
          }
        },
        "type": "object",
        "required": [
          "id",
          "slug",
          "kind",
          "status"
        ],
        "title": "WhoAmITenant"
      },
      "WithdrawalEstimate": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "fee": {
            "$ref": "#/components/schemas/Money"
          },
          "fee_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fee Usd"
          },
          "network_fee": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "network_fee_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Fee Usd"
          },
          "amount_received": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "usd_unavailable": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Usd Unavailable"
          },
          "estimated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Estimated At"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "fee",
          "usd_unavailable",
          "estimated_at"
        ],
        "title": "WithdrawalEstimate"
      },
      "WithdrawalOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "customer_fee": {
            "$ref": "#/components/schemas/Money"
          },
          "destination": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Destination"
          },
          "destination_memo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Destination Memo"
          },
          "partner_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Partner Reference"
          },
          "provider_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Reference"
          },
          "network_fee": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Money"
              },
              {
                "type": "null"
              }
            ]
          },
          "tx_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tx Hash"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "settled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Settled At"
          },
          "unresolved": {
            "type": "boolean",
            "title": "Unresolved",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "status",
          "amount",
          "customer_fee",
          "created_at"
        ],
        "title": "WithdrawalOut"
      },
      "XpubIn": {
        "properties": {
          "network": {
            "type": "string",
            "maxLength": 20,
            "title": "Network"
          },
          "xpub": {
            "type": "string",
            "maxLength": 200,
            "title": "Xpub"
          },
          "index_from": {
            "type": "integer",
            "exclusiveMaximum": 2147483648.0,
            "minimum": 0.0,
            "title": "Index From"
          },
          "index_to": {
            "type": "integer",
            "maximum": 2147483648.0,
            "exclusiveMinimum": 0.0,
            "title": "Index To"
          }
        },
        "type": "object",
        "required": [
          "network",
          "xpub",
          "index_from",
          "index_to"
        ],
        "title": "XpubIn"
      },
      "XpubOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "network": {
            "type": "string",
            "title": "Network"
          },
          "xpub": {
            "type": "string",
            "title": "Xpub"
          },
          "index_from": {
            "type": "integer",
            "title": "Index From"
          },
          "index_to": {
            "type": "integer",
            "title": "Index To"
          },
          "next_index": {
            "type": "integer",
            "title": "Next Index"
          },
          "retired_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retired At"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "network",
          "xpub",
          "index_from",
          "index_to",
          "next_index",
          "created_at"
        ],
        "title": "XpubOut"
      },
      "XpubPage": {
        "properties": {
          "xpubs": {
            "items": {
              "$ref": "#/components/schemas/XpubOut"
            },
            "type": "array",
            "title": "Xpubs"
          }
        },
        "type": "object",
        "required": [
          "xpubs"
        ],
        "title": "XpubPage"
      },
      "DepositOut": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "network": {
            "type": "string",
            "title": "Network"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "reference": {
            "type": "string",
            "title": "Reference"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "amount_units": {
            "type": "string",
            "title": "Amount Units"
          },
          "tx_hash": {
            "type": "string",
            "title": "Tx Hash"
          },
          "transfer_index": {
            "type": "integer",
            "title": "Transfer Index"
          },
          "legacy_key": {
            "type": "string",
            "title": "Legacy Key"
          },
          "from_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "From Address"
          },
          "block_number": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Block Number"
          },
          "block_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Block Time"
          },
          "confirmations": {
            "type": "integer",
            "title": "Confirmations"
          },
          "required_confirmations": {
            "type": "integer",
            "title": "Required Confirmations"
          },
          "status": {
            "type": "string",
            "title": "Status",
            "description": "DETECTED, CONFIRMED or REORGED"
          },
          "historical": {
            "type": "boolean",
            "title": "Historical"
          },
          "detected_at": {
            "type": "string",
            "format": "date-time",
            "title": "Detected At"
          },
          "confirmed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confirmed At"
          },
          "reorged_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reorged At"
          },
          "change_seq": {
            "type": "integer",
            "title": "Change Seq"
          }
        },
        "type": "object",
        "required": [
          "id",
          "network",
          "address",
          "reference",
          "amount",
          "amount_units",
          "tx_hash",
          "transfer_index",
          "legacy_key",
          "confirmations",
          "required_confirmations",
          "status",
          "historical",
          "detected_at",
          "change_seq"
        ],
        "title": "DepositOut"
      }
    },
    "securitySchemes": {
      "bearer": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}
