Skip to main content
A partner is a spoke. Implement this interface once and every customer on Corridor can collect from or pay out to your currencies, and every other region can reach them through the hub.

The interface

The order

Every provider is normalised to one lifecycle: open → processing → completed | failed.
object

Requirements

1

Settle in USDC on Solana or Base

Corridor funds payouts and receives collections in USDC on the chain you name.
2

One-off addresses

A fresh funding address per payout (or a deposit memo) and a fresh virtual account per collection, so every movement maps to exactly one order.
3

Echo the reference

Carry the 32-byte Corridor Reference in a free-text field and return it on webhooks.
4

Signed webhooks

HMAC over a timestamp and the raw body, verified in constant time within a 5-minute window. Paj’s scheme works as-is.

How Corridor uses it

  • A PartnerRegistry picks the partner per (currency, direction, chain).
  • Exactly-once funding: the payout leg records the order and the funding transaction durably, so retries reuse them.
  • Failure after funding stops at manual_review; Corridor never unwinds its own books while the money is at the partner.
  • Each completed order becomes an Observation (partner_fiat, ${partner}:${orderId}) for reconciliation.

Candidate partners