Cryptocurrency Invoice API (1.0.0)

Download OpenAPI specification:

REST API for generating and managing cryptocurrency invoices

Invoices

Invoice management operations

Create a new invoice

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
order_id
required
string
fiat_amount
number <double> >= 0
fiat_currency
string
Value: "EUR"
crypto_amount
number <double> >= 0
currency
required
string
allowed_error_percent
integer [ 0 .. 100 ]
order_name
string
expire_min
integer >= 1
callback_url
string <uri>

Responses

Request samples

Content type
application/json
{
  • "order_id": "string",
  • "fiat_amount": 0.1,
  • "fiat_currency": "EUR",
  • "crypto_amount": 0.1,
  • "currency": "string",
  • "allowed_error_percent": 100,
  • "order_name": "string",
  • "expire_min": 1,
  • "callback_url": "http://example.com"
}

Response samples

Content type
application/json
{
  • "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
  • "order_id": "string",
  • "fiat_amount": 0.1,
  • "fiat_currency": "string",
  • "currency": "string",
  • "crypto_amount": 0.1,
  • "crypto_amount_in_units": 0,
  • "actual_crypto_amount_paid": 0.1,
  • "actual_crypto_amount_paid_in_units": 0,
  • "allowed_error_percent": 0,
  • "order_name": "string",
  • "expire_min": 0,
  • "callback_url": "string",
  • "status": "new",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "blockchain_details": {
    }
}

List invoices with filtering and pagination

Authorizations:
ApiKeyAuth
query Parameters
status
string
Enum: "new" "pending" "completed" "expired" "cancelled" "paid_partial" "archived"

Filter by invoice status

currency
string

Filter by currency

created_after
string <date-time>

Filter invoices created after this date

created_before
string <date-time>

Filter invoices created before this date

page
integer >= 1
Default: 1

Page number for pagination

page_size
integer [ 1 .. 100 ]
Default: 20

Number of invoices per page

sort_by
string
Enum: "created_at" "updated_at" "fiat_amount" "crypto_amount"

Field to sort by

sort_order
string
Enum: "asc" "desc"

Sort order

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Create an archived invoice

Create an invoice with archived status for historical record keeping. These invoices do not have blockchain details and are not processed for payments.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
order_id
required
string

Unique identifier for the order (must be unique within user/project scope)

fiat_amount
number <double> >= 0

Amount in fiat currency

fiat_currency
string

Fiat currency code

crypto_amount
number <double> >= 0

Amount in cryptocurrency

currency
required
string

Cryptocurrency code

allowed_error_percent
integer [ 0 .. 100 ]

Allowed error percentage for payments

order_name
string

Human-readable name for the order

callback_url
string <uri>

URL to receive webhook notifications

created_at
string

Optional custom creation timestamp (must not be in the future). Supported formats:

  • RFC3339: "2006-01-02T15:04:05Z07:00" (recommended)
  • RFC3339Nano: "2006-01-02T15:04:05.999999999Z07:00"
  • Date only: "2006-01-02"
  • DateTime: "2006-01-02 15:04:05"
  • US format: "02/01/2006 15:04:05"

Responses

Request samples

Content type
application/json
Example
{
  • "order_id": "historical-order-123",
  • "fiat_amount": 100,
  • "fiat_currency": "EUR",
  • "currency": "BTC",
  • "order_name": "Historical Order",
  • "created_at": "2023-01-01T10:00:00Z"
}

Response samples

Content type
application/json
{
  • "invoice_id": "123e4567-e89b-12d3-a456-426614174000",
  • "user_id": "user-123",
  • "project_id": "project-456",
  • "order_id": "historical-order-123",
  • "fiat_amount": 100,
  • "fiat_currency": "EUR",
  • "currency": "BTC",
  • "crypto_amount": 0.003,
  • "status": "archived",
  • "created_at": "2023-01-01T10:00:00Z",
  • "updated_at": "2023-01-01T10:00:00Z",
  • "expires_at": "2023-01-01T10:00:00Z",
  • "blockchain_details": { }
}

Get invoice by ID

Authorizations:
ApiKeyAuth
path Parameters
invoice_id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
  • "order_id": "string",
  • "fiat_amount": 0.1,
  • "fiat_currency": "string",
  • "currency": "string",
  • "crypto_amount": 0.1,
  • "crypto_amount_in_units": 0,
  • "actual_crypto_amount_paid": 0.1,
  • "actual_crypto_amount_paid_in_units": 0,
  • "allowed_error_percent": 0,
  • "order_name": "string",
  • "expire_min": 0,
  • "callback_url": "string",
  • "status": "new",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "blockchain_details": {
    }
}

Update invoice status

Authorizations:
ApiKeyAuth
path Parameters
invoice_id
required
string <uuid>
Request Body schema: application/json
required
status
required
string
Enum: "new" "pending" "completed" "expired" "cancelled" "paid_partial" "archived"
comment
string

Optional comment explaining the status change

Responses

Request samples

Content type
application/json
{
  • "status": "new",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
  • "order_id": "string",
  • "fiat_amount": 0.1,
  • "fiat_currency": "string",
  • "currency": "string",
  • "crypto_amount": 0.1,
  • "crypto_amount_in_units": 0,
  • "actual_crypto_amount_paid": 0.1,
  • "actual_crypto_amount_paid_in_units": 0,
  • "allowed_error_percent": 0,
  • "order_name": "string",
  • "expire_min": 0,
  • "callback_url": "string",
  • "status": "new",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "blockchain_details": {
    }
}

Public

Public endpoints that don't require authentication

List supported currencies

Responses

Response samples

Content type
application/json
{
  • "currencies": [
    ]
}

Get exchange rates

Responses

Response samples

Content type
application/json
{
  • "rates": {
    }
}

Testing

Endpoints for testing and development

Simulate webhook for testing purposes

Request Body schema: application/json
required
invoice_id
required
string
status
required
string
Enum: "new" "pending" "completed" "expired" "cancelled" "paid_partial" "archived"

Responses

Request samples

Content type
application/json
{
  • "invoice_id": "string",
  • "status": "new"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "message": "string"
}

Projects

Endpoints for create new projects

Create new project via API

Create a new project using account API key authentication. Returns only the essential information: project ID and API key.

Features:

  • Account-level authentication via Api-Key header
  • Auto-generates secure 64-character API key
  • Supports IP restrictions for API key access
  • Streamlined response format for API integration

Authentication:

  • Requires account API key in Api-Key header
  • API key must be a valid 64-character hex string
  • User account must be active and verified
Authorizations:
accountApiKeyAuth
Request Body schema: application/json
required
name
required
string <= 100 characters

Project name (must be unique)

description
string <= 1024 characters

Project description (optional)

api_allowed_ips
string

Comma-separated list of allowed IPs/CIDR blocks for API key access. Examples: "192.168.1.1", "10.0.0.0/8,172.16.1.100", ""

Responses

Request samples

Content type
application/json
Example
{
  • "name": "My API Project",
  • "description": "Created via API"
}

Response samples

Content type
application/json
{
  • "project_id": "550e8400-e29b-41d4-a716-446655440000",
  • "api_key": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456"
}