Skip to main content
Deposit wallets give you or your customers a dedicated address to receive crypto into a PeerPesa balance. You choose the network when you create the wallet (stellar, celo, or bitcoin), and PeerPesa returns an address in the right format for that chain. Bitcoin wallets can also have Lightning Network addresses attached as extra addresses for instant, low-fee BTC deposits.

Supported networks

Only send assets listed for the wallet’s network. Assets sent on the wrong network, or Stellar deposits without the memo, cannot be credited automatically.

POST /wallets

Creates a deposit wallet on the chosen network.
string
required
stellar, celo, or bitcoin.
string
Your own name for the wallet, for example a customer ID.
string
Your identifier for the wallet, returned on every deposit and webhook.
boolean
default:"false"
bitcoin only. Set to true to create a Lightning address together with the on-chain address.
The response shape depends on the network:
Stellar wallets share a PeerPesa address and are identified by memo. Senders must include the memo, or the deposit cannot be matched.
string
Wallet ID, for example wal_7c3k9d.
string
stellar, celo, or bitcoin.
string[]
Assets this wallet can receive.
string
Primary on-chain deposit address.
string
Stellar only. Must be included with every deposit.
object[]
Bitcoin only. Extra Lightning addresses attached to the wallet.
string
active or disabled.

Lightning BTC addresses

Lightning addresses are extra receiving addresses on a Bitcoin wallet. They let senders pay BTC instantly over the Lightning Network instead of waiting for on-chain confirmations. A Bitcoin wallet can have several Lightning addresses, for example one per customer or channel.

POST /wallets/{id}/lightning

Adds a Lightning address or invoice to a Bitcoin wallet.
string
required
ID of a wallet with network: "bitcoin".
string
required
lightning_address or invoice.
string
lightning_address only. The part before @. Generated automatically if omitted.
integer
invoice only, required. Amount to request in satoshis.
string
invoice only. Memo shown to the payer.
integer
default:"1800"
invoice only. Seconds until the invoice expires. Defaults to 30 minutes.
cURL
Response

Other wallet endpoints

Track deposits

Subscribe to deposit.detected, deposit.confirmed, and lightning.invoice_paid webhook events to know when funds arrive. Each deposit includes the wallet reference, so you can credit the right customer.
Deposit object
channel is on_chain or lightning. On-chain deposits include tx_hash and confirmations.