@moonpay/platform-sdk-node
v1.9.0
Published
MoonPay Developer Platform server-side SDK for Node.js
Keywords
Readme
@moonpay/platform-sdk-node
Server-side SDK for the MoonPay Developer Platform. Creates and revokes customer sessions using your secret API key — the first step of every Platform integration. The resulting session token is what you pass to the browser (@moonpay/platform-sdk-web) or React Native (@moonpay/platform-sdk-react-native) SDK.
Your secret API key must never reach the client — use this package only in server-side environments (Node.js, edge functions).
Installation
npm install @moonpay/platform-sdk-nodeQuick start
import { createServerClient } from '@moonpay/platform-sdk-node';
const client = createServerClient({ apiKey: process.env.MOONPAY_API_KEY });
const result = await client.createSession({
externalCustomerId: 'customer-123', // your unique customer identifier
deviceIp: request.ip, // the customer's device IP
});
if (!result.ok) {
console.error(result.error);
return;
}
// Send to your frontend — single-use, expires after 24 hours
const { sessionToken } = result.value;All methods return a Result<T, E> discriminated union instead of throwing — check result.ok before using result.value.
What the client provides
createSession()— issue a session token for a customer.emailandphoneNumbermust be passed together when provided.revokeSession()— revoke a previously issued session token.exportCustomer()— exchange a one-time consent token (captured client-side viasetupCustomerExport()in the web/RN SDK) for the customer's verified MoonPay identity.
Related packages
| Package | Use it for |
|---------|------------|
| @moonpay/platform-sdk-web | Browser integrations |
| @moonpay/platform-sdk-react-native | React Native apps |
| @moonpay/platform-protocol | Shared protocol and API types |
Documentation
Full guides and API reference: dev.moonpay.com
License
MIT
