Crypto Deposits
Generate cryptocurrency deposit addresses via BTCPayServer integration
Overview
The BTCPayServer integration allows API users to programmatically generate deposit addresses for multiple cryptocurrencies. When a user sends crypto to the generated address, their NanoGPT account balance is automatically credited with the equivalent value.
Supported Cryptocurrencies
- BTC (Bitcoin)
- LTC (Litecoin)
- XMR (Monero)
- DOGE (Dogecoin)
- DASH (Dash)
- BCH (Bitcoin Cash) - via PromptCash integration
- BAN (Banano) - via Nanswap integration
Authentication
All endpoints require API key authentication using one of these methods:
Create Crypto Deposit
Generate a deposit address for cryptocurrency deposits
Cryptocurrency ticker symbol. Supported values: btc
, ltc
, xmr
, doge
, dash
, bch
, ban
Amount of cryptocurrency to deposit. Must be between minimum and maximum limits.
Amount Limits
Each cryptocurrency has minimum and maximum deposit limits based on USD equivalent:
- Minimum: $0.10 USD equivalent
- Maximum: $500 USD equivalent
Response Fields
Unique transaction identifier for tracking
Requested deposit amount
Payment status (“New”, “Pending”, “Completed”, etc.)
ISO timestamp of invoice creation
Amount paid so far (0 for new invoices)
Crypto deposit address to send payment to
Seconds until invoice expires
Unix timestamp of expiration
URI link for wallet apps
Check Payment Limits
Get minimum and maximum deposit amounts for a cryptocurrency
Cryptocurrency ticker symbol
Error Handling
HTTP Status Codes
- 200: Success
- 400: Bad Request (invalid amount, unsupported ticker)
- 401: Unauthorized (invalid or missing API key)
- 429: Rate Limited
- 500: Server Error (payment provider unavailable)
Common Errors
Rate Limits
- 10 requests per 10 minutes per IP address or API key
- Rate limit applies to all deposit creation endpoints
Payment Flow
Create Invoice
Call /api/transaction/create/{ticker}
with desired amount
Get Address
Extract address
from response
Send Payment
User sends crypto to the provided address
Auto-Credit
Account balance automatically updated when payment confirms