openapi: 3.0.3 info: title: Upbit REST Exchange - Account Exchange - Deposits API description: Upbit is a leading South Korean cryptocurrency exchange operated by Dunamu Inc., offering REST and WebSocket APIs for market data retrieval, order management, account balances, and transaction history. Developers must register an Upbit account with security level 2 or higher to issue API keys. Authenticated requests use JWT bearer tokens (HS512) generated from an Access Key and Secret Key pair, while public quotation endpoints (market data, tickers, orderbooks, candles) require no authentication. Upbit supports KRW, BTC, and USDT trading markets and complies with travel-rule regulations for digital asset transfers. version: 1.3.2 termsOfService: https://upbit.com/service_center/terms contact: url: https://global-docs.upbit.com/docs/support license: name: Upbit Open API Usage Agreement url: https://upbit.com/service_center/terms servers: - url: https://api.upbit.com/v1 description: Global API endpoint security: [] tags: - name: Exchange - Deposits description: Deposit management endpoints — JWT required paths: /deposits/chance/coin: get: operationId: getAvailableDepositInformation summary: Get available deposit information description: Returns deposit availability status, minimum amounts, and confirmation requirements for the specified currency and network. tags: - Exchange - Deposits security: - bearerAuth: [] parameters: - name: currency in: query required: true schema: type: string description: Currency code - name: net_type in: query required: true schema: type: string description: Network type responses: '200': description: Deposit availability information content: application/json: schema: type: object properties: currency: type: string net_type: type: string is_deposit_possible: type: boolean description: Whether deposits are currently possible deposit_impossible_reason: type: string nullable: true description: Reason deposits are disabled (if applicable) minimum_deposit_amount: type: string description: Minimum deposit amount (decimal string) minimum_deposit_confirmations: type: integer description: Minimum blockchain confirmations required decimal_precision: type: integer description: Decimal precision for the currency '401': description: Unauthorized /deposits/generate_coin_address: post: operationId: createDepositAddress summary: Create deposit address description: Generates a new deposit address for the specified currency and network type. Address generation may be asynchronous; poll get_deposit_address if address is not immediately returned. tags: - Exchange - Deposits security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - currency - net_type properties: currency: type: string description: Currency code net_type: type: string description: Network type responses: '201': description: Deposit address created or pending content: application/json: schema: type: object properties: currency: type: string net_type: type: string deposit_address: type: string nullable: true description: Generated deposit address (may be null if still generating) '401': description: Unauthorized /deposits/coin_address: get: operationId: getDepositAddress summary: Get deposit address description: Returns the deposit address for the specified currency and network type. tags: - Exchange - Deposits security: - bearerAuth: [] parameters: - name: currency in: query required: true schema: type: string description: Currency code - name: net_type in: query required: true schema: type: string description: Network type responses: '200': description: Deposit address details content: application/json: schema: type: object properties: currency: type: string net_type: type: string deposit_address: type: string nullable: true '401': description: Unauthorized /deposits/coin_addresses: get: operationId: listDepositAddresses summary: List deposit addresses description: Returns all deposit addresses for the authenticated account across all currencies and networks. tags: - Exchange - Deposits security: - bearerAuth: [] responses: '200': description: List of deposit addresses content: application/json: schema: type: array items: type: object properties: currency: type: string net_type: type: string deposit_address: type: string nullable: true '401': description: Unauthorized /deposit: get: operationId: getDeposit summary: Get deposit description: Returns details for a single deposit by currency, UUID, or transaction ID. tags: - Exchange - Deposits security: - bearerAuth: [] parameters: - name: currency in: query required: false schema: type: string description: Currency code - name: uuid in: query required: false schema: type: string description: Deposit UUID - name: txid in: query required: false schema: type: string description: Blockchain transaction ID responses: '200': description: Deposit details content: application/json: schema: $ref: '#/components/schemas/DepositResponse' '401': description: Unauthorized /deposits: get: operationId: listDeposits summary: List deposits description: Returns a list of deposits for the authenticated account with optional filters. tags: - Exchange - Deposits security: - bearerAuth: [] parameters: - name: currency in: query required: false schema: type: string description: Filter by currency code - name: state in: query required: false schema: type: string description: Filter by deposit state - name: uuids[] in: query required: false schema: type: array items: type: string description: Filter by deposit UUIDs - name: txids[] in: query required: false schema: type: array items: type: string description: Filter by blockchain transaction IDs - name: limit in: query required: false schema: type: integer description: Number of results per page - name: page in: query required: false schema: type: integer description: Page number - name: order_by in: query required: false schema: type: string enum: - asc - desc description: Sort order - name: from in: query required: false schema: type: string format: date-time description: Start of date range - name: to in: query required: false schema: type: string format: date-time description: End of date range responses: '200': description: List of deposits content: application/json: schema: type: array items: $ref: '#/components/schemas/DepositResponse' '401': description: Unauthorized /deposits/krw: post: operationId: depositKrw summary: Request KRW deposit description: Initiates a KRW fiat deposit with two-factor authentication verification. tags: - Exchange - Deposits security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object required: - amount - two_factor_type properties: amount: type: string description: Deposit amount in KRW (decimal string) two_factor_type: type: string enum: - kakao - naver - hana description: Two-factor authentication provider responses: '201': description: KRW deposit request created content: application/json: schema: $ref: '#/components/schemas/DepositResponse' '401': description: Unauthorized components: schemas: DepositResponse: type: object properties: type: type: string description: Transaction type uuid: type: string description: Deposit UUID currency: type: string description: Currency code txid: type: string description: Transaction ID state: type: string description: Deposit state created_at: type: string format: date-time description: Creation time done_at: type: string format: date-time nullable: true description: Completion time amount: type: string description: Deposit amount (decimal string) fee: type: string description: Deposit fee (decimal string) transaction_type: type: string description: Transaction type securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: JWT HS512 token generated from Access Key and Secret Key. Include query_hash and query_hash_alg=SHA512 in the payload when query parameters or JSON body exist. externalDocs: description: Upbit Developer Center url: https://global-docs.upbit.com/reference