Skip to main content
Pulse Collect lets your users pay in stablecoin while you receive fiat where you need it — NGN to a user’s named virtual account, USD to your omnibus. Your backend creates a payment session, a drop-in component renders the money moment inside your own UI, and settlement is confirmed by signed webhooks. Your brand is on every screen.
What’s live today — updated 2026-07-23. The direct engine APIs — quotes, rates, offramp, onramp, and bank resolution, called from your backend with an sk_ API key — are live and reconciled against the Pulse engine. The embedded collection product documented here (server-minted cs_ client sessions, the drop-in components, and signed webhooks) is in preview: it runs against the sandbox today, and order lifecycle is observed by polling collectionOrders.retrieve rather than by webhook. Treat the client-session and webhook shapes as provisional until they land on the engine — details in Contract status.

How the pieces fit

Your secret key (sk_…) and any user identity (BVN/NIN) stay only between your backend and Pulse. The browser only ever holds a single short-lived client session token (cs_…) scoped to one order — never the secret key.
Credit a customer only after a verified disbursement.completed webhook. Client-side callbacks such as onSuccess are UX signals — they can be spoofed. The signed webhook is the only source of truth for crediting a user.

Quickstart

Zero to a working sandbox integration.

Backend integration

Sessions, rates, and webhooks with @pulsebyshiga/node.

Render the payment moment

In-app, embedded, hosted, or fully headless.

SDK Reference

Every method and webhook event.