Overview
NanoGPT supports multiple deposit methods (crypto, stablecoins, and cards). This page documents the public endpoints you can use to:- Create a deposit payment intent
- Check deposit limits
- Track deposit status (polling or SSE)
Supported Payment Methods
Limits vary by method and can change. UseGET /api/transaction/limits/{ticker} for the authoritative min/max.
Crypto (invoice / address)
Stablecoins and multi-chain (Daimo Pay)
These methods settle as USDC and can be paid from multiple chains/wallets.Fiat (card)
Nano (direct deposit)
Nano deposits use a direct-send flow to your assigned Nano deposit address (no invoice creation). See: Check Balance and Receive Nano.Authentication
All/api/transaction/* endpoints require API key authentication using one of these methods:
Endpoint Summary
Pick the endpoint based on the payment method:- Crypto invoice / swap deposits:
POST /api/transaction/create/{ticker} - Daimo Pay (multi-chain):
POST /api/transaction/create/daimo/{ticker} - Card (Stripe):
POST /api/transaction/create/usd - Limits:
GET /api/transaction/limits/{ticker} - Status polling:
GET /api/transaction/status/{ticker}/{txId} - Status SSE:
GET /api/transaction/status/events?ticker={ticker}&txId={txId} - Nano (XNO): send to
nanoDepositAddress(from Check Balance); optionally call Receive Nano
Create Crypto Deposit
Create an invoice / pay-in address for supported crypto tickers
string
required
Ticker symbol. Examples:
btc, btc-ln, ltc, zec, bch, kas, vvv, zano, fusdnumber
required
Amount of cryptocurrency to deposit. Must be between minimum and maximum limits.
Response Fields
string
Unique transaction identifier for tracking
string
Deposit address for sending crypto
number
Requested deposit amount
string
Payment status. Common values include:
New, Pending, Processing, Paid, Completed, Expired, Failedstring
URI for wallet apps (e.g.,
bitcoin:address)string
ISO timestamp of creation
string
ISO timestamp when address expires
Check Payment Limits
Get minimum and maximum deposit amounts for a payment method
string
required
Payment method ticker symbol (for example:
btc, btc-ln, zec, usdc, sol, usd)Create Daimo Payment
Create a multi-chain payment (USDC/USDT/ETH/SOL) via Daimo Pay
string
required
Daimo payment ticker. Common values:
usdc, usdt, eth, solnumber
required
Amount to pay. This is typically treated as a USD/USDC amount (for example,
10 for about $10).Create Card Deposit (Stripe)
Create a Stripe Checkout session for card deposits
number
required
Amount in the selected fiat currency (for example,
10).Status Tracking
Most deposit methods can be tracked by polling a status endpoint:txId value to use.
Example:
Real-time status (SSE)
Instead of polling, you can subscribe to Server-Sent Events:x-poll-after header on status responses to indicate a recommended retry interval (seconds).
Transaction Lifecycle
Status values can vary slightly by payment method, but a typical lifecycle looks like:
Notes:
BTCdeposits can take longer to reachCompleteddue to on-chain settlement/confirmations.- Some providers may accept payment after an invoice expires; in those cases the deposit can still complete.
Payment Providers
NanoGPT uses different providers per ticker:- BTCPay: BTC, BTC-LN, LTC, LTC-MWEB, XMR, DOGE, DASH, ZEC
- Prompt.Cash: BCH
- Nanswap: BAN, KAS, TON, NEAR, EGLD, VVV
- Zano proxy: ZANO, FUSD
- Daimo Pay: USDC, USDT, ETH, SOL (multi-chain payments settling as USDC)
- Stripe: card deposits (USD/EUR/GBP)
- Native Nano: XNO direct deposits to your
nanoDepositAddress
Pricing Endpoints
These endpoints are commonly used by deposit flows and checkout UIs:GET /api/get-nano-price(NANO/USD pricing)GET /api/get-fiat-prices(fiat FX rates)
Bonuses and Discounts
BTC-LN: Lightning deposits may include a bonus on the credited amount (if enabled).XNO: Paying with Nano balance may include a usage discount (if enabled).USDCvia Daimo: USDC stablecoin deposits typically credit close to $1 per 1 USDC.
Error Handling
HTTP Status Codes
Common Error Messages
Amount Validation Errors
Amount Validation Errors
"No amount specified"- Missing amount in request body"Invalid amount. Must be a positive number."- Amount validation failed"Minimum amount is X"- Below minimum threshold"Maximum amount is X"- Above maximum threshold
Provider Errors
Provider Errors
"Unsupported ticker"- Ticker not supported"This payment method is currently not available"- Provider temporarily unavailable
Rate Limits
- 10 requests per 10 minutes per IP address or API key
- Rate limit applies to all deposit creation endpoints
Payment Flow
1
Create Invoice
Call
/api/transaction/create/{ticker} with desired amount2
Get Address
Extract
address from response3
Send Payment
User sends crypto to the provided address
4
Auto-Credit
Account balance automatically updated when payment confirms