{
  "openapi": "3.1.0",
  "info": {
    "title": "Cryptoway - Public API",
    "description": "Integration docs: <a href='https://cryptoway.com/public/docs/'>https://cryptoway.com/public/docs/</a>",
    "version": "0.3.57"
  },
  "paths": {
    "/user/address/": {
      "get": {
        "tags": [
          "user_address"
        ],
        "summary": "Get User Addresses",
        "description": "Retrieves a paginated list of addresses for the authenticated user, with optional filtering and sorting.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_user_addresses_user_address__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "symbol_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Symbol Id"
            }
          },
          {
            "name": "order_type",
            "in": "query",
            "required": false,
            "schema": {
              "const": "created_at",
              "type": "string",
              "default": "created_at",
              "title": "Order Type"
            }
          },
          {
            "name": "order_asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true,
              "title": "Order Asc"
            }
          },
          {
            "name": "search_query",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Query"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "title": "Per Page"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "title": "Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_UserWalletDTO_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "user_address"
        ],
        "summary": "Create User Address",
        "description": "Creates a new address for the authenticated user associated with a specific symbol.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "create_user_address_user_address__post",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserWalletCreateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserWalletDTO"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "virtual_symbol": {
                    "summary": "virtual_symbol",
                    "value": {
                      "detail": "Cannot create address for virtual symbol. Use specific network symbol (e.g., USDTBEP20, USDTERC20)"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "symbol_not_found": {
                    "summary": "symbol_not_found",
                    "value": {
                      "detail": "Symbol not found"
                    }
                  },
                  "provider_not_found": {
                    "summary": "provider_not_found",
                    "value": {
                      "detail": "Blockchain provider not found"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/user/address/balance/{symbol_id}/": {
      "get": {
        "tags": [
          "user_address"
        ],
        "summary": "Get Last Balance Deposit Address",
        "description": "Retrieves a paginated list of addresses for the authenticated user, with optional filtering and sorting.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_last_balance_deposit_address_user_address_balance__symbol_id___get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "symbol_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Symbol Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserWalletDTO"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/user/address/{user_address_id}/": {
      "delete": {
        "tags": [
          "user_address"
        ],
        "summary": "Delete User Address",
        "description": "Marks the authenticated user's permanent address as stopped. The address remains visible to admins.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "delete_user_address_user_address__user_address_id___delete",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "user_address_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "title": "User Address Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusStub"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "user_address_not_found": {
                    "summary": "user_address_not_found",
                    "value": {
                      "detail": "User address not found"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/user/transaction/": {
      "get": {
        "tags": [
          "user_transaction"
        ],
        "summary": "Get Transactions",
        "description": "Retrieves a paginated list of transactions for the authenticated user, with optional sorting and filtering.\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>🚀 Rate limited per IP: 30 times every 1 minutes</code>",
        "operationId": "get_transactions_user_transaction__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "order_type",
            "in": "query",
            "required": false,
            "schema": {
              "const": "created_at",
              "type": "string",
              "default": "created_at",
              "title": "Order Type"
            }
          },
          {
            "name": "order_asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true,
              "title": "Order Asc"
            }
          },
          {
            "name": "search_query",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Query"
            }
          },
          {
            "name": "symbol_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Symbol Id"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/TransactionType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Type"
            }
          },
          {
            "name": "external_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "External Id"
            }
          },
          {
            "name": "begin_at",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Begin At"
            }
          },
          {
            "name": "end_at",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End At"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/TransactionState"
                },
                {
                  "$ref": "#/components/schemas/UserBalanceWithdrawalStatus"
                },
                {
                  "$ref": "#/components/schemas/AMLOrderStatus"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "in_processing",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "In Processing"
            }
          },
          {
            "name": "fiat_amount_from",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Fiat Amount From"
            }
          },
          {
            "name": "fiat_amount_to",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Fiat Amount To"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "title": "Per Page"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "title": "Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_TransactionDTO_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests for rate limit",
            "content": {
              "application/json": {
                "examples": {
                  "too_many_requests": {
                    "summary": "too_many_requests",
                    "value": {
                      "detail": "Too Many Requests"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/user/transaction/{encoded_transaction_id}/": {
      "get": {
        "tags": [
          "user_transaction"
        ],
        "summary": "Get Transaction By Encoded Id",
        "description": "Retrieves a paginated list of transactions for the authenticated user, with optional sorting and filtering.\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>🚀 Rate limited per IP: 30 times every 1 minutes</code>",
        "operationId": "get_transaction_by_encoded_id_user_transaction__encoded_transaction_id___get",
        "parameters": [
          {
            "name": "encoded_transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Encoded Transaction Id"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/TransactionType"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Type"
            }
          },
          {
            "name": "external_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "External Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseTransactionDTO"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests for rate limit",
            "content": {
              "application/json": {
                "examples": {
                  "too_many_requests": {
                    "summary": "too_many_requests",
                    "value": {
                      "detail": "Too Many Requests"
                    }
                  }
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "/user/profile/": {
      "get": {
        "tags": [
          "user_profile"
        ],
        "summary": "Get Current User Profile",
        "description": "Retrieves the profile information of the authenticated user.\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>🚀 Rate limited per IP: 30 times every 1 minutes</code>",
        "operationId": "get_current_user_profile_user_profile__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserResponseDTO"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests for rate limit",
            "content": {
              "application/json": {
                "examples": {
                  "too_many_requests": {
                    "summary": "too_many_requests",
                    "value": {
                      "detail": "Too Many Requests"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ]
      }
    },
    "/user/balance/withdrawal/": {
      "post": {
        "tags": [
          "user_balance"
        ],
        "summary": "Create User Balance Withdrawal",
        "description": "Create a new user balance withdrawal\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>🚀 Rate limited per IP: 15 times every 15 seconds</code>",
        "operationId": "create_user_balance_withdrawal_user_balance_withdrawal__post",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "totp_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Totp Code"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserBalanceWithdrawalCreateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionDTO"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "insufficient_balance": {
                    "summary": "insufficient_balance",
                    "value": {
                      "detail": "Insufficient balance"
                    }
                  },
                  "invalid_address": {
                    "summary": "invalid_address",
                    "value": {
                      "detail": "Invalid address"
                    }
                  },
                  "min_withdrawal_amount": {
                    "summary": "min_withdrawal_amount",
                    "value": {
                      "detail": "Minimum withdrawal amount is {min_withdrawal_usd} USD"
                    }
                  },
                  "totp_code_required": {
                    "summary": "totp_code_required",
                    "value": {
                      "detail": "TOTP code is required. Sended to your email."
                    }
                  },
                  "invalid_totp_code": {
                    "summary": "invalid_totp_code",
                    "value": {
                      "detail": "Invalid TOTP code."
                    }
                  },
                  "memo_not_supported": {
                    "summary": "memo_not_supported",
                    "value": {
                      "detail": "MEMO doesn't supported on this chain!"
                    }
                  },
                  "virtual_symbol": {
                    "summary": "virtual_symbol",
                    "value": {
                      "detail": "Cannot withdraw virtual symbol. Select specific network symbol (e.g., USDTBEP20, USDTERC20)"
                    }
                  },
                  "address_not_in_whitelist": {
                    "summary": "address_not_in_whitelist",
                    "value": {
                      "detail": "Address is not in withdrawal whitelist"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "symbol_not_found": {
                    "summary": "symbol_not_found",
                    "value": {
                      "detail": "Symbol not found"
                    }
                  },
                  "provider_not_found": {
                    "summary": "provider_not_found",
                    "value": {
                      "detail": "Blockchain provider not found"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests for rate limit",
            "content": {
              "application/json": {
                "examples": {
                  "too_many_requests": {
                    "summary": "too_many_requests",
                    "value": {
                      "detail": "Too Many Requests"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/user/balance/daily-changes/": {
      "get": {
        "tags": [
          "user_balance"
        ],
        "summary": "Get User Balance Daily Changes",
        "description": "Daily USD-equivalent balance changes for the authenticated user.\n\n`items` is one row per calendar day (UTC), newest first. Use `change_usd` for the\nsigned daily delta and `balance_usd` for the end-of-day total. `income_usd` /\n`outcome_usd` are unsigned breakdowns of the same day.\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>🚀 Rate limited per IP: 30 times every 1 minutes</code>",
        "operationId": "get_user_balance_daily_changes_user_balance_daily_changes__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/BalanceChangePeriod",
              "description": "Table window: last 7 / 30 / 90 days, or all available history.",
              "default": "last_7_days"
            },
            "description": "Table window: last 7 / 30 / 90 days, or all available history."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserBalanceDailyChangesDTO"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests for rate limit",
            "content": {
              "application/json": {
                "examples": {
                  "too_many_requests": {
                    "summary": "too_many_requests",
                    "value": {
                      "detail": "Too Many Requests"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/user/balance/fiat/": {
      "get": {
        "tags": [
          "user_balance"
        ],
        "summary": "Get User Balance As Fiat",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>🚀 Rate limited per IP: 30 times every 1 minutes</code>",
        "operationId": "get_user_balance_as_fiat_user_balance_fiat__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/FiatCurrencies",
              "default": "USD"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserBalanceDTO"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests for rate limit",
            "content": {
              "application/json": {
                "examples": {
                  "too_many_requests": {
                    "summary": "too_many_requests",
                    "value": {
                      "detail": "Too Many Requests"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/user/balance/": {
      "get": {
        "tags": [
          "user_balance"
        ],
        "summary": "Get User Balances",
        "description": "Retrieves the balance information for the authenticated user across active symbols, with optional filtering.\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>🚀 Rate limited per IP: 30 times every 1 minutes</code>",
        "operationId": "get_user_balances_user_balance__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "search_query",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserBalanceDTO"
                  },
                  "title": "Response Get User Balances User Balance  Get"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests for rate limit",
            "content": {
              "application/json": {
                "examples": {
                  "too_many_requests": {
                    "summary": "too_many_requests",
                    "value": {
                      "detail": "Too Many Requests"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/setting/fees/": {
      "get": {
        "tags": [
          "setting"
        ],
        "summary": "Get Global Fees Settings",
        "description": "get_settings.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_global_fees_settings_setting_fees__get",
        "parameters": [
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "User ID to filter fees settings. None for global settings",
              "title": "User Id"
            },
            "description": "User ID to filter fees settings. None for global settings"
          },
          {
            "name": "tariff_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Tariff ID to filter fees settings. None for global settings",
              "title": "Tariff Id"
            },
            "description": "Tariff ID to filter fees settings. None for global settings"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FeesSettingsDTO"
                  },
                  "title": "Response Get Global Fees Settings Setting Fees  Get"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "/symbol/fiat/": {
      "get": {
        "tags": [
          "symbol"
        ],
        "summary": "Get Fiat Currencies",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_fiat_currencies_symbol_fiat__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "Response Get Fiat Currencies Symbol Fiat  Get"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "/symbol/": {
      "get": {
        "tags": [
          "symbol"
        ],
        "summary": "Get Blockchains",
        "description": "Retrieves a paginated list of blockchain symbols with optional sorting and filtering.\n\nParameters:\n- include_virtual: If False (default), excludes virtual symbols from the response\n- only_grouped: If True, returns only symbols that have a group_symbol_id (e.g., USDTBEP20, USDTERC20)\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_blockchains_symbol__get",
        "parameters": [
          {
            "name": "order_type",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "name",
                "short_name",
                "symbol"
              ],
              "type": "string",
              "default": "symbol",
              "title": "Order Type"
            }
          },
          {
            "name": "order_asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true,
              "title": "Order Asc"
            }
          },
          {
            "name": "search_query",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search Query"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "title": "Per Page"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "title": "Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_SymbolDTO_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "/currency/rate/": {
      "get": {
        "tags": [
          "currency_rate"
        ],
        "summary": "Get Current Pairs Rates",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>⏱️ Cache expire seconds: 60</code>\n\n<code>👤 Cache user scoped: ❌</code>",
        "operationId": "get_current_pairs_rates_currency_rate__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "source",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/CurrencyRateSource"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by rate source. Available: coingecko, aster_dex. Returns all sources when omitted.",
              "title": "Source"
            },
            "description": "Filter by rate source. Available: coingecko, aster_dex. Returns all sources when omitted."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyPairRateDTO"
                  },
                  "title": "Response Get Current Pairs Rates Currency Rate  Get"
                }
              }
            }
          },
          "401": {
            "description": "Inappropriate user role, expired or invalid token or user are blocked",
            "content": {
              "application/json": {
                "examples": {
                  "blocked": {
                    "summary": "blocked",
                    "value": {
                      "detail": "You're blocked"
                    }
                  },
                  "invalid_token": {
                    "summary": "invalid_token",
                    "value": {
                      "detail": "Token expired or invalid!"
                    }
                  },
                  "not_allowed_role": {
                    "summary": "not_allowed_role",
                    "value": {
                      "detail": "Only for roles: ?"
                    }
                  },
                  "email_not_verified": {
                    "summary": "email_not_verified",
                    "value": {
                      "detail": "You're not verify your email!"
                    }
                  },
                  "invalid_api_key": {
                    "summary": "invalid_api_key",
                    "value": {
                      "detail": "Invalid API key!"
                    }
                  },
                  "passcode_required": {
                    "summary": "passcode_required",
                    "value": {
                      "detail": "Passcode required"
                    }
                  },
                  "passcode_invalid": {
                    "summary": "passcode_invalid",
                    "value": {
                      "detail": "Passcode invalid"
                    }
                  },
                  "api_key_deactivated": {
                    "summary": "api_key_deactivated",
                    "value": {
                      "detail": "API key deactivated!"
                    }
                  },
                  "api_key_not_allowed": {
                    "summary": "api_key_not_allowed",
                    "value": {
                      "detail": "API key not allowed for this endpoint!"
                    }
                  },
                  "timestamp_or_signature_not_provided": {
                    "summary": "timestamp_or_signature_not_provided",
                    "value": {
                      "detail": "Timestamp or signature not provided!"
                    }
                  },
                  "invalid_signature": {
                    "summary": "invalid_signature",
                    "value": {
                      "detail": "Invalid signature!"
                    }
                  },
                  "invalid_api_key_ip": {
                    "summary": "invalid_api_key_ip",
                    "value": {
                      "detail": "Invalid IP for this API key!"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/currency/rate/hedge/": {
      "get": {
        "tags": [
          "currency_rate"
        ],
        "summary": "Get Current Hedge Pairs Rates",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>⏱️ Cache expire seconds: 60</code>\n\n<code>👤 Cache user scoped: ❌</code>",
        "operationId": "get_current_hedge_pairs_rates_currency_rate_hedge__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CurrencyPairRateDTO"
                  },
                  "type": "array",
                  "title": "Response Get Current Hedge Pairs Rates Currency Rate Hedge  Get"
                }
              }
            }
          },
          "401": {
            "description": "Inappropriate user role, expired or invalid token or user are blocked",
            "content": {
              "application/json": {
                "examples": {
                  "blocked": {
                    "summary": "blocked",
                    "value": {
                      "detail": "You're blocked"
                    }
                  },
                  "invalid_token": {
                    "summary": "invalid_token",
                    "value": {
                      "detail": "Token expired or invalid!"
                    }
                  },
                  "not_allowed_role": {
                    "summary": "not_allowed_role",
                    "value": {
                      "detail": "Only for roles: ?"
                    }
                  },
                  "email_not_verified": {
                    "summary": "email_not_verified",
                    "value": {
                      "detail": "You're not verify your email!"
                    }
                  },
                  "invalid_api_key": {
                    "summary": "invalid_api_key",
                    "value": {
                      "detail": "Invalid API key!"
                    }
                  },
                  "passcode_required": {
                    "summary": "passcode_required",
                    "value": {
                      "detail": "Passcode required"
                    }
                  },
                  "passcode_invalid": {
                    "summary": "passcode_invalid",
                    "value": {
                      "detail": "Passcode invalid"
                    }
                  },
                  "api_key_deactivated": {
                    "summary": "api_key_deactivated",
                    "value": {
                      "detail": "API key deactivated!"
                    }
                  },
                  "api_key_not_allowed": {
                    "summary": "api_key_not_allowed",
                    "value": {
                      "detail": "API key not allowed for this endpoint!"
                    }
                  },
                  "timestamp_or_signature_not_provided": {
                    "summary": "timestamp_or_signature_not_provided",
                    "value": {
                      "detail": "Timestamp or signature not provided!"
                    }
                  },
                  "invalid_signature": {
                    "summary": "invalid_signature",
                    "value": {
                      "detail": "Invalid signature!"
                    }
                  },
                  "invalid_api_key_ip": {
                    "summary": "invalid_api_key_ip",
                    "value": {
                      "detail": "Invalid IP for this API key!"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ]
      }
    },
    "/currency/rate/history/": {
      "get": {
        "tags": [
          "currency_rate"
        ],
        "summary": "Get Pairs Rates History",
        "description": "Last 7 UTC days, one final (latest) rate per day for every pair.\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>⏱️ Cache expire seconds: 3600</code>\n\n<code>👤 Cache user scoped: ❌</code>",
        "operationId": "get_pairs_rates_history_currency_rate_history__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "source",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/CurrencyRateSource",
              "description": "Rate source. Defaults to coingecko.",
              "default": "coingecko"
            },
            "description": "Rate source. Defaults to coingecko."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyPairRateHistoryDTO"
                  },
                  "title": "Response Get Pairs Rates History Currency Rate History  Get"
                }
              }
            }
          },
          "401": {
            "description": "Inappropriate user role, expired or invalid token or user are blocked",
            "content": {
              "application/json": {
                "examples": {
                  "blocked": {
                    "summary": "blocked",
                    "value": {
                      "detail": "You're blocked"
                    }
                  },
                  "invalid_token": {
                    "summary": "invalid_token",
                    "value": {
                      "detail": "Token expired or invalid!"
                    }
                  },
                  "not_allowed_role": {
                    "summary": "not_allowed_role",
                    "value": {
                      "detail": "Only for roles: ?"
                    }
                  },
                  "email_not_verified": {
                    "summary": "email_not_verified",
                    "value": {
                      "detail": "You're not verify your email!"
                    }
                  },
                  "invalid_api_key": {
                    "summary": "invalid_api_key",
                    "value": {
                      "detail": "Invalid API key!"
                    }
                  },
                  "passcode_required": {
                    "summary": "passcode_required",
                    "value": {
                      "detail": "Passcode required"
                    }
                  },
                  "passcode_invalid": {
                    "summary": "passcode_invalid",
                    "value": {
                      "detail": "Passcode invalid"
                    }
                  },
                  "api_key_deactivated": {
                    "summary": "api_key_deactivated",
                    "value": {
                      "detail": "API key deactivated!"
                    }
                  },
                  "api_key_not_allowed": {
                    "summary": "api_key_not_allowed",
                    "value": {
                      "detail": "API key not allowed for this endpoint!"
                    }
                  },
                  "timestamp_or_signature_not_provided": {
                    "summary": "timestamp_or_signature_not_provided",
                    "value": {
                      "detail": "Timestamp or signature not provided!"
                    }
                  },
                  "invalid_signature": {
                    "summary": "invalid_signature",
                    "value": {
                      "detail": "Invalid signature!"
                    }
                  },
                  "invalid_api_key_ip": {
                    "summary": "invalid_api_key_ip",
                    "value": {
                      "detail": "Invalid IP for this API key!"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/invoice/": {
      "get": {
        "tags": [
          "invoice"
        ],
        "summary": "Get My Invoices",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_my_invoices_invoice__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "order_type",
            "in": "query",
            "required": false,
            "schema": {
              "const": "created_at",
              "type": "string",
              "default": "created_at",
              "title": "Order Type"
            }
          },
          {
            "name": "order_asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true,
              "title": "Order Asc"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/InvoiceStatus"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "with_deadline",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "With Deadline"
            }
          },
          {
            "name": "with_target_value_fiat",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "With Target Value Fiat"
            }
          },
          {
            "name": "with_target_value_symbol",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "With Target Value Symbol"
            }
          },
          {
            "name": "user_api_key_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by project API key",
              "title": "User Api Key Id"
            },
            "description": "Filter by project API key"
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "title": "Per Page"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "title": "Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_InvoiceFullDTO_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "invoice"
        ],
        "summary": "Create Invoice",
        "description": "Creates a new address for the authenticated user associated with a specific symbol.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "create_invoice_invoice__post",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCreateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceFullDTO"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "virtual_symbol": {
                    "summary": "virtual_symbol",
                    "value": {
                      "detail": "Cannot create invoice for virtual symbol. Use specific network symbol (e.g., USDTBEP20, USDTERC20)"
                    }
                  },
                  "api_key_required": {
                    "summary": "api_key_required",
                    "value": {
                      "detail": "API key is required"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "symbol_not_found": {
                    "summary": "symbol_not_found",
                    "value": {
                      "detail": "Symbol not found"
                    }
                  },
                  "provider_not_found": {
                    "summary": "provider_not_found",
                    "value": {
                      "detail": "Blockchain provider not found"
                    }
                  },
                  "api_key_not_found": {
                    "summary": "api_key_not_found",
                    "value": {
                      "detail": "API key not found"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/invoice/my/{invoice_id}/": {
      "get": {
        "tags": [
          "invoice"
        ],
        "summary": "Get My Invoice",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_my_invoice_invoice_my__invoice_id___get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "invoice_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Invoice Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceFullDTO"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "invoice_not_found": {
                    "summary": "invoice_not_found",
                    "value": {
                      "detail": "Invoice not found"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/invoice/{invoice_id}/transactions/": {
      "get": {
        "tags": [
          "invoice"
        ],
        "summary": "Get Invoice Transactions",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_invoice_transactions_invoice__invoice_id__transactions__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "invoice_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Invoice Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransactionDTO"
                  },
                  "title": "Response Get Invoice Transactions Invoice  Invoice Id  Transactions  Get"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "invoice_not_found": {
                    "summary": "invoice_not_found",
                    "value": {
                      "detail": "Invoice not found"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/invoice/{invoice_id}/cancel/": {
      "post": {
        "tags": [
          "invoice"
        ],
        "summary": "Cancel Invoice",
        "description": "Deletes an API key for the authenticated user by marking it as inactive.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "cancel_invoice_invoice__invoice_id__cancel__post",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "invoice_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Invoice Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusStub"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "invoice_not_found": {
                    "summary": "invoice_not_found",
                    "value": {
                      "detail": "Invoice not found"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/storage/": {
      "get": {
        "tags": [
          "storage"
        ],
        "summary": "Get Storage Objects",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_storage_objects_storage__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "order_type",
            "in": "query",
            "required": false,
            "schema": {
              "const": "created_at",
              "type": "string",
              "default": "created_at",
              "title": "Order Type"
            }
          },
          {
            "name": "order_asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true,
              "title": "Order Asc"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "title": "Per Page"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "title": "Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_StorageObjectDTO_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/swap/direction/": {
      "get": {
        "tags": [
          "swap_direction"
        ],
        "summary": "List Active Swap Directions",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "list_active_swap_directions_swap_direction__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/SwapDirectionDTO"
                  },
                  "type": "array",
                  "title": "Response List Active Swap Directions Swap Direction  Get"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "/swap/order/": {
      "get": {
        "tags": [
          "swap_order"
        ],
        "summary": "Get User Swap Orders",
        "description": "Retrieves a paginated list of addresses for the authenticated user, with optional filtering and sorting.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_user_swap_orders_swap_order__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "order_type",
            "in": "query",
            "required": false,
            "schema": {
              "const": "created_at",
              "type": "string",
              "default": "created_at",
              "title": "Order Type"
            }
          },
          {
            "name": "order_asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true,
              "title": "Order Asc"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "title": "Per Page"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "title": "Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_SwapOrderDTO_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "swap_order"
        ],
        "summary": "Create Swap",
        "description": "Creates a new address for the authenticated user associated with a specific symbol.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "create_swap_swap_order__post",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwapOrderCreateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SwapOrderDTO"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "insufficient_balance": {
                    "summary": "insufficient_balance",
                    "value": {
                      "detail": "Insufficient balance"
                    }
                  },
                  "from_symbol_amount_less_than_min_amount": {
                    "summary": "from_symbol_amount_less_than_min_amount",
                    "value": {
                      "detail": "From symbol amount less than min amount"
                    }
                  },
                  "to_symbol_amount_less_than_min_amount": {
                    "summary": "to_symbol_amount_less_than_min_amount",
                    "value": {
                      "detail": "To symbol amount less than min amount"
                    }
                  },
                  "swap_direction_not_allowed": {
                    "summary": "swap_direction_not_allowed",
                    "value": {
                      "detail": "Swap direction is not allowed"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "symbol_not_found": {
                    "summary": "symbol_not_found",
                    "value": {
                      "detail": "Symbol not found"
                    }
                  },
                  "provider_not_found": {
                    "summary": "provider_not_found",
                    "value": {
                      "detail": "Swap provider not found"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/statistic/my/overview/": {
      "get": {
        "tags": [
          "statistic"
        ],
        "summary": "Get My Statistic Overview",
        "description": "General statistics for the authenticated user.\n\n`turnover.today_usd` is the USD turnover for the current UTC day.\n`turnover.all_time_usd` is the USD turnover across all history.\n`operations` is all-time executed operation counts, total and per transaction type.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_my_statistic_overview_statistic_my_overview__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyStatisticOverviewDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ]
      }
    },
    "/statistic/my/": {
      "get": {
        "tags": [
          "statistic"
        ],
        "summary": "Get My Statistic",
        "description": "Retrieves a paginated list of blockchain symbols with optional sorting and filtering.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_my_statistic_statistic_my__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "begin_at",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Begin At"
            }
          },
          {
            "name": "end_at",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End At"
            }
          },
          {
            "name": "user_api_key_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Api Key Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyStatisticDTO"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/statistic/my/turnover/": {
      "get": {
        "tags": [
          "statistic"
        ],
        "summary": "Get My Turnover Statistic",
        "description": "Retrieves a paginated list of blockchain symbols with optional sorting and filtering.\n\n<code>🧾 Required tariff scopes: turnover_statistic</code>\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_my_turnover_statistic_statistic_my_turnover__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "period",
            "in": "query",
            "required": true,
            "schema": {
              "enum": [
                "day",
                "week",
                "month",
                "year"
              ],
              "type": "string",
              "title": "Period"
            }
          },
          {
            "name": "begin_at",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Begin At"
            }
          },
          {
            "name": "end_at",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End At"
            }
          },
          {
            "name": "user_api_key_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Api Key Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MyStatisticTurnoverDTO"
                  },
                  "title": "Response Get My Turnover Statistic Statistic My Turnover  Get"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/statistic/my/symbols/": {
      "get": {
        "tags": [
          "statistic"
        ],
        "summary": "Get My Statistic Symbols",
        "description": "Retrieves a paginated list of blockchain symbols with optional sorting and filtering.\n\n<code>🧾 Required tariff scopes: turnover_statistic</code>\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_my_statistic_symbols_statistic_my_symbols__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "begin_at",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Begin At"
            }
          },
          {
            "name": "end_at",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "title": "End At"
            }
          },
          {
            "name": "user_api_key_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User Api Key Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MyStatisticSymbolDTO"
                  },
                  "title": "Response Get My Statistic Symbols Statistic My Symbols  Get"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/aml/check/direction/": {
      "get": {
        "tags": [
          "aml_check_direction"
        ],
        "summary": "List Active Aml Check Directions",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "list_active_aml_check_directions_aml_check_direction__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AMLCheckDirectionDTO"
                  },
                  "type": "array",
                  "title": "Response List Active Aml Check Directions Aml Check Direction  Get"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "/aml/user/check/": {
      "get": {
        "tags": [
          "aml_user_check"
        ],
        "summary": "Get User Aml Checks",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_user_aml_checks_aml_user_check__get",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "order_type",
            "in": "query",
            "required": false,
            "schema": {
              "const": "created_at",
              "type": "string",
              "default": "created_at",
              "title": "Order Type"
            }
          },
          {
            "name": "order_asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Order Asc"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "title": "Per Page"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "title": "Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse_AMLUserCheckDTO_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "aml_user_check"
        ],
        "summary": "Create User Aml Check",
        "description": "\n\n<code>🔑 API key allowed: ✅</code>\n\n<code>🚀 Rate limited per IP: 5 times every 1 minutes</code>",
        "operationId": "create_user_aml_check_aml_user_check__post",
        "security": [
          {
            "X-API-Key-ID": []
          },
          {
            "X-Timestamp": []
          },
          {
            "X-Signature": []
          }
        ],
        "parameters": [
          {
            "name": "symbol_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Payment symbol ID (virtual grouped symbol is allowed, e.g. USDT)",
              "title": "Symbol Id"
            },
            "description": "Payment symbol ID (virtual grouped symbol is allowed, e.g. USDT)"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AMLUserCheckCreateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AMLUserCheckDTO"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "insufficient_balance": {
                    "summary": "insufficient_balance",
                    "value": {
                      "detail": "Insufficient balance."
                    }
                  },
                  "invalid_address": {
                    "summary": "invalid_address",
                    "value": {
                      "detail": "Invalid address"
                    }
                  },
                  "virtual_symbol": {
                    "summary": "virtual_symbol",
                    "value": {
                      "detail": "Cannot check virtual symbol. Select specific network symbol (e.g., USDTBEP20, USDTERC20)"
                    }
                  },
                  "aml_check_not_allowed": {
                    "summary": "aml_check_not_allowed",
                    "value": {
                      "detail": "AML check is not allowed for this symbol"
                    }
                  },
                  "aml_provider_not_configured": {
                    "summary": "aml_provider_not_configured",
                    "value": {
                      "detail": "AML provider not configured"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "symbol_not_found": {
                    "summary": "symbol_not_found",
                    "value": {
                      "detail": "Symbol not found"
                    }
                  },
                  "provider_not_found": {
                    "summary": "provider_not_found",
                    "value": {
                      "detail": "Blockchain provider not found"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests for rate limit",
            "content": {
              "application/json": {
                "examples": {
                  "too_many_requests": {
                    "summary": "too_many_requests",
                    "value": {
                      "detail": "Too Many Requests"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/language/": {
      "get": {
        "tags": [
          "language"
        ],
        "summary": "Get Languages",
        "description": "Get list of available languages.\n\n<code>🔑 API key allowed: ✅</code>",
        "operationId": "get_languages_language__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/LanguageDTO"
                  },
                  "type": "array",
                  "title": "Response Get Languages Language  Get"
                }
              }
            }
          }
        },
        "security": []
      }
    }
  },
  "components": {
    "schemas": {
      "AMLCheckDirectionDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "is_active": {
            "type": "boolean",
            "title": "Is Active"
          }
        },
        "type": "object",
        "required": [
          "id",
          "symbol_id",
          "is_active"
        ],
        "title": "AMLCheckDirectionDTO",
        "description": "AMLCheckDirectionDTO."
      },
      "AMLOrderDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "status": {
            "$ref": "#/components/schemas/AMLOrderStatus"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "status",
          "created_at"
        ],
        "title": "AMLOrderDTO",
        "description": "AMLOrderDTO."
      },
      "AMLOrderStatus": {
        "type": "string",
        "enum": [
          "created",
          "pending_check",
          "manual_completed",
          "completed",
          "risky",
          "failed"
        ],
        "title": "AMLOrderStatus"
      },
      "AMLUserCheckCreateDTO": {
        "properties": {
          "type": {
            "$ref": "#/components/schemas/AMLUserCheckType"
          },
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "transaction_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction Hash"
          }
        },
        "type": "object",
        "required": [
          "type",
          "symbol_id",
          "address"
        ],
        "title": "AMLUserCheckCreateDTO",
        "description": "AMLUserCheckCreateDTO."
      },
      "AMLUserCheckDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "user_id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "type": {
            "$ref": "#/components/schemas/AMLUserCheckType"
          },
          "status": {
            "$ref": "#/components/schemas/AMLUserCheckStatus"
          },
          "provider_identity": {
            "type": "string",
            "title": "Provider Identity"
          },
          "check_identity": {
            "type": "string",
            "title": "Check Identity"
          },
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "transaction_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction Hash"
          },
          "pay_transaction_id": {
            "type": "integer",
            "title": "Pay Transaction Id"
          },
          "result_data": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Result Data"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "user_id",
          "type",
          "status",
          "provider_identity",
          "check_identity",
          "symbol_id",
          "address",
          "pay_transaction_id",
          "created_at"
        ],
        "title": "AMLUserCheckDTO",
        "description": "AMLUserCheckDTO."
      },
      "AMLUserCheckStatus": {
        "type": "string",
        "enum": [
          "created",
          "pending_check",
          "completed",
          "risky",
          "failed"
        ],
        "title": "AMLUserCheckStatus"
      },
      "AMLUserCheckType": {
        "type": "string",
        "enum": [
          "transaction",
          "address"
        ],
        "title": "AMLUserCheckType"
      },
      "BalanceChangePeriod": {
        "type": "string",
        "enum": [
          "last_7_days",
          "last_30_days",
          "last_90_days",
          "all"
        ],
        "title": "BalanceChangePeriod"
      },
      "BaseTransactionDTO": {
        "properties": {
          "user_id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "type": {
            "$ref": "#/components/schemas/TransactionType"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "symbol": {
            "$ref": "#/components/schemas/SymbolDTO"
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionState"
              },
              {
                "$ref": "#/components/schemas/UserBalanceWithdrawalStatus"
              },
              {
                "$ref": "#/components/schemas/AMLOrderStatus"
              }
            ],
            "title": "Status"
          },
          "amount": {
            "type": "string",
            "title": "Amount"
          },
          "fee": {
            "type": "string",
            "title": "Fee",
            "default": "0"
          },
          "service_fee": {
            "type": "string",
            "title": "Service Fee",
            "default": "0"
          },
          "blockchain_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionBlockchainDataDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "to_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "To Address"
          },
          "is_admin": {
            "type": "boolean",
            "title": "Is Admin",
            "default": false
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          },
          "memo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memo"
          },
          "invoice": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InvoiceShortDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "aml_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AMLOrderDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "referral_reward": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserReferralRewardDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "callback_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CallbackOrderDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "deposit_refund_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DepositRefundDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "net_amount": {
            "type": "string",
            "title": "Net Amount",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "type",
          "created_at",
          "symbol_id",
          "symbol",
          "status",
          "amount",
          "net_amount"
        ],
        "title": "BaseTransactionDTO"
      },
      "BlockchainDTO": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "logo_url": {
            "type": "string",
            "title": "Logo Url"
          },
          "short_name": {
            "type": "string",
            "title": "Short Name"
          },
          "full_name": {
            "type": "string",
            "title": "Full Name"
          },
          "address_viewer_template_url": {
            "type": "string",
            "title": "Address Viewer Template Url",
            "examples": [
              "https://example.com/address/{wallet_address}"
            ]
          },
          "transaction_viewer_template_url": {
            "type": "string",
            "title": "Transaction Viewer Template Url",
            "examples": [
              "https://example.com/tx/{tx_hash}"
            ]
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "logo_url",
          "short_name",
          "full_name",
          "address_viewer_template_url",
          "transaction_viewer_template_url"
        ],
        "title": "BlockchainDTO",
        "description": "BlockchainDTO."
      },
      "CallbackOrderDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "last_status_code": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Status Code"
          },
          "last_response_data": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Response Data"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "last_status_code",
          "last_response_data",
          "created_at",
          "updated_at"
        ],
        "title": "CallbackOrderDTO",
        "description": "CallbackOrderDTO."
      },
      "CurrencyPairRateDTO": {
        "properties": {
          "from_symbol_id": {
            "type": "string",
            "title": "From Symbol Id"
          },
          "to_symbol_name": {
            "type": "string",
            "title": "To Symbol Name"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "source": {
            "type": "string",
            "title": "Source",
            "default": "coingecko"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "from_symbol_id",
          "to_symbol_name",
          "value",
          "created_at"
        ],
        "title": "CurrencyPairRateDTO",
        "description": "CurrencyPairRateDTO"
      },
      "CurrencyPairRateDailyItemDTO": {
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "title": "Date",
            "description": "UTC calendar day"
          },
          "value": {
            "type": "string",
            "title": "Value",
            "description": "Last recorded rate of that day"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "Timestamp of the day's final tick"
          }
        },
        "type": "object",
        "required": [
          "date",
          "value",
          "created_at"
        ],
        "title": "CurrencyPairRateDailyItemDTO"
      },
      "CurrencyPairRateHistoryDTO": {
        "properties": {
          "from_symbol_id": {
            "type": "string",
            "title": "From Symbol Id"
          },
          "to_symbol_name": {
            "type": "string",
            "title": "To Symbol Name"
          },
          "source": {
            "type": "string",
            "title": "Source"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/CurrencyPairRateDailyItemDTO"
            },
            "type": "array",
            "title": "Items",
            "description": "Daily closes, oldest first"
          }
        },
        "type": "object",
        "required": [
          "from_symbol_id",
          "to_symbol_name",
          "source",
          "items"
        ],
        "title": "CurrencyPairRateHistoryDTO"
      },
      "CurrencyRateSource": {
        "type": "string",
        "enum": [
          "coingecko",
          "aster_dex"
        ],
        "title": "CurrencyRateSource"
      },
      "DepositRefundDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "to_address": {
            "type": "string",
            "title": "To Address"
          },
          "status": {
            "$ref": "#/components/schemas/DepositRefundStatus"
          },
          "data": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Data"
          },
          "fee_rent_order_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fee Rent Order Id"
          },
          "fee_tx_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fee Tx Id"
          },
          "refund_tx_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Refund Tx Id"
          }
        },
        "type": "object",
        "required": [
          "id",
          "to_address",
          "status"
        ],
        "title": "DepositRefundDTO",
        "description": "DepositRefundDTO."
      },
      "DepositRefundStatus": {
        "type": "string",
        "enum": [
          "need_fee",
          "pending_fee",
          "pre_refund",
          "transfer_lock",
          "on_refund",
          "pending_refund",
          "executed",
          "cancelled",
          "failed"
        ],
        "title": "DepositRefundStatus"
      },
      "ErrorDTO": {
        "properties": {
          "detail": {
            "type": "string",
            "title": "Detail"
          }
        },
        "type": "object",
        "required": [
          "detail"
        ],
        "title": "ErrorDTO"
      },
      "FeesSettingsDTO": {
        "properties": {
          "symbol_id": {
            "type": "string",
            "title": "Symbol ID",
            "description": "Symbol ID must be a positive integer"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "User ID",
            "description": "User ID must be a positive integer"
          },
          "tariff_id": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Tariff ID",
            "description": "Tariff ID must be a positive integer"
          },
          "min_deposit_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Deposit Amount"
          },
          "min_withdrawal_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Withdrawal Amount"
          },
          "deposit_fee_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deposit Fee Amount"
          },
          "deposit_fee_percentage": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deposit Fee Percentage"
          },
          "withdrawal_fee_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Withdrawal Fee Amount"
          },
          "withdrawal_fee_percentage": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Withdrawal Fee Percentage"
          },
          "deposit_via_api_fee_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deposit Via Api Fee Amount"
          },
          "deposit_via_api_fee_percentage": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deposit Via Api Fee Percentage"
          },
          "swap_fee_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Swap Fee Amount"
          },
          "swap_fee_percentage": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Swap Fee Percentage"
          },
          "swap_from_min_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Swap From Min Amount"
          },
          "swap_to_min_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Swap To Min Amount"
          }
        },
        "type": "object",
        "required": [
          "symbol_id"
        ],
        "title": "FeesSettingsDTO"
      },
      "FiatCurrencies": {
        "type": "string",
        "enum": [
          "USD",
          "EUR",
          "AED",
          "RUB",
          "CNY",
          "GBP",
          "CAD",
          "AUD",
          "CHF",
          "BYN",
          "KZT",
          "UZS",
          "TJS",
          "GEL",
          "AMD"
        ],
        "title": "FiatCurrencies"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "InternalTransferOrderStatus": {
        "type": "string",
        "enum": [
          "executed"
        ],
        "title": "InternalTransferOrderStatus"
      },
      "InvoiceAPIKeyDTO": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "website_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Website Url"
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "InvoiceAPIKeyDTO",
        "description": "Public project info of the API key that owns the invoice."
      },
      "InvoiceCreateDTO": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "private_description": {
            "type": "string",
            "title": "Private Description"
          },
          "payer_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255
              },
              {
                "type": "null"
              }
            ],
            "title": "Payer Name",
            "description": "Payer name"
          },
          "user_api_key_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Api Key Id",
            "description": "Project API key the invoice belongs to. Required for cabinet requests; ignored for public API"
          },
          "deadline_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deadline At"
          },
          "target_value_fiat": {
            "anyOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Value Fiat"
          },
          "target_currency_fiat": {
            "$ref": "#/components/schemas/FiatCurrencies",
            "default": "USD"
          },
          "target_value_symbol": {
            "anyOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Value Symbol"
          },
          "symbol_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Symbol Id"
          },
          "is_payer_fee": {
            "type": "boolean",
            "title": "Is Payer Fee",
            "default": false
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "label_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label Name"
          },
          "label_image_url": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label Image Url"
          },
          "custom_image_url": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Image Url"
          },
          "receipt_email": {
            "anyOf": [
              {
                "type": "string",
                "format": "email"
              },
              {
                "type": "null"
              }
            ],
            "title": "Receipt Email"
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url"
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "InvoiceCreateDTO",
        "description": "InvoiceCreateDTO."
      },
      "InvoiceFullDTO": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "status": {
            "$ref": "#/components/schemas/InvoiceStatus"
          },
          "is_payer_fee": {
            "type": "boolean",
            "title": "Is Payer Fee"
          },
          "user_id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "user_api_key_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Api Key Id"
          },
          "user_api_key": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InvoiceAPIKeyDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "payer_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payer Name",
            "description": "Payer name"
          },
          "target_wallet": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InvoiceWalletDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "deadline_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deadline At"
          },
          "fiat_rate": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fiat Rate"
          },
          "target_currency_fiat": {
            "$ref": "#/components/schemas/FiatCurrencies",
            "default": "USD"
          },
          "target_value_fiat": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Value Fiat"
          },
          "target_value_symbol": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Value Symbol"
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "label_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label Name"
          },
          "label_image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label Image Url"
          },
          "branding": {
            "$ref": "#/components/schemas/UserAPIKeyBrandingDTO"
          },
          "profit": {
            "type": "string",
            "title": "Profit"
          },
          "current_value": {
            "type": "string",
            "title": "Current Value"
          },
          "fees": {
            "type": "string",
            "title": "Fees"
          },
          "tx_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tx Hash",
            "description": "Hash of the latest invoice deposit transaction"
          },
          "target_service_fee": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Service Fee"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "receipt_email": {
            "anyOf": [
              {
                "type": "string",
                "format": "email"
              },
              {
                "type": "null"
              }
            ],
            "title": "Receipt Email"
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url"
          },
          "private_description": {
            "type": "string",
            "title": "Private Description"
          },
          "receipt_file_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Receipt File Url"
          },
          "pay_url": {
            "type": "string",
            "title": "Pay Url",
            "description": "Get the payment URL for the invoice.",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "id",
          "external_id",
          "name",
          "description",
          "status",
          "is_payer_fee",
          "user_id",
          "profit",
          "current_value",
          "fees",
          "created_at",
          "private_description",
          "pay_url"
        ],
        "title": "InvoiceFullDTO",
        "description": "InvoiceFullDTO."
      },
      "InvoiceShortDTO": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "payer_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payer Name",
            "description": "Payer name"
          },
          "user_api_key_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Api Key Id"
          },
          "status": {
            "$ref": "#/components/schemas/InvoiceStatus"
          }
        },
        "type": "object",
        "required": [
          "id",
          "external_id",
          "name",
          "description",
          "status"
        ],
        "title": "InvoiceShortDTO",
        "description": "InvoiceShortDTO."
      },
      "InvoiceStatus": {
        "type": "string",
        "enum": [
          "active",
          "cancelled",
          "executed",
          "expired"
        ],
        "title": "InvoiceStatus"
      },
      "InvoiceWalletDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "symbol": {
            "$ref": "#/components/schemas/SymbolDTO"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "value",
          "symbol_id",
          "symbol",
          "created_at"
        ],
        "title": "InvoiceWalletDTO",
        "description": "InvoiceWalletDTO."
      },
      "LanguageDTO": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "native_name": {
            "type": "string",
            "title": "Native Name"
          },
          "icon_url": {
            "type": "string",
            "title": "Icon Url"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default"
          }
        },
        "type": "object",
        "required": [
          "code",
          "name",
          "native_name",
          "icon_url",
          "is_default"
        ],
        "title": "LanguageDTO",
        "description": "LanguageDTO."
      },
      "MyStatisticDTO": {
        "properties": {
          "deposit_usd": {
            "type": "string",
            "title": "Deposit Usd",
            "description": "Total income in USD"
          },
          "withdrawal_usd": {
            "type": "string",
            "title": "Withdrawal Usd",
            "description": "Total outcome in USD"
          },
          "swaps_usd": {
            "type": "string",
            "title": "Swaps Usd",
            "description": "Total swapped in USD"
          },
          "invoiced_usd": {
            "type": "string",
            "title": "Invoiced Usd",
            "description": "Total invoiced in USD"
          }
        },
        "type": "object",
        "title": "MyStatisticDTO",
        "description": "MyStatisticDTO."
      },
      "MyStatisticOverviewDTO": {
        "properties": {
          "turnover": {
            "$ref": "#/components/schemas/MyStatisticOverviewTurnoverDTO"
          },
          "operations": {
            "$ref": "#/components/schemas/MyStatisticOverviewOperationsDTO"
          }
        },
        "type": "object",
        "required": [
          "turnover",
          "operations"
        ],
        "title": "MyStatisticOverviewDTO",
        "description": "General statistics widget for the user dashboard."
      },
      "MyStatisticOverviewOperationsDTO": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Total executed operations",
            "default": 0
          },
          "deposit": {
            "type": "integer",
            "title": "Deposit",
            "description": "Total deposits",
            "default": 0
          },
          "withdrawal": {
            "type": "integer",
            "title": "Withdrawal",
            "description": "Total withdrawals",
            "default": 0
          },
          "autowithdrawal": {
            "type": "integer",
            "title": "Autowithdrawal",
            "description": "Total autowithdrawals",
            "default": 0
          },
          "from_symbol_swap": {
            "type": "integer",
            "title": "From Symbol Swap",
            "description": "Total conversions",
            "default": 0
          },
          "to_symbol_swap": {
            "type": "integer",
            "title": "To Symbol Swap",
            "description": "Total conversion incoming legs",
            "default": 0
          },
          "referral_pay": {
            "type": "integer",
            "title": "Referral Pay",
            "description": "Total referral payouts",
            "default": 0
          },
          "withdrawal_refund": {
            "type": "integer",
            "title": "Withdrawal Refund",
            "description": "Total withdrawal refunds",
            "default": 0
          },
          "swap_refund": {
            "type": "integer",
            "title": "Swap Refund",
            "description": "Total swap refunds",
            "default": 0
          },
          "tariff_pay": {
            "type": "integer",
            "title": "Tariff Pay",
            "description": "Total tariff payments",
            "default": 0
          },
          "aml_check_pay": {
            "type": "integer",
            "title": "Aml Check Pay",
            "description": "Total AML check payments",
            "default": 0
          }
        },
        "type": "object",
        "title": "MyStatisticOverviewOperationsDTO",
        "description": "Executed operation counts, all-time, by transaction type."
      },
      "MyStatisticOverviewTurnoverDTO": {
        "properties": {
          "today_usd": {
            "type": "string",
            "title": "Today Usd",
            "description": "Turnover for the current UTC day in USD",
            "examples": [
              "1280.45"
            ]
          },
          "all_time_usd": {
            "type": "string",
            "title": "All Time Usd",
            "description": "Turnover for all time in USD",
            "examples": [
              "152340.90"
            ]
          }
        },
        "type": "object",
        "required": [
          "today_usd",
          "all_time_usd"
        ],
        "title": "MyStatisticOverviewTurnoverDTO",
        "description": "Turnover block inside overview statistics."
      },
      "MyStatisticSymbolDTO": {
        "properties": {
          "symbol": {
            "$ref": "#/components/schemas/SymbolDTO"
          },
          "deposit_value": {
            "type": "string",
            "title": "Deposit Value",
            "description": "Total income"
          },
          "withdrawal_value": {
            "type": "string",
            "title": "Withdrawal Value",
            "description": "Total outcome"
          },
          "invoiced_value": {
            "type": "string",
            "title": "Invoiced Value",
            "description": "Total invoiced"
          }
        },
        "type": "object",
        "required": [
          "symbol"
        ],
        "title": "MyStatisticSymbolDTO",
        "description": "MyStatisticSymbolDTO."
      },
      "MyStatisticTurnoverDTO": {
        "properties": {
          "period_start": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period Start",
            "description": "Period start"
          },
          "period_end": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period End",
            "description": "Period end"
          },
          "value_usd": {
            "type": "string",
            "title": "Value Usd",
            "description": "Total value in USD"
          }
        },
        "type": "object",
        "required": [
          "period_start",
          "period_end"
        ],
        "title": "MyStatisticTurnoverDTO",
        "description": "MyStatisticTurnoverDTO."
      },
      "NestedTransactionDTO": {
        "properties": {
          "user_id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "type": {
            "$ref": "#/components/schemas/TransactionType"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "symbol": {
            "$ref": "#/components/schemas/SymbolDTO"
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionState"
              },
              {
                "$ref": "#/components/schemas/UserBalanceWithdrawalStatus"
              },
              {
                "$ref": "#/components/schemas/AMLOrderStatus"
              }
            ],
            "title": "Status"
          },
          "amount": {
            "type": "string",
            "title": "Amount"
          },
          "fee": {
            "type": "string",
            "title": "Fee",
            "default": "0"
          },
          "service_fee": {
            "type": "string",
            "title": "Service Fee",
            "default": "0"
          },
          "blockchain_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionBlockchainDataDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "to_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "To Address"
          },
          "is_admin": {
            "type": "boolean",
            "title": "Is Admin",
            "default": false
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          },
          "memo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memo"
          },
          "invoice": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InvoiceShortDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "aml_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AMLOrderDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "referral_reward": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserReferralRewardDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "callback_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CallbackOrderDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "deposit_refund_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DepositRefundDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "net_amount": {
            "type": "string",
            "title": "Net Amount",
            "readOnly": true
          },
          "encoded_id": {
            "type": "string",
            "title": "Encoded Id",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "type",
          "created_at",
          "symbol_id",
          "symbol",
          "status",
          "amount",
          "id",
          "net_amount",
          "encoded_id"
        ],
        "title": "NestedTransactionDTO",
        "description": "Transaction nested in an order. No reverse order relations (avoids ORM load cycle)."
      },
      "PaginatedResponse_AMLUserCheckDTO_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AMLUserCheckDTO"
            },
            "type": "array",
            "title": "Data"
          },
          "pages_count": {
            "type": "integer",
            "title": "Pages Count",
            "default": 0,
            "gte": 0
          },
          "current_page": {
            "type": "integer",
            "title": "Current Page",
            "default": 0,
            "gte": 0
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "default": 0,
            "gte": 0
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PaginatedResponse[AMLUserCheckDTO]"
      },
      "PaginatedResponse_InvoiceFullDTO_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/InvoiceFullDTO"
            },
            "type": "array",
            "title": "Data"
          },
          "pages_count": {
            "type": "integer",
            "title": "Pages Count",
            "default": 0,
            "gte": 0
          },
          "current_page": {
            "type": "integer",
            "title": "Current Page",
            "default": 0,
            "gte": 0
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "default": 0,
            "gte": 0
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PaginatedResponse[InvoiceFullDTO]"
      },
      "PaginatedResponse_StorageObjectDTO_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/StorageObjectDTO"
            },
            "type": "array",
            "title": "Data"
          },
          "pages_count": {
            "type": "integer",
            "title": "Pages Count",
            "default": 0,
            "gte": 0
          },
          "current_page": {
            "type": "integer",
            "title": "Current Page",
            "default": 0,
            "gte": 0
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "default": 0,
            "gte": 0
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PaginatedResponse[StorageObjectDTO]"
      },
      "PaginatedResponse_SwapOrderDTO_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SwapOrderDTO"
            },
            "type": "array",
            "title": "Data"
          },
          "pages_count": {
            "type": "integer",
            "title": "Pages Count",
            "default": 0,
            "gte": 0
          },
          "current_page": {
            "type": "integer",
            "title": "Current Page",
            "default": 0,
            "gte": 0
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "default": 0,
            "gte": 0
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PaginatedResponse[SwapOrderDTO]"
      },
      "PaginatedResponse_SymbolDTO_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SymbolDTO"
            },
            "type": "array",
            "title": "Data"
          },
          "pages_count": {
            "type": "integer",
            "title": "Pages Count",
            "default": 0,
            "gte": 0
          },
          "current_page": {
            "type": "integer",
            "title": "Current Page",
            "default": 0,
            "gte": 0
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "default": 0,
            "gte": 0
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PaginatedResponse[SymbolDTO]"
      },
      "PaginatedResponse_TransactionDTO_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TransactionDTO"
            },
            "type": "array",
            "title": "Data"
          },
          "pages_count": {
            "type": "integer",
            "title": "Pages Count",
            "default": 0,
            "gte": 0
          },
          "current_page": {
            "type": "integer",
            "title": "Current Page",
            "default": 0,
            "gte": 0
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "default": 0,
            "gte": 0
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PaginatedResponse[TransactionDTO]"
      },
      "PaginatedResponse_UserWalletDTO_": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UserWalletDTO"
            },
            "type": "array",
            "title": "Data"
          },
          "pages_count": {
            "type": "integer",
            "title": "Pages Count",
            "default": 0,
            "gte": 0
          },
          "current_page": {
            "type": "integer",
            "title": "Current Page",
            "default": 0,
            "gte": 0
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "default": 0,
            "gte": 0
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "PaginatedResponse[UserWalletDTO]"
      },
      "ReferralUserDTO": {
        "properties": {
          "id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email",
            "default": ""
          },
          "level": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Level"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "earned_usd": {
            "type": "string",
            "title": "Earned Usd"
          }
        },
        "type": "object",
        "required": [
          "id",
          "created_at"
        ],
        "title": "ReferralUserDTO"
      },
      "StatusStub": {
        "properties": {
          "status": {
            "type": "boolean",
            "title": "Status",
            "default": true
          },
          "details": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Details"
          }
        },
        "type": "object",
        "title": "StatusStub",
        "description": "StatusStub"
      },
      "StorageObjectDTO": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "user_id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "extension": {
            "type": "string",
            "title": "Extension"
          },
          "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "id",
          "user_id",
          "extension",
          "is_deleted",
          "created_at",
          "url"
        ],
        "title": "StorageObjectDTO",
        "description": "StorageObjectDTO."
      },
      "SwapDirectionDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "from_symbol_id": {
            "type": "string",
            "title": "From Symbol Id"
          },
          "to_symbol_id": {
            "type": "string",
            "title": "To Symbol Id"
          },
          "is_active": {
            "type": "boolean",
            "title": "Is Active"
          }
        },
        "type": "object",
        "required": [
          "id",
          "from_symbol_id",
          "to_symbol_id",
          "is_active"
        ],
        "title": "SwapDirectionDTO",
        "description": "SwapDirectionDTO."
      },
      "SwapOrderCreateDTO": {
        "properties": {
          "from_symbol_id": {
            "type": "string",
            "title": "From Symbol Id"
          },
          "to_symbol_id": {
            "type": "string",
            "title": "To Symbol Id"
          },
          "from_symbol_amount": {
            "anyOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0
              },
              {
                "type": "string"
              }
            ],
            "title": "From Symbol Amount",
            "description": "Amount of the from symbol to swap"
          }
        },
        "type": "object",
        "required": [
          "from_symbol_id",
          "to_symbol_id",
          "from_symbol_amount"
        ],
        "title": "SwapOrderCreateDTO",
        "description": "SwapOrderCreateDTO."
      },
      "SwapOrderDTO": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "provider_identity": {
            "type": "string",
            "title": "Provider Identity"
          },
          "user_id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "from_symbol_id": {
            "type": "string",
            "title": "From Symbol Id"
          },
          "from_symbol": {
            "$ref": "#/components/schemas/SymbolDTO"
          },
          "to_symbol_id": {
            "type": "string",
            "title": "To Symbol Id"
          },
          "to_symbol": {
            "$ref": "#/components/schemas/SymbolDTO"
          },
          "from_transaction_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "From Transaction Id"
          },
          "to_transaction_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "To Transaction Id"
          },
          "from_transaction": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NestedTransactionDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "to_transaction": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NestedTransactionDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "data": {
            "anyOf": [
              {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "boolean"
                    }
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data"
          },
          "status": {
            "$ref": "#/components/schemas/SwapOrderStatus"
          },
          "from_symbol_amount": {
            "type": "string",
            "title": "From Symbol Amount"
          },
          "to_symbol_amount": {
            "type": "string",
            "title": "To Symbol Amount"
          },
          "is_autoswap_withdrawal": {
            "type": "boolean",
            "title": "Is Autoswap Withdrawal",
            "description": "Indicates if the swap order is associated with an autoswap withdrawal",
            "default": false
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "provider_identity",
          "user_id",
          "from_symbol_id",
          "from_symbol",
          "to_symbol_id",
          "to_symbol",
          "from_transaction_id",
          "to_transaction_id",
          "from_transaction",
          "to_transaction",
          "status",
          "from_symbol_amount",
          "to_symbol_amount",
          "created_at"
        ],
        "title": "SwapOrderDTO",
        "description": "SwapOrderDTO."
      },
      "SwapOrderStatus": {
        "type": "string",
        "enum": [
          "created",
          "swap_prepared",
          "send_swap_amount",
          "swap_amount_sended",
          "pending_swap",
          "receive_swap_amount",
          "swap_amount_received",
          "executed",
          "failed",
          "cancelled",
          "refunded_cancelled"
        ],
        "title": "SwapOrderStatus"
      },
      "SymbolDTO": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "short_name": {
            "type": "string",
            "title": "Short Name"
          },
          "blockchain": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BlockchainDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_active": {
            "type": "boolean",
            "title": "Is Active"
          },
          "contract_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Contract Address"
          },
          "precision": {
            "type": "integer",
            "title": "Precision"
          },
          "logo_url": {
            "type": "string",
            "title": "Logo Url"
          },
          "group_symbol_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Group Symbol Id"
          },
          "is_virtual": {
            "type": "boolean",
            "title": "Is Virtual",
            "default": false
          },
          "symbol": {
            "type": "string",
            "title": "Symbol",
            "readOnly": true
          },
          "balance_symbol_id": {
            "type": "string",
            "title": "Balance Symbol Id",
            "description": "Returns the symbol ID to use for balance operations.",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "short_name",
          "blockchain",
          "is_active",
          "contract_address",
          "precision",
          "logo_url",
          "symbol",
          "balance_symbol_id"
        ],
        "title": "SymbolDTO",
        "description": "SymbolDTO."
      },
      "TariffDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "fiat_price_currency": {
            "type": "string",
            "title": "Fiat Price Currency"
          },
          "fiat_price_by_second": {
            "type": "string",
            "title": "Fiat Price By Second"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "fiat_price_currency",
          "fiat_price_by_second"
        ],
        "title": "TariffDTO"
      },
      "TransactionBlockchainDataDTO": {
        "properties": {
          "hash": {
            "type": "string",
            "title": "Hash"
          },
          "from_address": {
            "type": "string",
            "title": "From Address"
          },
          "to_address": {
            "type": "string",
            "title": "To Address"
          }
        },
        "type": "object",
        "required": [
          "hash",
          "from_address",
          "to_address"
        ],
        "title": "TransactionBlockchainDataDTO"
      },
      "TransactionDTO": {
        "properties": {
          "user_id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "type": {
            "$ref": "#/components/schemas/TransactionType"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "symbol": {
            "$ref": "#/components/schemas/SymbolDTO"
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionState"
              },
              {
                "$ref": "#/components/schemas/UserBalanceWithdrawalStatus"
              },
              {
                "$ref": "#/components/schemas/AMLOrderStatus"
              }
            ],
            "title": "Status"
          },
          "amount": {
            "type": "string",
            "title": "Amount"
          },
          "fee": {
            "type": "string",
            "title": "Fee",
            "default": "0"
          },
          "service_fee": {
            "type": "string",
            "title": "Service Fee",
            "default": "0"
          },
          "blockchain_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionBlockchainDataDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "to_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "To Address"
          },
          "is_admin": {
            "type": "boolean",
            "title": "Is Admin",
            "default": false
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          },
          "memo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memo"
          },
          "invoice": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InvoiceShortDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "aml_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AMLOrderDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "referral_reward": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserReferralRewardDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "callback_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CallbackOrderDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "deposit_refund_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DepositRefundDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "from_swap_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionSwapOrderDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_transfer_order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionInternalTransferOrderDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "net_amount": {
            "type": "string",
            "title": "Net Amount",
            "readOnly": true
          },
          "encoded_id": {
            "type": "string",
            "title": "Encoded Id",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "type",
          "created_at",
          "symbol_id",
          "symbol",
          "status",
          "amount",
          "id",
          "net_amount",
          "encoded_id"
        ],
        "title": "TransactionDTO"
      },
      "TransactionInternalTransferOrderDTO": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "from_user_id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "to_user_id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "amount": {
            "type": "string",
            "title": "Amount"
          },
          "status": {
            "$ref": "#/components/schemas/InternalTransferOrderStatus"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "from_user_id",
          "to_user_id",
          "symbol_id",
          "amount",
          "status",
          "created_at"
        ],
        "title": "TransactionInternalTransferOrderDTO"
      },
      "TransactionState": {
        "type": "string",
        "enum": [
          "created",
          "pending",
          "dirty_lock",
          "executed",
          "cancelled"
        ],
        "title": "TransactionState"
      },
      "TransactionSwapOrderDTO": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "provider_identity": {
            "type": "string",
            "title": "Provider Identity"
          },
          "from_symbol_id": {
            "type": "string",
            "title": "From Symbol Id"
          },
          "from_symbol": {
            "$ref": "#/components/schemas/SymbolDTO"
          },
          "to_symbol_id": {
            "type": "string",
            "title": "To Symbol Id"
          },
          "to_symbol": {
            "$ref": "#/components/schemas/SymbolDTO"
          },
          "from_symbol_amount": {
            "type": "string",
            "title": "From Symbol Amount"
          },
          "to_symbol_amount": {
            "type": "string",
            "title": "To Symbol Amount"
          },
          "status": {
            "$ref": "#/components/schemas/SwapOrderStatus"
          },
          "is_autoswap_withdrawal": {
            "type": "boolean",
            "title": "Is Autoswap Withdrawal",
            "default": false
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "provider_identity",
          "from_symbol_id",
          "from_symbol",
          "to_symbol_id",
          "to_symbol",
          "from_symbol_amount",
          "to_symbol_amount",
          "status",
          "created_at"
        ],
        "title": "TransactionSwapOrderDTO"
      },
      "TransactionType": {
        "type": "string",
        "enum": [
          "deposit",
          "referral_pay",
          "withdrawal_re",
          "to_symbol_swap",
          "swap_refund",
          "to_internal_transfer",
          "withdrawal",
          "autowithdrawal",
          "tariff_pay",
          "aml_check_pay",
          "from_symbol_swap",
          "from_internal_transfer"
        ],
        "title": "TransactionType"
      },
      "UserAPIKeyBrandingDTO": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "color": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 64
              },
              {
                "type": "null"
              }
            ],
            "title": "Color"
          },
          "theme": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 64
              },
              {
                "type": "null"
              }
            ],
            "title": "Theme"
          },
          "style": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 64
              },
              {
                "type": "null"
              }
            ],
            "title": "Style"
          },
          "glow": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Glow"
          }
        },
        "type": "object",
        "title": "UserAPIKeyBrandingDTO",
        "description": "Public payment-page branding of the project / API key."
      },
      "UserAddressSettingsDTO": {
        "properties": {
          "default_api_address_type": {
            "type": "string",
            "enum": [
              "permanent",
              "rent"
            ],
            "title": "Default Api Address Type",
            "default": "permanent"
          }
        },
        "type": "object",
        "title": "UserAddressSettingsDTO",
        "description": "UserAddressSettingsDTO."
      },
      "UserAutowithdrawalSettingsDTO": {
        "properties": {
          "is_enabled": {
            "type": "boolean",
            "title": "Is Enabled",
            "default": false
          },
          "address_by_blockchain": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Address By Blockchain"
          },
          "fiat_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fiat Amount"
          },
          "fiat_currency": {
            "$ref": "#/components/schemas/FiatCurrencies",
            "default": "USD"
          }
        },
        "type": "object",
        "title": "UserAutowithdrawalSettingsDTO"
      },
      "UserBalanceDTO": {
        "properties": {
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "symbol_id",
          "value"
        ],
        "title": "UserBalanceDTO"
      },
      "UserBalanceDailyChangeItemDTO": {
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "title": "Date",
            "description": "Calendar day in UTC",
            "examples": [
              "2026-08-21"
            ]
          },
          "income_usd": {
            "type": "string",
            "title": "Income Usd",
            "description": "Inflows for the day in USD. Always >= 0.",
            "examples": [
              "420.50"
            ]
          },
          "outcome_usd": {
            "type": "string",
            "title": "Outcome Usd",
            "description": "Outflows for the day in USD. Always >= 0, not a negative number.",
            "examples": [
              "95.10"
            ]
          },
          "change_usd": {
            "type": "string",
            "title": "Change Usd",
            "description": "Net USD change for the day: income_usd - outcome_usd. Can be negative.",
            "examples": [
              "325.40"
            ]
          },
          "balance_usd": {
            "type": "string",
            "title": "Balance Usd",
            "description": "Total USD-equivalent balance at the end of the day.",
            "examples": [
              "12890.75"
            ]
          }
        },
        "type": "object",
        "required": [
          "date",
          "income_usd",
          "outcome_usd",
          "change_usd",
          "balance_usd"
        ],
        "title": "UserBalanceDailyChangeItemDTO",
        "description": "One table row: USD-equivalent balance movement for a calendar day (UTC)."
      },
      "UserBalanceDailyChangesDTO": {
        "properties": {
          "period": {
            "$ref": "#/components/schemas/BalanceChangePeriod",
            "description": "Requested period filter"
          },
          "from_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "From Date",
            "description": "First day in `items` (UTC). Null when there is no history.",
            "examples": [
              "2026-08-15"
            ]
          },
          "to_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "To Date",
            "description": "Last day in `items` (UTC). Null when there is no history.",
            "examples": [
              "2026-08-21"
            ]
          },
          "total_income_usd": {
            "type": "string",
            "title": "Total Income Usd",
            "description": "Sum of income_usd across `items`.",
            "examples": [
              "2100.00"
            ]
          },
          "total_outcome_usd": {
            "type": "string",
            "title": "Total Outcome Usd",
            "description": "Sum of outcome_usd across `items`.",
            "examples": [
              "450.00"
            ]
          },
          "total_change_usd": {
            "type": "string",
            "title": "Total Change Usd",
            "description": "Sum of change_usd across `items`. Can be negative.",
            "examples": [
              "1650.00"
            ]
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/UserBalanceDailyChangeItemDTO"
            },
            "type": "array",
            "title": "Items",
            "description": "One row per day in the period, newest date first. Days without movement are included with zeros."
          }
        },
        "type": "object",
        "required": [
          "period",
          "total_income_usd",
          "total_outcome_usd",
          "total_change_usd"
        ],
        "title": "UserBalanceDailyChangesDTO",
        "description": "Table payload for daily USD-equivalent balance changes."
      },
      "UserBalanceWithdrawalCreateDTO": {
        "properties": {
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "to_address": {
            "type": "string",
            "title": "To Address"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0
              },
              {
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "extra": {
            "$ref": "#/components/schemas/UserBalanceWithdrawalCreateExtraDTO"
          }
        },
        "type": "object",
        "required": [
          "symbol_id",
          "to_address",
          "amount"
        ],
        "title": "UserBalanceWithdrawalCreateDTO",
        "description": "UserBalanceWithdrawalCreateDTO."
      },
      "UserBalanceWithdrawalCreateExtraDTO": {
        "properties": {
          "memo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memo"
          }
        },
        "type": "object",
        "title": "UserBalanceWithdrawalCreateExtraDTO"
      },
      "UserBalanceWithdrawalStatus": {
        "type": "string",
        "enum": [
          "compliance_approve_required",
          "created",
          "transfer_lock",
          "ready_to_transfer",
          "aml_order_pending",
          "prepare_pending",
          "pending",
          "executed",
          "cancelled",
          "cancelled_by_risk",
          "failed",
          "swap_lock"
        ],
        "title": "UserBalanceWithdrawalStatus"
      },
      "UserManagedSettingsPublicDTO": {
        "properties": {
          "is_deposit_address_reuse_enabled": {
            "type": "boolean",
            "title": "Is Deposit Address Reuse Enabled",
            "default": false
          },
          "is_invoice_address_reuse_enabled": {
            "type": "boolean",
            "title": "Is Invoice Address Reuse Enabled",
            "default": false
          }
        },
        "type": "object",
        "title": "UserManagedSettingsPublicDTO",
        "description": "Platform-managed user policy fields visible to the user (read-only)."
      },
      "UserReferralRewardDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "referral": {
            "$ref": "#/components/schemas/ReferralUserDTO"
          }
        },
        "type": "object",
        "required": [
          "id",
          "referral"
        ],
        "title": "UserReferralRewardDTO"
      },
      "UserResponseDTO": {
        "properties": {
          "id": {
            "type": "string",
            "title": "User ID",
            "description": "Encoded user ID"
          },
          "role": {
            "$ref": "#/components/schemas/UserRole"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email",
            "default": ""
          },
          "is_banned": {
            "type": "boolean",
            "title": "Is Banned"
          },
          "is_email_verified": {
            "type": "boolean",
            "title": "Is Email Verified"
          },
          "is_service_verified": {
            "type": "boolean",
            "title": "Is Service Verified"
          },
          "referral_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Referral Code"
          },
          "telegram_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Telegram Id"
          },
          "telegram_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Telegram Username"
          },
          "telegram_photo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Telegram Photo Url"
          },
          "current_tariff_plan": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserTariffPlanDTO"
              },
              {
                "type": "null"
              }
            ]
          },
          "settings": {
            "$ref": "#/components/schemas/UserSettingsDTO"
          },
          "managed_settings": {
            "$ref": "#/components/schemas/UserManagedSettingsPublicDTO"
          },
          "language": {
            "$ref": "#/components/schemas/LanguageDTO"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "password_updated_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Password Updated At"
          },
          "email_updated_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Updated At"
          },
          "callback_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Key"
          },
          "is_passcode_set": {
            "type": "boolean",
            "title": "Is Passcode Set",
            "default": false
          },
          "is_2fa_enabled": {
            "type": "boolean",
            "title": "Is 2Fa Enabled",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "role",
          "is_banned",
          "is_email_verified",
          "is_service_verified",
          "referral_code",
          "telegram_id",
          "telegram_username",
          "language",
          "created_at"
        ],
        "title": "UserResponseDTO"
      },
      "UserRole": {
        "type": "string",
        "enum": [
          "simple",
          "admin",
          "manager"
        ],
        "title": "UserRole"
      },
      "UserSettingsDTO": {
        "properties": {
          "address": {
            "$ref": "#/components/schemas/UserAddressSettingsDTO"
          },
          "notification_actions": {
            "$ref": "#/components/schemas/UserSettingsNotificationActionsDTO"
          },
          "autowithdrawal": {
            "$ref": "#/components/schemas/UserAutowithdrawalSettingsDTO"
          },
          "timezone_offset": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 24,
                "minimum": -24
              },
              {
                "type": "null"
              }
            ],
            "title": "Timezone Offset"
          },
          "default_fiat_currency": {
            "$ref": "#/components/schemas/FiatCurrencies",
            "default": "USD"
          },
          "is_withdrawal_whitelist_enabled": {
            "type": "boolean",
            "title": "Is Withdrawal Whitelist Enabled",
            "description": "If true, cabinet withdrawals are allowed only to whitelist addresses.",
            "default": false
          },
          "withdrawal_address_confirmation_mode": {
            "$ref": "#/components/schemas/WithdrawalAddressConfirmationMode",
            "description": "Cabinet withdrawal confirmation before sending. `default` — whitelist addresses without confirmation, new addresses with confirmation. `all` — every withdrawal, even to a previously used address. `none` — never ask (unsafe).",
            "default": "default"
          }
        },
        "type": "object",
        "title": "UserSettingsDTO",
        "description": "UserSettingsDTO."
      },
      "UserSettingsNotificationActionsDTO": {
        "properties": {
          "login": {
            "type": "boolean",
            "title": "Login",
            "default": true
          },
          "email_login": {
            "type": "boolean",
            "title": "Email Login",
            "default": true
          },
          "new_deposit": {
            "type": "boolean",
            "title": "New Deposit",
            "default": true
          },
          "email_new_deposit": {
            "type": "boolean",
            "title": "Email New Deposit",
            "default": true
          },
          "new_withdrawal": {
            "type": "boolean",
            "title": "New Withdrawal",
            "default": true
          },
          "email_new_withdrawal": {
            "type": "boolean",
            "title": "Email New Withdrawal",
            "default": true
          },
          "new_swap_order": {
            "type": "boolean",
            "title": "New Swap Order",
            "default": true
          },
          "email_new_swap_order": {
            "type": "boolean",
            "title": "Email New Swap Order",
            "default": true
          },
          "invoice_executed": {
            "type": "boolean",
            "title": "Invoice Executed",
            "default": true
          },
          "email_invoice_executed": {
            "type": "boolean",
            "title": "Email Invoice Executed",
            "default": true
          },
          "new_api_key": {
            "type": "boolean",
            "title": "New Api Key",
            "default": true
          },
          "email_new_api_key": {
            "type": "boolean",
            "title": "Email New Api Key",
            "default": true
          }
        },
        "type": "object",
        "title": "UserSettingsNotificationActionsDTO"
      },
      "UserTariffPlanDTO": {
        "properties": {
          "tariff": {
            "$ref": "#/components/schemas/TariffDTO"
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "title": "Started At"
          },
          "ended_at": {
            "type": "string",
            "format": "date-time",
            "title": "Ended At"
          },
          "amount_paid_fiat": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount Paid Fiat"
          }
        },
        "type": "object",
        "required": [
          "tariff",
          "started_at",
          "ended_at"
        ],
        "title": "UserTariffPlanDTO"
      },
      "UserWalletCreateDTO": {
        "properties": {
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          },
          "rent_duration_seconds": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Rent Duration Seconds"
          },
          "is_rent": {
            "type": "boolean",
            "title": "Is Rent",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "symbol_id"
        ],
        "title": "UserWalletCreateDTO",
        "description": "UserWalletCreateDTO."
      },
      "UserWalletDTO": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "symbol_id": {
            "type": "string",
            "title": "Symbol Id"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "title": "User ID",
                "description": "Encoded user ID"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          }
        },
        "type": "object",
        "required": [
          "id",
          "value",
          "description",
          "symbol_id",
          "user_id",
          "callback_url",
          "created_at"
        ],
        "title": "UserWalletDTO",
        "description": "UserWalletDTO."
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "WithdrawalAddressConfirmationMode": {
        "type": "string",
        "enum": [
          "default",
          "all",
          "none"
        ],
        "title": "WithdrawalAddressConfirmationMode",
        "description": "When cabinet withdrawals require email OTP + 2FA."
      }
    },
    "securitySchemes": {
      "X-API-Key-ID": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key-ID"
      },
      "X-Timestamp": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Timestamp"
      },
      "X-Signature": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Signature"
      }
    }
  }
}
