Skip to main content

API Reference

Base URL: https://api.sodapopfi.com

All requests and responses are JSON. Timestamps are Unix milliseconds unless a field says otherwise.

Endpoints​

Method & pathPurposeSignature action
Invoices
POST /integration/invoicesCreate an invoiceinvoice.create
GET /integration/invoices/statusGet one invoice, re-checked on-chaininvoice.status
GET /integration/invoicesList invoices with filtersinvoice.list
DELETE /integration/invoicesCancel an invoiceinvoice.delete
Withdrawals
GET /integration/invoices/withdraw/preparePaid invoices ready to withdrawinvoice.withdraw.prepare
POST /integration/invoices/withdrawWithdraw now on one chaininvoice.withdraw
GET /integration/invoices/withdraw/transactionsWithdrawal transaction historyinvoice.withdraw.transactions
Fees and payout
POST /integration/fees/set-metaSet the withdraw fee (gasless)fee.set-meta
POST /integration/fees/set-payout-metaSet the payout address (gasless)fee.set-payout-meta

Authentication​

Every endpoint accepts either an API key (x-depay-api-key) or a request signed by the owner wallet (x-depay-signature + x-depay-timestamp). The action column is used only for signed requests. Details: Authentication.

Supported chains​

NetworkchainIdPaymentFactory
Optimism100x8dAE900Fb6A1179A69b1E70A49b8399c6b9e4B19
BNB Smart Chain560x8dAE900Fb6A1179A69b1E70A49b8399c6b9e4B19
Polygon1370x8dAE900Fb6A1179A69b1E70A49b8399c6b9e4B19
Base84530x8dAE900Fb6A1179A69b1E70A49b8399c6b9e4B19
Arbitrum One421610x8dAE900Fb6A1179A69b1E70A49b8399c6b9e4B19
Avalanche C-Chain431140x8dAE900Fb6A1179A69b1E70A49b8399c6b9e4B19

The PaymentFactory address is also the verifyingContract for EIP-712 settings. Ethereum mainnet is not supported. See Smart contracts for the wallet implementation address, ABI summary and events.

Tokens​

tokenAddress accepts a contract address or a symbol (USDC, USDT, EURC) that SodaPop resolves for the selected chain. Omit it to bill in the chain's native token. Responses always return the resolved address.

Errors​

message is a string, or an array of strings for field validation errors. Some errors carry a machine-readable code.

{
"statusCode": 400,
"code": "CHAIN_NOT_SUPPORTED",
"message": "Unsupported chainId. Supported chainIds: ...",
"error": "Bad Request"
}

See Errors and troubleshooting for the full list.