Create an invoice
POST /v1/invoices requires an API key and an Idempotency-Key header of 1 to 200 characters. The JSON body takes merchantReference, asset (BNB, USDT, or USDC), amount as a decimal string, and network set to BSC. webhookUrl is optional.
The same key and body return the original invoice. A different body with the same key returns 409 IDEMPOTENCY_CONFLICT. Amounts cannot use scientific notation or more precision than the asset allows. The maximum amount is 1000000.
A test key returns chainId 97 and networkLabel BSC Testnet. A live key returns chainId 56 only when mainnet deposits are enabled. Each merchant has a private account created at sign-up. Invoice addresses come from that account only. The key and passphrase are stored encrypted and are not shown in the dashboard or API. Invoices expire 30 minutes after creation. Late payments are still recorded.
Warning: on BSC mainnet, BNB sent through an internal transaction (for example from a smart contract or some exchange withdrawals) may currently not be detected automatically. Ask customers to send BNB as a normal transfer. If a deposit is missing, contact support or file a recovery request with the transaction hash. An invoice paid that way may stay pending or expire.