Skip to main content

Overview

All SDK methods throw a MoneiError on failure. Always wrap calls in try/catch:
import MoneiSDK, { MoneiError } from 'monei-sdk';

try {
  const tx = await monei.payout.bankTransfer({ ... });
} catch (err) {
  if (err instanceof MoneiError) {
    console.error(err.statusCode);  // HTTP status code
    console.error(err.message);     // Human-readable error
    console.error(err.code);        // Machine-readable error code
  }
}

Common Error Codes

CodeHTTP StatusMeaning
UNAUTHORIZED401Missing or invalid API key / bearer token
FORBIDDEN403Insufficient permissions or KYC tier too low
NOT_FOUND404Resource does not exist
VALIDATION_ERROR422Invalid request body
INSUFFICIENT_FUNDS400Wallet balance too low
RATE_LIMITED429Too many requests — back off and retry
INTERNAL_ERROR500Something went wrong on our end