API Reference v1

Multi-Rail Orchestration API

Programmatically dispatch instant worker payouts, verify non-custodial wallets, and manage rail routing.

POST/api/v1/payout

Dispatch an instant multi-rail payout to a worker destination.

{
  "workerId": "wrk_982401",           // Required: Worker entity ID for KYC & velocity tracking
  "rail": "solana",                   // Enum: "solana" | "xrpl" | "base" | "instant_bank" | "ach"
  "destination": "7xKXtg2...",        // Wallet address OR encrypted bank token
  "rail": "solana",                   // Enum: "solana" | "xrpl" | "base" | "paypal" | "instant_bank" | "ach"
  "destination": "7xKXtg2...",        // Wallet address, PayPal email/phone, or bank token
  "amount": "85.50",                  // Payout amount in decimal string
  "currency": "USDC",                 // "USDC" | "RLUSD" | "XRP" | "SOL" | "USD"
  "idempotencyKey": "idem_882a9f10",  // Recommended: Prevent duplicate dispatches
  "memo": "Shift payment #4102",      // Optional customer reference
  "recipientEmail": "worker@corp.com",// Optional / required if rail === "paypal" with email
  "recipientPhone": "+14155552671",  // Optional / alternative if rail === "paypal" with phone
  "routingNumber": "121000358",       // Required only if rail === "instant_bank" | "ach"
  "accountNumber": "9876543210"       // Required only if rail === "instant_bank" | "ach"
}

Field Definitions

FieldTypeRequirementDescription
workerIdstringRequiredWorker account identifier linking identity to compliance velocity thresholds.
railstringRequiredRouting destination: "solana", "xrpl", "base", "instant_bank", or "ach".
destinationstringRequired for CryptoPublic wallet address (Solana base58, XRPL classic, or Base 0x address).
amountstringRequiredPayout amount formatted as decimal string (e.g. "50.00").
currencystringRequiredSettlement currency: "USDC", "RLUSD", "XRP", "SOL", or "USD".

Rail-Level Error Handling & Reject Codes

InstaPay IPX returns deterministic error codes when rail validation, screening, or consensus fails.

WALLET_NOT_VERIFIEDHTTP 400
Solana / XRPL / Base

Worker destination address has not signed the 1-second challenge nonce or failed address checksum validation.

VELOCITY_LIMIT_EXCEEDEDHTTP 422
All Rails

Worker or merchant has surpassed the unverified tier velocity limit ($2,000 unverified limit). Tier 2 enhanced KYC required.

COMPLIANCE_SCREENING_FAILEDHTTP 403
All Rails

Automated OFAC SDN or AML risk screening flagged the recipient address or counterparty. Failed closed automatically.

INVALID_ROUTING_NUMBERHTTP 400
FedNow / RTP / ACH

The 9-digit ABA routing transit number failed Federal Reserve checksum or does not support real-time credit receive.

LIQUIDITY_POOL_TIMEOUTHTTP 504
XRPL / Solana Swaps

Automated liquidity pool or cross-currency pathfinding exceeded maximum slippage tolerance or timed out.

PAYOUT_AMBIGUOUSHTTP 202
All Rails

Network timeout occurred while waiting for validator consensus. Transaction entered automatic reconciliation queue.