Skip to main content
The Corridor API lets you create USDC-to-local-currency payout corridors, fetch real-time FX quotes, and initiate bank-rail payments for recipients in Brazil, Mexico, Nigeria, Kenya, and South Africa. Every request (except the health check) must be authenticated with your org API key, and all responses follow a consistent JSON structure.

Base URL

EnvironmentURL
Productionhttps://corridor.meterlane.app

Authentication

Include your API key as a Bearer token in the Authorization header of every request.
Authorization: Bearer bp_live_…
You can find and rotate your API keys in the Meterlane dashboard under Settings → API Keys.

Supported Currencies

CodeCountry
BRLBrazil
MXNMexico
NGNNigeria
KESKenya
ZARSouth Africa

Error Format

All errors return a JSON object with three fields: code, message, and requestId. Use requestId when contacting support to help diagnose issues faster.
{
  "code": "CORRIDOR_NOT_ACTIVE",
  "message": "Corridor must be ACTIVE to initiate payment",
  "requestId": "req_01j9z8k2m4p6q7r3s5t0"
}
CodeHTTP StatusDescription
BAD_REQUEST400Malformed request body or missing required field
CORRIDOR_NOT_ACTIVE409The corridor’s status is not ACTIVE
INVALID_CURRENCY400destCurrency is not in the supported set
INVALID_AMOUNT400Amount is missing, non-numeric, or not positive
INVALID_BENEFICIARY400Beneficiary field failed validation (e.g. wrong digit count for country)
MISSING_IDEMPOTENCY_KEY400Idempotency-Key header was not provided on a pay request
NOT_FOUND404Corridor ID does not exist or does not belong to your org
UPSTREAM_ERROR502Circle API returned an error while fetching a quote or initiating payment

Endpoints

The table below summarises every available route. Click the page links in the right column for full request/response details.
MethodPathAuth RequiredPurpose
GET/healthzNoService health check
POST/corridorsYesCreate a new corridor
GET/corridors/:idYesRetrieve a corridor by ID
GET/corridors/:id/quoteYesGet a live FX quote
POST/corridors/:id/payYesInitiate a payout
POST/webhooks/circleCircle-SignatureReceive Circle payment events
POST /corridors/:id/pay requires an additional Idempotency-Key header to safely retry requests without creating duplicate payments. Omitting it returns a 400 MISSING_IDEMPOTENCY_KEY error.

Corridors

Create corridors, fetch FX quotes, and initiate payouts.

Webhooks

Receive Circle payment status events via HMAC-verified webhooks.