Lux Financial

Transfers

Fund transfer API — ACH, Wire, SEPA, SWIFT, PIX, SPEI, and crypto across multiple chains.

Transfers

Transfers move funds between accounts, wallets, and external bank accounts. Supports multiple payment rails including ACH, Wire, SEPA, SWIFT, PIX, and SPEI across fiat and crypto.

Create a Transfer

POST /v0/transfers

ACH to Crypto (Onramp)

{
  "amount": "1000.00",
  "on_behalf_of": "cus_xyz789",
  "source": { "payment_rail": "ach_push", "currency": "usd" },
  "destination": {
    "payment_rail": "ethereum",
    "currency": "usdc",
    "to_address": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F"
  }
}

Crypto to Wire (Offramp)

{
  "amount": "50000.00",
  "on_behalf_of": "cus_xyz789",
  "source": {
    "payment_rail": "polygon",
    "currency": "usdc",
    "from_address": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F"
  },
  "destination": {
    "payment_rail": "wire",
    "currency": "usd",
    "external_account_id": "ext_abc123"
  }
}

SWIFT International

{
  "amount": "100000.00",
  "on_behalf_of": "cus_xyz789",
  "source": { "payment_rail": "polygon", "currency": "usdc", "from_address": "0x..." },
  "destination": {
    "payment_rail": "swift",
    "currency": "usd",
    "external_account_id": "ext_intl123",
    "swift_charges": "sha"
  }
}

SEPA (EUR), PIX (BRL), SPEI (MXN)

All regional rails follow the same pattern — specify the payment_rail and currency:

{ "source": { "payment_rail": "sepa", "currency": "eur" } }
{ "source": { "payment_rail": "pix", "currency": "brl" } }
{ "source": { "payment_rail": "spei", "currency": "mxn" } }

Transfer State Lifecycle

awaiting_funds → funds_received → in_review → payment_submitted → payment_processed
                                            ↘ canceled
                                            ↘ undeliverable → returned / refunded

Payment Rails

Fiat Rails

RailCurrenciesDescription
ach / ach_push / ach_same_dayUSDACH (standard / push / same-day)
wireUSDDomestic wire transfer
swiftUSDInternational wire (SWIFT)
sepaEURSEPA transfer (EU)
faster_paymentsGBPUK Faster Payments
pixBRLBrazil instant payments
speiMXNMexico interbank transfer

Crypto Rails

RailAssetsDescription
ethereumUSDC, USDT, DAI, PYUSDEthereum mainnet
polygonUSDC, USDTPolygon PoS
arbitrumUSDC, USDTArbitrum One
optimismUSDC, USDTOptimism
baseUSDC, USDTBase
solanaUSDC, USDTSolana
stellarUSDCStellar network
tronUSDTTron network

Receipt Object

{
  "receipt": {
    "initial_amount": "1000.00",
    "developer_fee": "5.00",
    "exchange_fee": "2.50",
    "subtotal_amount": "992.50",
    "gas_fee": "0.50",
    "final_amount": "992.00",
    "source_tx_hash": "0xabc123...",
    "exchange_rate": "0.91"
  }
}

SDK Example

const transfer = await lux.transfers.create({
  amount: '1000.00',
  on_behalf_of: 'cus_xyz789',
  developer_fee: '5.00',
  source: {
    payment_rail: 'ethereum',
    currency: 'usdc',
    from_address: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F',
  },
  destination: {
    payment_rail: 'ach',
    currency: 'usd',
    external_account_id: 'ext_abc123',
  },
}, {
  idempotencyKey: 'unique-key-123',
});

On this page