{
  "openapi": "3.0.0",
  "paths": {
    "/version": {
      "get": {
        "operationId": "VersionController_getVersion",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Version"
                }
              }
            }
          }
        },
        "summary": "Returns current version of API. You may use it as healthcheck",
        "tags": [
          "version"
        ]
      }
    },
    "/multi-cheque": {
      "post": {
        "operationId": "ChequesController_createCheque",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateChequeDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "SimpleChequeResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/Cheque"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Create multi-cheque",
        "tags": [
          "multi-cheque"
        ]
      },
      "get": {
        "operationId": "ChequesController_getCheques",
        "parameters": [
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 1000,
              "default": 100,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 0,
              "default": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "PaginatedShortChequeDtoResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/PaginationDto"
                            },
                            {
                              "properties": {
                                "results": {
                                  "type": "array",
                                  "items": {
                                    "$ref": "#/components/schemas/ShortChequeDto"
                                  }
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Get list of multi-cheques",
        "tags": [
          "multi-cheque"
        ]
      }
    },
    "/multi-cheque/{id}": {
      "get": {
        "operationId": "ChequesController_getCheque",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "SimpleChequeResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/Cheque"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Get multi-cheque info",
        "tags": [
          "multi-cheque"
        ]
      },
      "put": {
        "operationId": "ChequesController_editCheque",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateChequeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "SimpleChequeResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/Cheque"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Edit multi-cheque",
        "tags": [
          "multi-cheque"
        ]
      },
      "delete": {
        "operationId": "ChequesController_deleteCheque",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Delete multi-cheque",
        "tags": [
          "multi-cheque"
        ]
      }
    },
    "/app/info": {
      "get": {
        "operationId": "AppsController_getAppInfo",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppDto"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Returns information about your application",
        "tags": [
          "app"
        ]
      }
    },
    "/app/transfer": {
      "post": {
        "operationId": "AppsController_transfer",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTransferDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "SimpleTransferDtoResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/TransferDto"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Make transfer of funds to another user",
        "tags": [
          "app"
        ]
      }
    },
    "/app/withdrawal": {
      "post": {
        "operationId": "AppsController_withdrawal",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppCreateWithdrawalDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "SimpleWithdrawalDtoResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WithdrawalDto"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Make withdrawal of funds to external wallet",
        "tags": [
          "app"
        ]
      }
    },
    "/app/withdrawal/status/{withdrawalId}": {
      "get": {
        "operationId": "AppsController_getWithdrawalStatus",
        "parameters": [
          {
            "name": "withdrawalId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "SimpleWithdrawalDtoResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WithdrawalDto"
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Returns withdrawal status",
        "tags": [
          "app"
        ]
      }
    },
    "/app/withdrawal/fees": {
      "get": {
        "operationId": "AppsController_getWithdrawalFees",
        "parameters": [
          {
            "name": "currency",
            "required": false,
            "in": "query",
            "description": "Coin for get fees, optional",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "MultiWithdrawalCoinResponseDtoResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseMultiDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/WithdrawalCoinResponseDto"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Returns withdrawal fees",
        "tags": [
          "app"
        ]
      }
    },
    "/tg-invoices": {
      "post": {
        "callbacks": {
          "successfulPayment": {
            "your-webhook-url": {
              "post": {
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/WebhookDto"
                          },
                          {
                            "properties": {
                              "data": {
                                "$ref": "#/components/schemas/PayInvoiceDto"
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        },
        "operationId": "InvoicesController_createInvoice",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInvoiceDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "SimpleInvoiceDtoResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/InvoiceDto"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Create invoice",
        "tags": [
          "tg-invoices"
        ]
      },
      "get": {
        "operationId": "InvoicesController_getInvoices",
        "parameters": [
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 1000,
              "default": 100,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 0,
              "default": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "PaginatedInvoiceDtoResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/PaginationDto"
                            },
                            {
                              "properties": {
                                "results": {
                                  "type": "array",
                                  "items": {
                                    "$ref": "#/components/schemas/InvoiceDto"
                                  }
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Get list of invoices",
        "tags": [
          "tg-invoices"
        ]
      }
    },
    "/tg-invoices/{id}": {
      "get": {
        "operationId": "InvoicesController_getInvoice",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "SimpleFullInvoiceDtoResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/FullInvoiceDto"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Get invoice info",
        "tags": [
          "tg-invoices"
        ]
      },
      "delete": {
        "operationId": "InvoicesController_deleteInvoice",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": [
          {
            "api-key": []
          }
        ],
        "summary": "Delete invoice",
        "tags": [
          "tg-invoices"
        ]
      }
    },
    "/currencies/available": {
      "get": {
        "operationId": "CurrenciesController_getCoins",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailableCoins"
                }
              }
            }
          }
        },
        "summary": "Returns available currencies",
        "tags": [
          "currencies"
        ]
      }
    },
    "/withdrawal-link": {
      "get": {
        "description": "\u003Cb\u003EIMPORTANT: Don't use xRocket Pay token on frontend, it can cause funds loss.\u003C/b\u003E\u003Cbr /\u003EFor backend integration, token usage is optional but may be used later for trust verification.",
        "operationId": "WithdrawalLinkController_getWithdrawalLink",
        "parameters": [
          {
            "name": "currency",
            "required": true,
            "in": "query",
            "description": "Currency code (get list from GET /currency/available)",
            "schema": {
              "example": "USDT",
              "type": "string"
            }
          },
          {
            "name": "network",
            "required": true,
            "in": "query",
            "description": "Network code",
            "schema": {
              "default": "TON",
              "enum": [
                "TON",
                "BSC",
                "ETH",
                "BTC",
                "TRX",
                "SOL"
              ],
              "type": "string"
            }
          },
          {
            "name": "address",
            "required": true,
            "in": "query",
            "description": "Target withdrawal address",
            "schema": {
              "example": "UQABGo8KCza3ea8DNHMnSWZmbRzW-05332eTdfvW-XDQEmnJ",
              "type": "string"
            }
          },
          {
            "name": "amount",
            "required": false,
            "in": "query",
            "description": "Withdrawal amount",
            "schema": {
              "example": "1.23",
              "type": "string"
            }
          },
          {
            "name": "comment",
            "required": false,
            "in": "query",
            "description": "Withdrawal comment",
            "schema": {
              "maxLength": 50,
              "example": "",
              "type": "string"
            }
          },
          {
            "name": "platform",
            "required": false,
            "in": "query",
            "description": "Platform identifier (optional, use only if provided by xRocket)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "title": "SimpleWithdrawalLinkDtoResponse",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDto"
                    },
                    {
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/WithdrawalLinkDto"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "summary": "Get withdrawal link",
        "tags": [
          "withdrawal-link"
        ]
      }
    },
    "/health": {
      "get": {
        "operationId": "HealthController_health",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Health check",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "status",
                    "info",
                    "error",
                    "details"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok",
                        "error",
                        "shutting_down"
                      ],
                      "example": "ok"
                    },
                    "info": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "name",
                          "status"
                        ],
                        "properties": {
                          "name": {
                            "type": "string",
                            "example": "component"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "up",
                              "down"
                            ],
                            "example": "up"
                          },
                          "message": {
                            "type": "string",
                            "example": "example message"
                          }
                        }
                      }
                    },
                    "error": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "name",
                          "status"
                        ],
                        "properties": {
                          "name": {
                            "type": "string",
                            "example": "component"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "up",
                              "down"
                            ],
                            "example": "down"
                          },
                          "message": {
                            "type": "string",
                            "example": "example message"
                          }
                        }
                      }
                    },
                    "details": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "name",
                          "status"
                        ],
                        "properties": {
                          "name": {
                            "type": "string",
                            "example": "component"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "up",
                              "down"
                            ],
                            "example": "up"
                          },
                          "message": {
                            "type": "string",
                            "example": "example message"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "health",
          "health"
        ]
      }
    }
  },
  "info": {
    "title": "xRocket Pay API",
    "description": "This API based on @xRocket (@ton_rocket_test_bot for testnest) Payment System. In order to use it, you need to get API key from bot. Open it and go to Rocket Pay \u003E Create App \u003E API token.\u003Cbr\u003E\u003Cbr\u003EThis page is fully interactive. Provide obtained API key to AUTHORIZE button on the right, and you can try all API methods by simply clicking buttons and filling forms here\u003Cbr\u003E\u003Cbr\u003EAPI token must be specified in header of each request. Header name is \u003Cb\u003ERocket-Pay-Key\u003C/b\u003E. Only exception is /version endpoint\u003Cbr\u003E\u003Cbr\u003EIf endpoint can send webhooks in response, it is provided on endpoint page on Callbacks bookmark. Now only /tg-invoices endpoint sends webhooks. You can turn them on in bot in app management page\u003Cbr\u003EIn order to verify webhooks information integrity, we send you in headers parameter \u003Cb\u003Erocket-pay-signature\u003C/b\u003E, which is hex representation of HMAC-SHA-256 signature used to sign request body with a secret key that is SHA256 hash of your app token.\u003Cbr\u003E\u003Cbr\u003EThis specification fully complies with OpenAPI 3.0 standard, so if you want to see schemas of request bodies or responses, please click \"Schema\" inside endpoint. All mandatory fields marked with *, all types and limits also described inside schemas\u003Cbr\u003E\u003Cbr\u003E\u003Ch2\u003EChange Log\u003C/h2\u003E\u003Ch3\u003Eversion 1.3\u003C/h3\u003EAdded support for multi-invoices:\u003Cbr\u003Epost /tg-invoices - added request parameter numPayments (default - 1), added response parameter totalActivations, activationsLeft\u003Cbr\u003Ewebhook /tg-invoices - added parameter payment (telegram user ID and number of items purchased for this payment)\u003Cbr\u003Eget /tg-invoices - added response parameter totalActivations, activationsLeft\u003Cbr\u003Eget /tg-invoices/{id} - added response parameter numPayments and payments (list, info about payments that were maid for this invoice)\u003Cbr\u003E\u003Ch3\u003Eversion 1.3.1\u003C/h3\u003EAdded support for multi-invoices with any amount and any payments number (you can put 0 to amount and numPayments)\u003Cbr\u003Eget /tg-invoices/{id} - added to response payments object parameters: paid and payment amount\u003Cbr\u003Ewebhook /tg-invoices - added to payment object parameters: paid and payment amount\u003Cbr\u003E",
    "version": "1.3.1",
    "contact": {

    }
  },
  "tags": [
    {
      "name": "version",
      "description": ""
    },
    {
      "name": "app",
      "description": ""
    },
    {
      "name": "multi-cheque",
      "description": "Here you can save multi-cheque. Referral program also could be set. No additional fees taken."
    },
    {
      "name": "tg-invoices",
      "description": "Here you can save one-time invoices that can be payed via xRocket bot and get link for these invoices.\u003Cbr\u003E This endpoint sends updates to your webhook if it is enabled. You can find webhook model on Callbacks bookmark below\u003Cbr\u003EIf you want to save invoices that can be payed only via attached address (no telegram access required), we will support it soon too"
    },
    {
      "name": "withdrawal-link",
      "description": "Here you can generate deeplinks for withdrawals for simplified integration. User will confirm withdrawal after following link.\u003Cbr\u003EPerfect for services that already accept crypto payments and need to offer easy top-up via xRocket."
    }
  ],
  "servers": [
    {
      "url": "https://pay.xrocket.tg/",
      "description": "Prod"
    }
  ],
  "components": {
    "securitySchemes": {
      "api-key": {
        "type": "apiKey",
        "in": "header",
        "name": "Rocket-Pay-Key"
      }
    },
    "schemas": {
      "Version": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "example": 0.1
          }
        },
        "required": [
          "version"
        ]
      },
      "PropertyError": {
        "type": "object",
        "properties": {
          "property": {
            "type": "string",
            "description": "name of input field that cannot be processed",
            "example": "somePropertyName"
          },
          "error": {
            "type": "string",
            "example": "somePropertyName should be less than X",
            "description": "text explaining what exactly wrong"
          }
        },
        "required": [
          "property",
          "error"
        ]
      },
      "ApiBadRequestError": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": false
          },
          "message": {
            "type": "string",
            "example": "Error Message"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyError"
            }
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "ApiError": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": false
          },
          "message": {
            "type": "string",
            "example": "Error Message"
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "PaginationDto": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total times"
          },
          "limit": {
            "type": "number",
            "maximum": 1000,
            "minimum": 1,
            "example": 100,
            "default": 100
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "default": 100
          }
        },
        "required": [
          "total",
          "limit",
          "offset"
        ]
      },
      "ShortChequeDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Cheque ID",
            "example": 10
          },
          "currency": {
            "type": "string",
            "example": "TONCOIN"
          },
          "total": {
            "type": "number",
            "description": "Total amount of cheque (this amount is charged from balance)",
            "example": 10
          },
          "perUser": {
            "type": "number",
            "description": "Amount of cheque per user",
            "example": 10
          },
          "users": {
            "type": "number",
            "description": "Number of users that can activate your cheque",
            "example": 10
          },
          "password": {
            "type": "object",
            "description": "Cheque password",
            "example": "pwd"
          },
          "description": {
            "type": "object",
            "description": "Cheque description",
            "example": "this cheque is the best"
          },
          "sendNotifications": {
            "type": "boolean",
            "description": "send notifications about cheque activation to application cheque webhook or not"
          },
          "captchaEnabled": {
            "type": "boolean",
            "description": "enable / disable cheque captcha"
          },
          "refProgramPercents": {
            "type": "number",
            "description": "percentage of cheque that rewarded for referral program",
            "example": 50
          },
          "refRewardPerUser": {
            "type": "number",
            "description": "amount of referral user reward",
            "example": 0.0025
          },
          "state": {
            "type": "string",
            "enum": [
              "active",
              "completed",
              "draft"
            ],
            "description": "Active - cheque created and has unclaimed activations. Completed - cheque totally activated."
          },
          "link": {
            "type": "string",
            "example": "https://t.me/xRocket?start=mc_qwerty123"
          },
          "disabledLanguages": {
            "description": "Disable languages",
            "example": [
              "NL",
              "FR"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enabledCountries": {
            "type": "string",
            "description": "Enabled countries",
            "enum": [
              "AD",
              "AE",
              "AF",
              "AG",
              "AI",
              "AL",
              "AM",
              "AO",
              "AQ",
              "AR",
              "AS",
              "AT",
              "AU",
              "AW",
              "AX",
              "AZ",
              "BA",
              "BB",
              "BD",
              "BE",
              "BF",
              "BG",
              "BH",
              "BI",
              "BJ",
              "BL",
              "BM",
              "BN",
              "BO",
              "BQ",
              "BR",
              "BS",
              "BT",
              "BV",
              "BW",
              "BY",
              "BZ",
              "CA",
              "CC",
              "CD",
              "CF",
              "CG",
              "CH",
              "CI",
              "CK",
              "CL",
              "CM",
              "CN",
              "CO",
              "CR",
              "CU",
              "CV",
              "CW",
              "CX",
              "CY",
              "CZ",
              "DE",
              "DJ",
              "DK",
              "DM",
              "DO",
              "DZ",
              "EC",
              "EE",
              "EG",
              "EH",
              "ER",
              "ES",
              "ET",
              "FI",
              "FJ",
              "FK",
              "FM",
              "FO",
              "FR",
              "GA",
              "GB",
              "GD",
              "GE",
              "GF",
              "GG",
              "GH",
              "GI",
              "GL",
              "GM",
              "GN",
              "GP",
              "GQ",
              "GR",
              "GS",
              "GT",
              "GU",
              "GW",
              "GY",
              "HK",
              "HM",
              "HN",
              "HR",
              "HT",
              "HU",
              "ID",
              "IE",
              "IL",
              "IM",
              "IN",
              "IO",
              "IQ",
              "IR",
              "IS",
              "IT",
              "JE",
              "JM",
              "JO",
              "JP",
              "KE",
              "KG",
              "KH",
              "KI",
              "KM",
              "KN",
              "KP",
              "KR",
              "KW",
              "KY",
              "KZ",
              "LA",
              "LB",
              "LC",
              "LI",
              "LK",
              "LR",
              "LS",
              "LT",
              "LU",
              "LV",
              "LY",
              "MA",
              "MC",
              "MD",
              "ME",
              "MF",
              "MG",
              "MH",
              "MK",
              "ML",
              "MM",
              "MN",
              "MO",
              "MP",
              "MQ",
              "MR",
              "MS",
              "MT",
              "MU",
              "MV",
              "MW",
              "MX",
              "MY",
              "MZ",
              "NA",
              "NC",
              "NE",
              "NF",
              "NG",
              "NI",
              "NL",
              "NO",
              "NP",
              "NR",
              "NU",
              "NZ",
              "OM",
              "PA",
              "PE",
              "PF",
              "PG",
              "PH",
              "PK",
              "PL",
              "PM",
              "PN",
              "PR",
              "PS",
              "PT",
              "PW",
              "PY",
              "QA",
              "RE",
              "RO",
              "RS",
              "RU",
              "RW",
              "SA",
              "SB",
              "SC",
              "SD",
              "SE",
              "SG",
              "SH",
              "SI",
              "SJ",
              "SK",
              "SL",
              "SM",
              "SN",
              "SO",
              "SR",
              "SS",
              "ST",
              "SV",
              "SX",
              "SY",
              "SZ",
              "TC",
              "TD",
              "TF",
              "TG",
              "TH",
              "TJ",
              "TK",
              "TL",
              "TM",
              "TN",
              "TO",
              "TR",
              "TT",
              "TV",
              "TW",
              "TZ",
              "UA",
              "UG",
              "UM",
              "US",
              "UY",
              "UZ",
              "VA",
              "VC",
              "VE",
              "VG",
              "VI",
              "VN",
              "VU",
              "WF",
              "WS",
              "YE",
              "YT",
              "ZA",
              "ZM",
              "ZW"
            ],
            "example": [
              "GB",
              "DZ"
            ]
          },
          "forPremium": {
            "type": "number",
            "description": "Only users with Telegram Premium can activate this cheque",
            "enum": [0, 1]
          },
          "forNewUsersOnly": {
            "type": "number",
            "description": "Only new users can activate this cheque",
            "enum": [0, 1]
          },
          "linkedWallet": {
            "type": "number",
            "description": "Only users with connected wallets can activate this cheque",
            "enum": [0, 1]
          }
        },
        "required": [
          "id",
          "currency",
          "total",
          "perUser",
          "users",
          "password",
          "description",
          "sendNotifications",
          "captchaEnabled",
          "refProgramPercents",
          "refRewardPerUser",
          "state",
          "link",
          "disabledLanguages",
          "enabledCountries",
          "forPremium",
          "forNewUsersOnly",
          "linkedWallet"
        ]
      },
      "TgResource": {
        "type": "object",
        "properties": {
          "telegramId": {
            "type": "string",
            "example": "-1001799549067"
          },
          "name": {
            "type": "string",
            "example": "xRocket News"
          },
          "username": {
            "type": "object",
            "example": "ton_rocket"
          }
        },
        "required": [
          "telegramId",
          "name"
        ]
      },
      "Cheque": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Cheque ID",
            "example": 10
          },
          "currency": {
            "type": "string",
            "example": "TONCOIN"
          },
          "total": {
            "type": "number",
            "description": "Total amount of cheque (this amount is charged from balance)",
            "example": 10
          },
          "perUser": {
            "type": "number",
            "description": "Amount of cheque per user",
            "example": 10
          },
          "users": {
            "type": "number",
            "description": "Number of users that can activate your cheque",
            "example": 10
          },
          "password": {
            "type": "object",
            "description": "Cheque password",
            "example": "pwd"
          },
          "description": {
            "type": "object",
            "description": "Cheque description",
            "example": "this cheque is the best"
          },
          "sendNotifications": {
            "type": "boolean",
            "description": "send notifications about cheque activation to application cheque webhook or not"
          },
          "captchaEnabled": {
            "type": "boolean",
            "description": "enable / disable cheque captcha"
          },
          "refProgramPercents": {
            "type": "number",
            "description": "percentage of cheque that rewarded for referral program",
            "example": 50
          },
          "refRewardPerUser": {
            "type": "number",
            "description": "amount of referral user reward",
            "example": 0.0025
          },
          "state": {
            "type": "string",
            "enum": [
              "active",
              "completed",
              "draft"
            ],
            "description": "Active - cheque created and has unclaimed activations. Completed - cheque totally activated."
          },
          "link": {
            "type": "string",
            "example": "https://t.me/xRocket?start=mc_qwerty123"
          },
          "disabledLanguages": {
            "description": "Disable languages",
            "example": [
              "NL",
              "FR"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enabledCountries": {
            "type": "string",
            "description": "Enabled countries",
            "enum": [
              "AD",
              "AE",
              "AF",
              "AG",
              "AI",
              "AL",
              "AM",
              "AO",
              "AQ",
              "AR",
              "AS",
              "AT",
              "AU",
              "AW",
              "AX",
              "AZ",
              "BA",
              "BB",
              "BD",
              "BE",
              "BF",
              "BG",
              "BH",
              "BI",
              "BJ",
              "BL",
              "BM",
              "BN",
              "BO",
              "BQ",
              "BR",
              "BS",
              "BT",
              "BV",
              "BW",
              "BY",
              "BZ",
              "CA",
              "CC",
              "CD",
              "CF",
              "CG",
              "CH",
              "CI",
              "CK",
              "CL",
              "CM",
              "CN",
              "CO",
              "CR",
              "CU",
              "CV",
              "CW",
              "CX",
              "CY",
              "CZ",
              "DE",
              "DJ",
              "DK",
              "DM",
              "DO",
              "DZ",
              "EC",
              "EE",
              "EG",
              "EH",
              "ER",
              "ES",
              "ET",
              "FI",
              "FJ",
              "FK",
              "FM",
              "FO",
              "FR",
              "GA",
              "GB",
              "GD",
              "GE",
              "GF",
              "GG",
              "GH",
              "GI",
              "GL",
              "GM",
              "GN",
              "GP",
              "GQ",
              "GR",
              "GS",
              "GT",
              "GU",
              "GW",
              "GY",
              "HK",
              "HM",
              "HN",
              "HR",
              "HT",
              "HU",
              "ID",
              "IE",
              "IL",
              "IM",
              "IN",
              "IO",
              "IQ",
              "IR",
              "IS",
              "IT",
              "JE",
              "JM",
              "JO",
              "JP",
              "KE",
              "KG",
              "KH",
              "KI",
              "KM",
              "KN",
              "KP",
              "KR",
              "KW",
              "KY",
              "KZ",
              "LA",
              "LB",
              "LC",
              "LI",
              "LK",
              "LR",
              "LS",
              "LT",
              "LU",
              "LV",
              "LY",
              "MA",
              "MC",
              "MD",
              "ME",
              "MF",
              "MG",
              "MH",
              "MK",
              "ML",
              "MM",
              "MN",
              "MO",
              "MP",
              "MQ",
              "MR",
              "MS",
              "MT",
              "MU",
              "MV",
              "MW",
              "MX",
              "MY",
              "MZ",
              "NA",
              "NC",
              "NE",
              "NF",
              "NG",
              "NI",
              "NL",
              "NO",
              "NP",
              "NR",
              "NU",
              "NZ",
              "OM",
              "PA",
              "PE",
              "PF",
              "PG",
              "PH",
              "PK",
              "PL",
              "PM",
              "PN",
              "PR",
              "PS",
              "PT",
              "PW",
              "PY",
              "QA",
              "RE",
              "RO",
              "RS",
              "RU",
              "RW",
              "SA",
              "SB",
              "SC",
              "SD",
              "SE",
              "SG",
              "SH",
              "SI",
              "SJ",
              "SK",
              "SL",
              "SM",
              "SN",
              "SO",
              "SR",
              "SS",
              "ST",
              "SV",
              "SX",
              "SY",
              "SZ",
              "TC",
              "TD",
              "TF",
              "TG",
              "TH",
              "TJ",
              "TK",
              "TL",
              "TM",
              "TN",
              "TO",
              "TR",
              "TT",
              "TV",
              "TW",
              "TZ",
              "UA",
              "UG",
              "UM",
              "US",
              "UY",
              "UZ",
              "VA",
              "VC",
              "VE",
              "VG",
              "VI",
              "VN",
              "VU",
              "WF",
              "WS",
              "YE",
              "YT",
              "ZA",
              "ZM",
              "ZW"
            ],
            "example": [
              "GB",
              "DZ"
            ]
          },
          "forPremium": {
            "type": "number",
            "description": "Only users with Telegram Premium can activate this cheque",
            "enum": [0, 1]
          },
          "forNewUsersOnly": {
            "type": "number",
            "description": "Only new users can activate this cheque",
            "enum": [0, 1]
          },
          "linkedWallet": {
            "type": "number",
            "description": "Only users with connected wallets can activate this cheque",
            "enum": [0, 1]
          },
          "tgResources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TgResource"
            }
          },
          "activations": {
            "type": "number",
            "description": "How many times cheque is activated"
          },
          "refRewards": {
            "type": "number",
            "description": "How many times referral reward is payed"
          }
        },
        "required": [
          "id",
          "currency",
          "total",
          "perUser",
          "users",
          "password",
          "description",
          "sendNotifications",
          "captchaEnabled",
          "refProgramPercents",
          "refRewardPerUser",
          "state",
          "link",
          "disabledLanguages",
          "enabledCountries",
          "forPremium",
          "forNewUsersOnly",
          "linkedWallet",
          "tgResources",
          "activations",
          "refRewards"
        ]
      },
      "ResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "indicate if request is successful"
          }
        },
        "required": [
          "success"
        ]
      },
      "CreateChequeDto": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency of transfer, info /currencies/available",
            "example": "TONCOIN",
            "default": "TONCOIN"
          },
          "chequePerUser": {
            "type": "number",
            "description": "Cheque amount for one user. 9 decimal places, others cut off",
            "example": 0.005
          },
          "usersNumber": {
            "type": "number",
            "description": "Number of users to save multicheque. 0 decimal places",
            "example": 100,
            "minimum": 1
          },
          "refProgram": {
            "type": "number",
            "description": "Referral program percentage (%). 0 decimal places",
            "example": 50,
            "minimum": 0,
            "maximum": 100
          },
          "password": {
            "type": "string",
            "description": "Password for cheque",
            "example": "pwd",
            "maximum": 100
          },
          "description": {
            "type": "string",
            "description": "Description for cheque",
            "example": "This cheque is the best",
            "maximum": 1000
          },
          "sendNotifications": {
            "type": "boolean",
            "description": "Send notifications about activations",
            "default": true
          },
          "enableCaptcha": {
            "type": "boolean",
            "description": "Enable captcha",
            "default": true
          },
          "telegramResourcesIds": {
            "description": "IDs of telegram resources (groups, channels, private groups)",
            "example": [
              "-1001799549067"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "forPremium": {
            "type": "boolean",
            "description": "Only users with Telegram Premium can activate this cheque",
            "default": false
          },
          "linkedWallet": {
            "type": "boolean",
            "description": "Only users with linked wallet can activate this cheque",
            "default": false
          },
          "disabledLanguages": {
            "description": "Disable languages",
            "example": [
              "NL",
              "FR"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enabledCountries": {
            "type": "string",
            "description": "Enabled countries",
            "enum": [
              "AD",
              "AE",
              "AF",
              "AG",
              "AI",
              "AL",
              "AM",
              "AO",
              "AQ",
              "AR",
              "AS",
              "AT",
              "AU",
              "AW",
              "AX",
              "AZ",
              "BA",
              "BB",
              "BD",
              "BE",
              "BF",
              "BG",
              "BH",
              "BI",
              "BJ",
              "BL",
              "BM",
              "BN",
              "BO",
              "BQ",
              "BR",
              "BS",
              "BT",
              "BV",
              "BW",
              "BY",
              "BZ",
              "CA",
              "CC",
              "CD",
              "CF",
              "CG",
              "CH",
              "CI",
              "CK",
              "CL",
              "CM",
              "CN",
              "CO",
              "CR",
              "CU",
              "CV",
              "CW",
              "CX",
              "CY",
              "CZ",
              "DE",
              "DJ",
              "DK",
              "DM",
              "DO",
              "DZ",
              "EC",
              "EE",
              "EG",
              "EH",
              "ER",
              "ES",
              "ET",
              "FI",
              "FJ",
              "FK",
              "FM",
              "FO",
              "FR",
              "GA",
              "GB",
              "GD",
              "GE",
              "GF",
              "GG",
              "GH",
              "GI",
              "GL",
              "GM",
              "GN",
              "GP",
              "GQ",
              "GR",
              "GS",
              "GT",
              "GU",
              "GW",
              "GY",
              "HK",
              "HM",
              "HN",
              "HR",
              "HT",
              "HU",
              "ID",
              "IE",
              "IL",
              "IM",
              "IN",
              "IO",
              "IQ",
              "IR",
              "IS",
              "IT",
              "JE",
              "JM",
              "JO",
              "JP",
              "KE",
              "KG",
              "KH",
              "KI",
              "KM",
              "KN",
              "KP",
              "KR",
              "KW",
              "KY",
              "KZ",
              "LA",
              "LB",
              "LC",
              "LI",
              "LK",
              "LR",
              "LS",
              "LT",
              "LU",
              "LV",
              "LY",
              "MA",
              "MC",
              "MD",
              "ME",
              "MF",
              "MG",
              "MH",
              "MK",
              "ML",
              "MM",
              "MN",
              "MO",
              "MP",
              "MQ",
              "MR",
              "MS",
              "MT",
              "MU",
              "MV",
              "MW",
              "MX",
              "MY",
              "MZ",
              "NA",
              "NC",
              "NE",
              "NF",
              "NG",
              "NI",
              "NL",
              "NO",
              "NP",
              "NR",
              "NU",
              "NZ",
              "OM",
              "PA",
              "PE",
              "PF",
              "PG",
              "PH",
              "PK",
              "PL",
              "PM",
              "PN",
              "PR",
              "PS",
              "PT",
              "PW",
              "PY",
              "QA",
              "RE",
              "RO",
              "RS",
              "RU",
              "RW",
              "SA",
              "SB",
              "SC",
              "SD",
              "SE",
              "SG",
              "SH",
              "SI",
              "SJ",
              "SK",
              "SL",
              "SM",
              "SN",
              "SO",
              "SR",
              "SS",
              "ST",
              "SV",
              "SX",
              "SY",
              "SZ",
              "TC",
              "TD",
              "TF",
              "TG",
              "TH",
              "TJ",
              "TK",
              "TL",
              "TM",
              "TN",
              "TO",
              "TR",
              "TT",
              "TV",
              "TW",
              "TZ",
              "UA",
              "UG",
              "UM",
              "US",
              "UY",
              "UZ",
              "VA",
              "VC",
              "VE",
              "VG",
              "VI",
              "VN",
              "VU",
              "WF",
              "WS",
              "YE",
              "YT",
              "ZA",
              "ZM",
              "ZW"
            ],
            "example": [
              "GB",
              "DZ"
            ]
          }
        },
        "required": [
          "currency",
          "chequePerUser",
          "usersNumber",
          "refProgram"
        ]
      },
      "UpdateChequeDto": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "description": "Password for cheque",
            "example": "pwd",
            "maximum": 100
          },
          "description": {
            "type": "string",
            "description": "Description for cheque",
            "example": "This cheque is the best",
            "maximum": 1000
          },
          "sendNotifications": {
            "type": "boolean",
            "description": "Send notifications about activations",
            "default": true
          },
          "enableCaptcha": {
            "type": "boolean",
            "description": "Enable captcha",
            "default": true
          },
          "telegramResourcesIds": {
            "description": "IDs of telegram resources (groups, channels, private groups)",
            "example": [
              "-1001799549067"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "forPremium": {
            "type": "boolean",
            "description": "Only users with Telegram Premium can activate this cheque",
            "default": false
          },
          "linkedWallet": {
            "type": "boolean",
            "description": "Only users with linked wallet can activate this cheque",
            "default": false
          },
          "disabledLanguages": {
            "description": "Disable languages",
            "example": [
              "NL",
              "FR"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enabledCountries": {
            "type": "string",
            "description": "Enabled countries",
            "enum": [
              "AD",
              "AE",
              "AF",
              "AG",
              "AI",
              "AL",
              "AM",
              "AO",
              "AQ",
              "AR",
              "AS",
              "AT",
              "AU",
              "AW",
              "AX",
              "AZ",
              "BA",
              "BB",
              "BD",
              "BE",
              "BF",
              "BG",
              "BH",
              "BI",
              "BJ",
              "BL",
              "BM",
              "BN",
              "BO",
              "BQ",
              "BR",
              "BS",
              "BT",
              "BV",
              "BW",
              "BY",
              "BZ",
              "CA",
              "CC",
              "CD",
              "CF",
              "CG",
              "CH",
              "CI",
              "CK",
              "CL",
              "CM",
              "CN",
              "CO",
              "CR",
              "CU",
              "CV",
              "CW",
              "CX",
              "CY",
              "CZ",
              "DE",
              "DJ",
              "DK",
              "DM",
              "DO",
              "DZ",
              "EC",
              "EE",
              "EG",
              "EH",
              "ER",
              "ES",
              "ET",
              "FI",
              "FJ",
              "FK",
              "FM",
              "FO",
              "FR",
              "GA",
              "GB",
              "GD",
              "GE",
              "GF",
              "GG",
              "GH",
              "GI",
              "GL",
              "GM",
              "GN",
              "GP",
              "GQ",
              "GR",
              "GS",
              "GT",
              "GU",
              "GW",
              "GY",
              "HK",
              "HM",
              "HN",
              "HR",
              "HT",
              "HU",
              "ID",
              "IE",
              "IL",
              "IM",
              "IN",
              "IO",
              "IQ",
              "IR",
              "IS",
              "IT",
              "JE",
              "JM",
              "JO",
              "JP",
              "KE",
              "KG",
              "KH",
              "KI",
              "KM",
              "KN",
              "KP",
              "KR",
              "KW",
              "KY",
              "KZ",
              "LA",
              "LB",
              "LC",
              "LI",
              "LK",
              "LR",
              "LS",
              "LT",
              "LU",
              "LV",
              "LY",
              "MA",
              "MC",
              "MD",
              "ME",
              "MF",
              "MG",
              "MH",
              "MK",
              "ML",
              "MM",
              "MN",
              "MO",
              "MP",
              "MQ",
              "MR",
              "MS",
              "MT",
              "MU",
              "MV",
              "MW",
              "MX",
              "MY",
              "MZ",
              "NA",
              "NC",
              "NE",
              "NF",
              "NG",
              "NI",
              "NL",
              "NO",
              "NP",
              "NR",
              "NU",
              "NZ",
              "OM",
              "PA",
              "PE",
              "PF",
              "PG",
              "PH",
              "PK",
              "PL",
              "PM",
              "PN",
              "PR",
              "PS",
              "PT",
              "PW",
              "PY",
              "QA",
              "RE",
              "RO",
              "RS",
              "RU",
              "RW",
              "SA",
              "SB",
              "SC",
              "SD",
              "SE",
              "SG",
              "SH",
              "SI",
              "SJ",
              "SK",
              "SL",
              "SM",
              "SN",
              "SO",
              "SR",
              "SS",
              "ST",
              "SV",
              "SX",
              "SY",
              "SZ",
              "TC",
              "TD",
              "TF",
              "TG",
              "TH",
              "TJ",
              "TK",
              "TL",
              "TM",
              "TN",
              "TO",
              "TR",
              "TT",
              "TV",
              "TW",
              "TZ",
              "UA",
              "UG",
              "UM",
              "US",
              "UY",
              "UZ",
              "VA",
              "VC",
              "VE",
              "VG",
              "VI",
              "VN",
              "VU",
              "WF",
              "WS",
              "YE",
              "YT",
              "ZA",
              "ZM",
              "ZW"
            ],
            "example": [
              "GB",
              "DZ"
            ]
          }
        }
      },
      "DeleteResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "WithdrawFeeNetworkFeeDto": {
        "type": "object",
        "properties": {
          "fee": {
            "type": "number",
            "description": "Fee amount",
            "example": 0.001
          },
          "currency": {
            "type": "string",
            "description": "Withdraw fee currency",
            "example": "TONCOIN"
          }
        },
        "required": [
          "fee",
          "currency"
        ]
      },
      "WithdrawalCoinFeesResponseDto": {
        "type": "object",
        "properties": {
          "networkCode": {
            "type": "string",
            "description": "Network code for withdraw",
            "enum": [
              "TON",
              "BSC",
              "ETH",
              "BTC",
              "TRX",
              "SOL"
            ]
          },
          "feeWithdraw": {
            "description": "Withdraw fee params",
            "allOf": [
              {
                "$ref": "#/components/schemas/WithdrawFeeNetworkFeeDto"
              }
            ]
          }
        },
        "required": [
          "networkCode",
          "feeWithdraw"
        ]
      },
      "WithdrawalCoinResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Crypto code",
            "example": "TONCOIN"
          },
          "minWithdraw": {
            "type": "number",
            "description": "Minimal amount for withdrawals",
            "example": 0.001
          },
          "fees": {
            "description": "Fees",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WithdrawalCoinFeesResponseDto"
            }
          }
        },
        "required": [
          "code",
          "minWithdraw",
          "fees"
        ]
      },
      "WithdrawalDto": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "TON",
              "BSC",
              "ETH",
              "BTC",
              "TRX",
              "SOL"
            ],
            "description": "Network code",
            "default": "TON"
          },
          "address": {
            "type": "string",
            "description": "Withdrawal address",
            "example": "EQB1cmpxb3R-YLA3HLDV01Rx6OHpMQA_7MOglhqL2CwJx_dz"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "TONCOIN"
          },
          "amount": {
            "type": "number",
            "description": "Withdrawal amount. 9 decimal places, others cut off",
            "example": 1.23
          },
          "withdrawalId": {
            "type": "string",
            "description": "Unique withdrawal ID in your system to prevent double spends",
            "example": "abc-def",
            "maxLength": 50
          },
          "status": {
            "type": "string",
            "description": "Withdrawal status",
            "enum": [
              "CREATED",
              "COMPLETED",
              "FAIL"
            ]
          },
          "comment": {
            "type": "string",
            "description": "Withdrawal comment",
            "example": "You are awesome!",
            "maxLength": 50
          },
          "txHash": {
            "type": "string",
            "description": "Withdrawal TX hash. Provided only after withdrawal",
            "maxLength": 150
          },
          "txLink": {
            "type": "string",
            "description": "Withdrawal TX link. Provided only after withdrawal",
            "maxLength": 500
          }
        },
        "required": [
          "network",
          "address",
          "currency",
          "amount",
          "withdrawalId"
        ]
      },
      "TransferDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Transfer ID",
            "example": 3
          },
          "tgUserId": {
            "type": "number",
            "description": "Telegram user ID",
            "example": 87209764
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "TONCOIN"
          },
          "amount": {
            "type": "number",
            "description": "Transfer amount. 9 decimal places, others cut off",
            "example": 1.23,
            "minimum": 0.001
          },
          "description": {
            "type": "string",
            "description": "Transfer description",
            "example": "You are awesome!"
          }
        },
        "required": [
          "id",
          "tgUserId",
          "currency",
          "amount"
        ]
      },
      "ResponseMultiDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicate if request is successful"
          }
        },
        "required": [
          "success"
        ]
      },
      "AppBalance": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "object",
            "example": "TONCOIN"
          },
          "balance": {
            "type": "object",
            "example": 10.123
          }
        },
        "required": [
          "currency",
          "balance"
        ]
      },
      "App": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "My App",
            "description": "Name of current app"
          },
          "feePercents": {
            "type": "number",
            "example": "1.5",
            "description": "Fee for incoming transactions"
          },
          "balances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppBalance"
            }
          }
        },
        "required": [
          "name",
          "feePercents",
          "balances"
        ]
      },
      "AppDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "indicate if request is successful"
          },
          "data": {
            "$ref": "#/components/schemas/App"
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "CreateTransferDto": {
        "type": "object",
        "properties": {
          "tgUserId": {
            "type": "number",
            "description": "Telegram user ID. If we dont have this user in DB, we will fail transaction with error: 400 - User not found",
            "example": 87209764
          },
          "currency": {
            "type": "string",
            "description": "Currency of transfer, info /currencies/available",
            "example": "TONCOIN",
            "default": "TONCOIN"
          },
          "amount": {
            "type": "number",
            "description": "Transfer amount. 9 decimal places, others cut off",
            "example": 1.23
          },
          "transferId": {
            "type": "string",
            "description": "Unique transfer ID in your system to prevent double spends",
            "example": "abc-def"
          },
          "description": {
            "type": "string",
            "description": "Transfer description",
            "example": "You are awesome!"
          }
        },
        "required": [
          "tgUserId",
          "currency",
          "amount",
          "transferId"
        ]
      },
      "AppCreateWithdrawalDto": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "TON",
              "BSC",
              "ETH",
              "BTC",
              "TRX",
              "SOL"
            ],
            "description": "Network code",
            "default": "TON"
          },
          "address": {
            "type": "string",
            "description": "Withdrawal address",
            "example": "EQB1cmpxb3R-YLA3HLDV01Rx6OHpMQA_7MOglhqL2CwJx_dz"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "TONCOIN"
          },
          "amount": {
            "type": "number",
            "description": "Withdrawal amount. 9 decimal places, others cut off",
            "example": 1.23
          },
          "withdrawalId": {
            "type": "string",
            "description": "Unique withdrawal ID in your system to prevent double spends",
            "example": "abc-def",
            "maxLength": 50
          },
          "comment": {
            "type": "string",
            "description": "Withdrawal comment",
            "example": "You are awesome!",
            "maxLength": 50
          }
        },
        "required": [
          "network",
          "address",
          "currency",
          "amount",
          "withdrawalId"
        ]
      },
      "FullInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "indicate if request is successful"
          }
        },
        "required": [
          "success"
        ]
      },
      "PayInvoiceStatDto": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "number",
            "description": "Telegram ID of user who made transaction",
            "example": "14357874663"
          },
          "paymentNum": {
            "type": "number",
            "description": "Num of payments in transaction",
            "example": 2
          },
          "paymentAmount": {
            "type": "number",
            "description": "Amount of payments in transaction",
            "example": 2
          },
          "paymentAmountReceived": {
            "type": "number",
            "description": "Amount received by app without fee",
            "example": 1.5
          },
          "comment": {
            "type": "string",
            "description": "Comment on payment"
          },
          "paid": {
            "type": "string",
            "format": "date-time",
            "description": "When transaction was paid"
          }
        },
        "required": [
          "userId",
          "paymentNum",
          "paymentAmount",
          "paymentAmountReceived",
          "comment",
          "paid"
        ]
      },
      "FullInvoiceDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Invoice ID",
            "example": 3
          },
          "amount": {
            "type": "number",
            "description": "Amount of invoice",
            "example": 5
          },
          "minPayment": {
            "type": "number",
            "description": "Min payment of invoice",
            "example": 5
          },
          "totalActivations": {
            "type": "number",
            "description": "Total activations of invoice",
            "example": 5
          },
          "activationsLeft": {
            "type": "number",
            "description": "Activations left of invoice",
            "example": 5
          },
          "description": {
            "type": "string",
            "description": "Invoice description",
            "example": "Invoice for best thing in the world"
          },
          "hiddenMessage": {
            "type": "string",
            "description": "Message that will be displayed after invoice payment",
            "example": "this is our little secret"
          },
          "payload": {
            "type": "string",
            "description": "Any data that is attached to invoice",
            "example": "some custom payload I want to see in webhook or when I request invoice"
          },
          "callbackUrl": {
            "type": "string",
            "description": "url that will be set for Return button after invoice is paid",
            "example": "https://t.me/ton_rocket"
          },
          "commentsEnabled": {
            "type": "boolean",
            "description": "Allow comments for invoice"
          },
          "currency": {
            "type": "string",
            "example": "TONCOIN"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "description": "When invoice was created"
          },
          "paid": {
            "type": "string",
            "format": "date-time",
            "description": "When invoice was paid"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paid",
              "expired"
            ]
          },
          "expiredIn": {
            "type": "number",
            "description": "Invoice expire time in seconds, max 1 day, 0 - none expired",
            "example": 10,
            "minimum": 0,
            "maximum": 86400,
            "default": 0
          },
          "link": {
            "type": "string",
            "example": "https://t.me/xRocket?start=inv_qwerty123"
          },
          "payments": {
            "description": "Payment stat of invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayInvoiceStatDto"
            }
          }
        },
        "required": [
          "id",
          "amount",
          "minPayment",
          "totalActivations",
          "activationsLeft",
          "currency",
          "created",
          "status",
          "link",
          "payments"
        ]
      },
      "PayInvoiceDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Invoice ID",
            "example": 3
          },
          "amount": {
            "type": "number",
            "description": "Amount of invoice",
            "example": 5
          },
          "minPayment": {
            "type": "number",
            "description": "Min payment of invoice",
            "example": 5
          },
          "totalActivations": {
            "type": "number",
            "description": "Total activations of invoice",
            "example": 5
          },
          "activationsLeft": {
            "type": "number",
            "description": "Activations left of invoice",
            "example": 5
          },
          "description": {
            "type": "string",
            "description": "Invoice description",
            "example": "Invoice for best thing in the world"
          },
          "hiddenMessage": {
            "type": "string",
            "description": "Message that will be displayed after invoice payment",
            "example": "this is our little secret"
          },
          "payload": {
            "type": "string",
            "description": "Any data that is attached to invoice",
            "example": "some custom payload I want to see in webhook or when I request invoice"
          },
          "callbackUrl": {
            "type": "string",
            "description": "url that will be set for Return button after invoice is paid",
            "example": "https://t.me/ton_rocket"
          },
          "commentsEnabled": {
            "type": "boolean",
            "description": "Allow comments for invoice"
          },
          "currency": {
            "type": "string",
            "example": "TONCOIN"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "description": "When invoice was created"
          },
          "paid": {
            "type": "string",
            "format": "date-time",
            "description": "When invoice was paid"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paid",
              "expired"
            ]
          },
          "expiredIn": {
            "type": "number",
            "description": "Invoice expire time in seconds, max 1 day, 0 - none expired",
            "example": 10,
            "minimum": 0,
            "maximum": 86400,
            "default": 0
          },
          "link": {
            "type": "string",
            "example": "https://t.me/xRocket?start=inv_qwerty123"
          },
          "payment": {
            "description": "Payment for invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/PayInvoiceStatDto"
              }
            ]
          }
        },
        "required": [
          "id",
          "amount",
          "minPayment",
          "totalActivations",
          "activationsLeft",
          "currency",
          "created",
          "status",
          "link",
          "payment"
        ]
      },
      "InvoiceDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Invoice ID",
            "example": 3
          },
          "amount": {
            "type": "number",
            "description": "Amount of invoice",
            "example": 5
          },
          "minPayment": {
            "type": "number",
            "description": "Min payment of invoice",
            "example": 5
          },
          "totalActivations": {
            "type": "number",
            "description": "Total activations of invoice",
            "example": 5
          },
          "activationsLeft": {
            "type": "number",
            "description": "Activations left of invoice",
            "example": 5
          },
          "description": {
            "type": "string",
            "description": "Invoice description",
            "example": "Invoice for best thing in the world"
          },
          "hiddenMessage": {
            "type": "string",
            "description": "Message that will be displayed after invoice payment",
            "example": "this is our little secret"
          },
          "payload": {
            "type": "string",
            "description": "Any data that is attached to invoice",
            "example": "some custom payload I want to see in webhook or when I request invoice"
          },
          "callbackUrl": {
            "type": "string",
            "description": "url that will be set for Return button after invoice is paid",
            "example": "https://t.me/ton_rocket"
          },
          "commentsEnabled": {
            "type": "boolean",
            "description": "Allow comments for invoice"
          },
          "currency": {
            "type": "string",
            "example": "TONCOIN"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "description": "When invoice was created"
          },
          "paid": {
            "type": "string",
            "format": "date-time",
            "description": "When invoice was paid"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paid",
              "expired"
            ]
          },
          "expiredIn": {
            "type": "number",
            "description": "Invoice expire time in seconds, max 1 day, 0 - none expired",
            "example": 10,
            "minimum": 0,
            "maximum": 86400,
            "default": 0
          },
          "link": {
            "type": "string",
            "example": "https://t.me/xRocket?start=inv_qwerty123"
          }
        },
        "required": [
          "id",
          "amount",
          "minPayment",
          "totalActivations",
          "activationsLeft",
          "currency",
          "created",
          "status",
          "link"
        ]
      },
      "WebhookDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "type of webhook sent",
            "enum": [
              "invoicePay",
              "subscriptionPay",
              "subscriptionEnd",
              "exchangeOrderComplete"
            ]
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "When webhook was sent"
          }
        },
        "required": [
          "type",
          "timestamp"
        ]
      },
      "Invoice": {
        "type": "object",
        "properties": {

        }
      },
      "CreateInvoiceDto": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Invoice amount. 9 decimal places, others cut off",
            "example": 1.23,
            "minimum": 0,
            "maximum": 1000000
          },
          "minPayment": {
            "type": "number",
            "description": "Min payment only for multi invoice if invoice amount is null",
            "example": 1.23,
            "minimum": 0,
            "maximum": 1000000
          },
          "numPayments": {
            "type": "number",
            "description": "Num payments for invoice",
            "example": 1,
            "minimum": 0,
            "maximum": 1000000,
            "default": 1
          },
          "currency": {
            "type": "string",
            "description": "Currency of transfer, info /currencies/available",
            "example": "TONCOIN",
            "default": "TONCOIN"
          },
          "description": {
            "type": "string",
            "description": "Description for invoice",
            "example": "best thing in the world, 1 item",
            "maximum": 1000
          },
          "hiddenMessage": {
            "type": "string",
            "description": "Hidden message after invoice is paid",
            "example": "thank you",
            "maximum": 2000
          },
          "commentsEnabled": {
            "type": "boolean",
            "description": "Allow comments",
            "example": false,
            "default": false
          },
          "callbackUrl": {
            "type": "string",
            "description": "Url for Return button after invoice is paid",
            "example": "https://t.me/ton_rocket",
            "maximum": 500
          },
          "payload": {
            "type": "string",
            "description": "Any data. Invisible to user, will be returned in callback",
            "example": "some custom payload I want to see in webhook or when I request invoice",
            "maximum": 4000
          },
          "expiredIn": {
            "type": "number",
            "description": "Invoice expire time in seconds, max 1 day, 0 - none expired",
            "example": 10,
            "minimum": 0,
            "maximum": 86400,
            "default": 0
          },
          "platformId": {
            "type": "string",
            "description": "Platform identifier",
            "example": "67821f33-f372-4e96-963e-6a4b7e4d075b"
          }
        },
        "required": [
          "numPayments",
          "currency"
        ]
      },
      "WithdrawFeeNetworkDto": {
        "type": "object",
        "properties": {
          "networkCode": {
            "type": "string",
            "description": "Network code for withdraw",
            "enum": [
              "TON",
              "BSC",
              "ETH",
              "BTC",
              "TRX",
              "SOL"
            ]
          },
          "feeWithdraw": {
            "description": "Withdraw fee params",
            "allOf": [
              {
                "$ref": "#/components/schemas/WithdrawFeeNetworkFeeDto"
              }
            ]
          }
        },
        "required": [
          "networkCode",
          "feeWithdraw"
        ]
      },
      "WithdrawFeeDto": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "ID of main currency for token",
            "example": "TONCOIN"
          },
          "networks": {
            "description": "Fee for withdraw",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WithdrawFeeNetworkDto"
            }
          }
        },
        "required": [
          "currency",
          "networks"
        ]
      },
      "CoinDto": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "ID of currency, use in Rocket Pay Api",
            "example": "TONCOIN"
          },
          "name": {
            "type": "string",
            "description": "Name of currency",
            "example": "TON"
          },
          "minTransfer": {
            "type": "number",
            "description": "Minimal amount for transfer",
            "example": 0.001
          },
          "minCheque": {
            "type": "number",
            "description": "Minimal amount for cheque",
            "example": 0.001
          },
          "minInvoice": {
            "type": "number",
            "description": "Minimal amount for invoice",
            "example": 0.001
          },
          "minWithdraw": {
            "type": "number",
            "description": "Minimal amount for withdrawals",
            "example": 0.001
          },
          "feeWithdraw": {
            "description": "Fee for token withdrawals in main currency",
            "allOf": [
              {
                "$ref": "#/components/schemas/WithdrawFeeDto"
              }
            ]
          }
        },
        "required": [
          "currency",
          "name",
          "minTransfer",
          "minCheque",
          "minInvoice",
          "minWithdraw"
        ]
      },
      "AvailableCoinsData": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CoinDto"
            }
          }
        },
        "required": [
          "results"
        ]
      },
      "AvailableCoins": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "indicate if request is successful"
          },
          "data": {
            "$ref": "#/components/schemas/AvailableCoinsData"
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "WithdrawalLinkDto": {
        "type": "object",
        "properties": {
          "telegramAppLink": {
            "type": "string",
            "description": "Telegram app link"
          }
        },
        "required": [
          "telegramAppLink"
        ]
      }
    }
  }
}