VITE_API_URL to this backend.
Base URL
Authentication
The API does not require tokens or sessions. Wallet identity is asserted via a single HTTP header:WalletConnect Transactions
Most on-chain build endpoints return awcTransaction object rather than broadcasting directly. The frontend passes this to the connected wallet (Paytaca, Selene) via WalletConnect v2 using bch_signTransaction. After the wallet signs and broadcasts, the frontend calls the corresponding confirm-* endpoint with the resulting txHash.
Common Response Shape
Many endpoints include"success": true at the top level:
success wrapper. Errors return a non-2xx status with "error" and optionally "message":
Lifecycle Pattern
Most on-chain actions follow this two-step lifecycle:Build
Call a build endpoint that returns a wallet payload (for example
GET /api/streams/:id/funding-info, POST /api/streams/:id/claim, or POST /api/airdrops/:id/pause)./api/streams/create, /api/payments/create, /api/airdrops/create) return deployment metadata first, then require a separate funding build call.
Status Values
Most stream/distribution resources share this status lifecycle:| Status | Meaning |
|---|---|
PENDING | Contract deployed, awaiting funding |
ACTIVE | Funded and live on-chain |
PAUSED | Temporarily halted by authority |
CANCELLED | Terminated early, funds returned |
COMPLETED | All obligations fulfilled |
pending, approved, executed, rejected for treasury proposals).
