Pay over Lightning
Pays a bolt11 invoice or a Lightning address. Send one or the other, never both - two destinations on a money request is not something we will resolve for you. An invoice carries its own amount, so `amount_sat` is REFUSED alongside one. A Lightning address carries none, so it is required there.
Authorization
KeyID Timestamp Nonce Signature Your key id, gyv_k_live_... or gyv_k_sandbox_....
In: header
Unix seconds. Must be within 5 minutes of our clock.
In: header
A unique value per request. Replays are rejected.
In: header
Ed25519 signature over the canonical string. See the Signing guide.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
A bolt11. Mutually exclusive with lightning_address.
Required with lightning_address, refused with invoice.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/lightning/pay" \ -H "Content-Type: application/json" \ -d '{ "invoice": "lnbc250u1p4fsmyc..." }'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "reference": "string", "status": "successful", "currency": "string", "decimals": 0, "amount": "string", "amount_minor": "string", "fee": "string", "fee_minor": "string", "net": "string", "net_minor": "string", "created_at": "2019-08-24T14:15:22Z" }}Send on-chain
Sends BTC, USDT or USDC to an address on a chain. Lightning has its own route: it shares a rail internally and shares nothing in the shape of a destination. `amount_minor` is in MINOR units, unlike the major strings this API publishes. An outbound amount is an instruction rather than a figure to display, and a decimal here would make the rounding your guess at the moment it matters most.
Transactions
Everything that happened to the project's balance, both directions, newest first.