Zaps

Request a zap invoice for an image (wallet → creator)

Mints a bolt11 invoice from the RECIPIENT's own Lightning address — the uploader's lightning_address, or the platform's address for imported (system-uploaded) content — and answers a signed ticket the client redeems at POST /v1/zaps/redeem once the invoice is paid. MemeStack holds nothing: the sats go straight to the recipient's wallet, there is no fee and no balance, and nothing is written until settlement is proven. attested says whether the recipient's provider is one whose settlement proof counts (an unattested zap is recorded as a receipt for the creator and never enters the counters or rankings). Optional authentication: a logged-in payer is recorded on the zap and earns a streak; anonymous zaps are recorded under the anonymous system user. Rate limited 10/min/IP. Returns 404 while ZAPS_ENABLED is off.

post/v1/images/{id}/zap

Request

  • Base URL: https://api.memestack.ai
  • URL: https://api.memestack.ai/v1/images/{id}/zap
  • Auth: one of:
    • none
    • HTTP bearer

Path parameters

idstring uuid required

Request body

amount_satsinteger required

Whole sats, 10–100,000.

Response

The zap offer (Cache-Control: private, no-store). Pay invoice before invoice_expires_at, then redeem ticket before ticket_expires_at (15 minutes).

ticketstring

Signed zap ticket — the only thing the server remembers between offer and redeem.

invoicestring

bolt11 invoice for exactly amount_sats, payable to the recipient.

amount_satsinteger
invoice_expires_atstring date-time
ticket_expires_atstring date-time
verify_supportedboolean

True when the recipient's provider implements LUD-21 verify, so the redeem can confirm payment without a preimage.

attestedboolean

Changes

No recorded changes to this operation across all 1 revision of this API.