Bridge documentation digest
What this covers / who it's for. The durable, dated digest of Bridge's public API documentation (
apidocs.bridge.xyz), captured so nobody has to re-research it from scratch, plus a flow-alignment page that maps every Bridge flow onto Stables' own modules and journeys. For engineers building against Bridge (thebridge-sdkpackage and theBridgeRailsProvideradapter, ADR D118). Pages record Bridge behavior as fetched on 2026-09-03.
What this cluster is (and is not)
Bridge (bridge.xyz) is the forward finance vendor (Conduit is legacy, decided 2026-09-02 — see
the provider landscape). Answering "what does Bridge support / charge /
require / restrict?" means fetching Bridge's live docs — the bridge-development skill holds zero
Bridge facts by design, and apidocs.bridge.xyz is always the source of truth. That fetching is
expensive to repeat every time, so this cluster is a point-in-time digest: six pages that
transcribe what the docs said on 2026-09-03, each citing the exact .md URLs fetched and each
flagging the doc inconsistencies and open questions it found.
This is a durable copy, not a replacement for the live docs. It is honest about its own
freshness: every page is date-stamped, and any load-bearing decision must re-verify against the live
page. Treat these pages the way you treat the committed OpenAPI snapshot — a fast, offline,
versioned reference that a live fetch overrides the moment it drifts. Follow the
bridge-development
skill's fetch protocol (llms.txt index → the matching .md page → cite + date) to re-verify.
An open business-model question gates all of this: Bridge's ToS prohibits "Investment or credit services / Digital asset exchange services / Money services / Money transmission services (provided by Users to third parties via Bridge)," and whether that clause permits Stables' own Bridge-backed money-movement offering is unconfirmed — see flow-alignment.md's Open questions, item 1.
The pages
| Page | What it digests | Primary Bridge docs area |
|---|---|---|
| Customers & compliance | Individual onboarding (Customers API vs KYC Links), KYB + UBO/associated persons, ToS ordering, the (non-linear) customer status lifecycle, endorsements per rail + requirement machine codes, region-specific ID/document requirements, high-risk & prohibited activities, restricted-customer caps, supported/prohibited countries | platform/customers/** |
| Transfers, fees & minimums, external accounts | The transfer object + its 13 states, source/destination shapes per rail, fixed vs flexible amounts + fee-mode binding, static templates, source/destination back-fill, errors & recovery, fiat/crypto returns + return policy, funds requests (recalls), external accounts (VoP, Plaid), payment-tracking identifiers, developer fees & minimums, rail-specific rules, cutoffs/settlement/holidays, named payouts | platform/orchestration/transfers/**, .../external-accounts/**, .../fees-and-mins/**, .../more/** |
| Virtual accounts, liquidation addresses & wallets | VA creation per currency/rail, the transfer-only (no fiat balance) auto-convert model, destination options + mutability, multiple VAs + deactivate/reactivate, VA deposit events + deposit_id grouping + per-rail reconciliation keys, deprecated fiat-in surfaces, liquidation addresses + the 12-state drain lifecycle, return instructions, Bridge custodial wallets (chains/precision/approval/geo), initiation_required + SCA initiation{}, bridge_wallet.activity events | platform/orchestration/virtual_accounts/**, .../liquidation_address/**, platform/wallets/** |
| Cards | The Stripe-Issuing card programme: eligibility + the cards endorsement, cardholder/card creation split, funding strategies, authorizations + real-time auth, transactions/withdrawals, freezes + reasons, PIN, statements, mobile-wallet provisioning, designs, fees + money-movement drift, compliance/marketing/support/fraud, webhooks ↔ Stripe | platform/cards/** |
| Webhooks, API mechanics & issuance | The webhook envelope + categories + tolerant event_type parsing, the RSA signature scheme, delivery/retry/ordering/replay, JSON samples, API mechanics (idempotency, pagination, precision/rounding), receipts + pricing, stablecoin issuance + rewards, the most-recent changelog entries | platform/additional-information/webhooks/**, api-reference/introduction/**, platform/issuance/**, changelog/** |
| Guides & use cases | The four-primitive composition, per-currency move-money guides (USD/EUR/BRL/GBP/COP/MXN), recurring/static-template transfers, fiat-to-fiat FX, fixed outputs, offramp via liquidation addresses, common use cases, travel rule + FAQ, supported routes/chains/stablecoins, quick-start + sandbox | get-started/guides/**, get-started/introduction/** |
The alignment page
- Flow alignment — the deliverable that maps every Bridge flow above onto Stables' offering: for each Bridge mechanic, what Bridge does, which Stables module / journey it corresponds to (verified against code), whether it is served today by the D118 adapter, planned in the alignment design, a tracked programme item, not applicable, or an open question — with a consolidated list of the open questions for Bridge and the Bridge realities that shaped our design.
How to refresh
This cluster ages. Refresh it deliberately, not on a schedule:
- Request/response shapes drift → run
make bridge-spec-diff(diffs the live Bridge OpenAPI spec against the committedpackages/stables/bridge-sdk/spec/openapi.jsonsnapshot). A changed shape shows as agit diffon the snapshot; an added/removed operation reddens the SDK coverage test. Update the affected digest page's shape claims in the same change. - Semantics/behavior drift → check
https://apidocs.bridge.xyz/changelog/changelog.md. When the changelog moves for an area a page covers, re-fetch that page's URL set (each page ends with the exact list of.mdURLs it was built from — that list is the fetch set) and reconcile the digest against what comes back. Re-date the page's "Fetched" line to the new fetch date. - Always cite + date. Per the
bridge-developmentskill: never state a Bridge fact without a same-session live fetch behind it when it is load-bearing; this digest is the fast path, the live page is the authority, and a divergence is a bug in the digest to fix in your change. - When Bridge answers an open question, close it in flow-alignment.md §Open questions first — that list is canonical — then remove or annotate the corresponding item on the source page(s)' own "Open questions for Bridge" section so the two never drift apart.