Lumeo Docs
Getting Started

Environments

Sandbox vs production — base URLs, test data, and switching guidance.

Lumeo has two fully isolated environments. All endpoints, event types, and webhook behaviors are identical between them — only the base URL and key prefix differ.

EnvironmentBase URLKey prefix
Sandboxhttps://api-sandbox.lumeo.co.in/api/v1sk_sandbox_
Productionhttps://api.lumeo.co.in/api/v1sk_live_

Isolation guarantees

  • Separate databases, separate ledger accounts, separate webhook delivery queues.
  • Nothing created in sandbox is visible in production or counted toward billing or compliance records.
  • Sandbox settlement uses Stellar testnet contracts and OnMeta/Crossmint test credentials — no real money moves.

Switching environments

API keys are environment-scoped — a sandbox key is rejected by the production base URL and vice versa. There is no environment flag in the request body. To switch: swap the base URL and the key.

// Sandbox
const lumeo = new LumeoClient({
  apiKey: process.env.LUMEO_SANDBOX_KEY!,
  baseUrl: "https://api-sandbox.lumeo.co.in/api/v1",
});

// Production
const lumeo = new LumeoClient({
  apiKey: process.env.LUMEO_LIVE_KEY!,
  // baseUrl defaults to production
});

Test recipients in sandbox

Use these pre-seeded addresses in sandbox to simulate specific outcomes:

Recipient addressSimulates
GTEST_SUCCESS_ADDR_XXXXXXXXXXXXXXXXXXImmediate settlement — CONFIRMED within 5 s
GTEST_DELAY_ADDR_XXXXXXXXXXXXXXXXXX30-second settlement delay — useful for testing webhook retry handling
GTEST_FAIL_ADDR_XXXXXXXXXXXXXXXXXXPayment fails with FAILED status and failedReason: recipient_invalid
GTEST_COMPLIANCE_ADDR_XXXXXXXXXXXXXXXTriggers MANUAL_REVIEW — simulates a compliance hold

Webhook events fire in sandbox exactly as they do in production, including retries on non-2xx handler responses. See Handle webhook retries for the delivery SLA and retry schedule.

Simulating webhook events

In sandbox, you can manually trigger a webhook delivery without waiting for a real settlement cycle:

curl -X POST https://api-sandbox.lumeo.co.in/api/v1/sandbox/trigger-event \
  -H "Authorization: Bearer sk_sandbox_..." \
  -H "Content-Type: application/json" \
  -d '{
    "event": "payout.settled",
    "paymentId": "clx1a2b3c4d5e6f7g8h9"
  }'

This is only available in sandbox. Attempting it against the production base URL returns 404.

On this page