Skip to main content

Wave.Space API

As a developer, I would like an API I could call from other services

1 comment

Log in to comment and vote

Comments1

  • Ben Weeks

    •

    Feb 6

    From Claude:

    Proposed Endpoints

    1. Account & Profile

    GET /api/v1/account # Account info, KYC status, limits GET /api/v1/account/limits # Current spending/swap limits

    1. Cards (Wavecard Management)

    GET /api/v1/cards # List all cards GET /api/v1/cards/{card_id} # Card details (status, last 4 digits, linked NWC) POST /api/v1/cards # Request a new virtual card PATCH /api/v1/cards/{card_id} # Update card settings (freeze/unfreeze, spending limits) DELETE /api/v1/cards/{card_id} # Deactivate a card GET /api/v1/cards/{card_id}/balance # Current card balance (sats + EUR equivalent) GET /api/v1/cards/{card_id}/transactions # Transaction history for a specific card

    This directly supports your "Individual NWC Per Card" feature — each card's NWC connection could be configured via:

    PUT /api/v1/cards/{card_id}/nwc # Set/update NWC connection string for a card GET /api/v1/cards/{card_id}/nwc # Get current NWC config DELETE /api/v1/cards/{card_id}/nwc # Remove NWC link

    1. Balances

    GET /api/v1/balance # Aggregate balance across all cards (sats + EUR) GET /api/v1/balance/history # Balance over time (for charts/dashboards)

    This is the primary endpoint an LNbits extension would poll — showing your Wave.Space card balance alongside your Lightning wallet balance in one view.

    1. Swaps (BTC ↔ EUR)

    POST /api/v1/swaps # Initiate a swap (direction, amount, destination) GET /api/v1/swaps/{swap_id} # Swap status (pending, completed, failed) GET /api/v1/swaps # Swap history with filters GET /api/v1/swaps/quote # Get a real-time quote (rate, fees) before committing

    Example request body for POST /api/v1/swaps: { "direction": "btc_to_eur", "amount_sats": 100000, "destination": "iban", "destination_id": "saved_iban_1" }

    1. Bank Accounts (SEPA)

    GET /api/v1/bank-accounts # List linked/whitelisted bank accounts POST /api/v1/bank-accounts # Add a new bank account DELETE /api/v1/bank-accounts/{id} # Remove a bank account

    This also addresses the "Whitelisted Wallets Improvement" feature request — allowing deletion and management of saved addresses programmatically.

    1. Transactions

    GET /api/v1/transactions # All transactions (card spend, swaps, top-ups) GET /api/v1/transactions/{tx_id} # Single transaction detail GET /api/v1/transactions/export # CSV/JSON export (supports your Tax Tracking feature)

    Query parameters: ?type=card_spend|swap|topup, ?from=2025-01-01, ?to=2025-12-31, ?card_id=xxx

    1. Webhooks (Event Notifications)

    POST /api/v1/webhooks # Register a webhook URL GET /api/v1/webhooks # List registered webhooks DELETE /api/v1/webhooks/{id} # Remove a webhook

    Events to subscribe to:

    • card.transaction — real-time card spend notification

    • swap.completed — swap finalized

    • swap.failed — swap failed

    • card.topup — card topped up via Lightning

    • balance.low — balance below user-defined threshold