Skip to main content

Bridge Integration

Bridge is the fiat rail inside Remlo. All Bridge calls go through lib/bridge.ts or server route handlers. Client components never call Bridge directly.

Runtime model

PropertyValue
Production base URLhttps://api.bridge.xyz/v0
Sandbox base URLhttps://api.sandbox.bridge.xyz/v0
Auth headerApi-Key: <BRIDGE_API_KEY>
IdempotencyIdempotency-Key on write requests
VerificationCanonical x-webhook-signature header, with legacy bridge-signature accepted for compatibility

Route mapping

Remlo routeBridge operationPurpose
POST /api/employees/[id]/kycPOST /customers, POST /kyc_linksCreate employee Bridge customer and return a KYC URL
GET /api/employers/[id]/treasuryNo direct Bridge call on read pathSurface treasury state after deposits are accounted for in Remlo
Reserved in master: POST /api/employers/[id]/treasuryPOST /customers/{id}/virtual_accountsCreate a deposit account for employer funding
GET/POST /api/employees/[id]/cardPOST /customers/{id}/card_accountsRead card status or issue a Visa prepaid debit card
POST /api/employees/[id]/offrampPOST /transfersPush payroll balance to ACH, SEPA, SPEI, or PIX from the employee portal
POST /api/mpp/bridge/offrampPOST /transfersMachine-paid off-ramp route for agents and external callers
POST /api/webhooks/bridgeIncoming Bridge webhookUpdate KYC and transfer state inside Supabase

Canonical webhook families

  • transfer.payment_processed
  • card_transaction.created
  • customer.updated
The route also accepts older compatibility names still seen in some sandboxes:
  • transfer.state_changed
  • card.transaction
  • kyc.status_updated

Supported money paths in current code

  • Employee KYC links
  • Employee Bridge customer creation
  • Employee card issuance
  • Employee off-ramp transfers from Bridge wallet balance to bank rails
  • Machine-paid off-ramp via the MPP route