Download OpenAPI specification:
HTTP endpoints exposed by npubcash-server. WebSocket authentication and quote updates are documented separately because OpenAPI describes HTTP.
Returns public feature availability and advisory payment terms. A payment request returned by a later 402 response remains authoritative.
{- "error": false,
- "data": {
- "version": 2,
- "features": {
- "username": {
- "enabled": false
}
}
}
}| since | integer >= 0 Return quotes paid after this Unix timestamp in seconds. |
| limit | integer [ 1 .. 1000 ] Default: 50 Requested page size. The server caps the result at 50. |
| offset | integer >= 0 Default: 0 |
{- "error": false,
- "data": {
- "quotes": [
- {
- "createdAt": 0,
- "paidAt": 0,
- "expiresAt": 0,
- "quoteId": "string",
- "request": "string",
- "amount": 0,
- "state": "PAID",
- "locked": true,
- "zapRequest": "string"
}
]
}, - "metadata": {
- "since": 0,
- "offset": 0,
- "total": 0,
- "limit": 0
}
}{- "error": false,
- "data": {
}
}| lockQuotes required | boolean |
{- "lockQuotes": true
}{- "error": false,
- "data": {
}
}| X-Cashu | string Cashu token satisfying the payment request. |
| username required | string >= 3 characters ^(?!npub1)[a-zA-Z0-9]+$ |
{- "username": "string"
}{- "error": false,
- "data": {
}
}Without amount, returns an LNURL-pay discovery response. With an
amount in millisatoshis, returns a BOLT11 invoice and a verification URL.
| user required | string An npub or purchased username. |
| amount | integer >= 1 Invoice amount in millisatoshis. |
| nostr | string URL-encoded Nostr zap request. |
{- "minSendable": 0,
- "maxSendable": 0,
- "metadata": "[[\"text/plain\",\"A cashu lightning address... Neat!\"],[\"text/identifier\",\"alice@npub.cash\"]]",
- "tag": "payRequest",
- "allowsNostr": true,
- "nostrPubkey": "string"
}Follow the verify URL returned when requesting an invoice. The token
grants access to that invoice's status without authentication. Settlement
reflects persisted PAID or ISSUED state from background mint monitoring
and may lag the payment. The preimage is always null, including after
settlement, because Cashu mint quotes do not expose it. Clients requiring
a preimage as proof of payment cannot use this response for that purpose.
| token required | string^[0-9a-f]{64}$ Opaque verification token supplied in the callback response. |
{- "status": "OK",
- "settled": true,
- "preimage": null,
- "pr": "string"
}| name | string Purchased username to resolve. When omitted or unknown, the server returns empty name and relay mappings. |
{- "names": {
- "property1": "string",
- "property2": "string"
},
}