openapi: 3.0.3 info: title: NOWPayments Authentication Estimates API description: 'NOWPayments is a crypto payment gateway that enables businesses to accept 300+ cryptocurrencies, create payment invoices, process recurring subscriptions, and manage merchant mass payouts. The API supports automatic coin conversion, IPN webhooks, and fiat withdrawals. ' version: 1.0.0 contact: name: NOWPayments Support email: support@nowpayments.io url: https://nowpayments.io/help termsOfService: https://nowpayments.io/terms servers: - url: https://api.nowpayments.io/v1 description: Production server - url: https://api.sandbox.nowpayments.io/v1 description: Sandbox server security: - ApiKeyAuth: [] tags: - name: Estimates description: Price estimation and minimum amounts paths: /estimate: get: operationId: getEstimatePrice summary: Get estimated price description: 'Calculates the approximate price in cryptocurrency based on a given fiat or crypto amount. Useful for showing customers how much crypto they need to pay. ' tags: - Estimates parameters: - name: amount in: query required: true description: Amount to convert schema: type: number format: double example: 100.5 - name: currency_from in: query required: true description: Currency to convert from (e.g., usd, eur, btc) schema: type: string example: usd - name: currency_to in: query required: true description: Currency to convert to (e.g., btc, eth) schema: type: string example: btc responses: '200': description: Estimated price content: application/json: schema: $ref: '#/components/schemas/EstimateResponse' example: currency_from: usd amount_from: 100.5 currency_to: btc estimated_amount: 0.00267 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /min-amount: get: operationId: getMinimumPaymentAmount summary: Get minimum payment amount description: 'Returns the minimum payment amount for a specific currency pair. Payments below this threshold cannot be processed. ' tags: - Estimates parameters: - name: currency_from in: query required: true description: Source currency schema: type: string example: usd - name: currency_to in: query required: true description: Target cryptocurrency schema: type: string example: btc responses: '200': description: Minimum payment amount content: application/json: schema: $ref: '#/components/schemas/MinAmountResponse' example: currency_from: usd currency_to: btc min_amount: 5.0e-05 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' components: schemas: EstimateResponse: type: object properties: currency_from: type: string description: Source currency code amount_from: type: number format: double description: Source amount currency_to: type: string description: Target currency code estimated_amount: type: number format: double description: Estimated target amount MinAmountResponse: type: object properties: currency_from: type: string description: Source currency code currency_to: type: string description: Target currency code min_amount: type: number format: double description: Minimum payment amount in the target currency ErrorResponse: type: object properties: message: type: string description: Error message errors: type: array description: Detailed error list items: type: string responses: Unauthorized: description: Missing or invalid API key content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' securitySchemes: ApiKeyAuth: type: apiKey in: header name: x-api-key description: NOWPayments API key obtained from your merchant dashboard BearerAuth: type: http scheme: bearer bearerFormat: JWT description: JWT token obtained from the /auth endpoint (required for mass payout operations) externalDocs: description: NOWPayments API Documentation url: https://nowpayments.io/help/api