Bridge — Customers & Compliance
What this covers / who it's for. A durable, dated digest of Bridge's
platform/customers/*docs (onboarding + KYC/KYB compliance) so nobody re-researches it from scratch. Facts reflectapidocs.bridge.xyzas fetched on 2026-09-03; thebridge-developmentskill's protocol (llms.txt→ matching.mdpage) is how to re-verify a claim. Before trusting a number here, checkchangelog/changelog.md— nothing here is live in Stables code yet:BridgeRailsProvider(D118) is registered but not granted, no mirror handlers exist for Bridge customer objects. "Implications for Stables" per section notes what applies once (or if) onboarding routes to Bridge.
1. Page index
All URLs are apidocs.bridge.xyz paths, fetched 2026-09-03.
| Page | URL | Covers |
|---|---|---|
| Overview | platform/customers/overview.md | Customers API vs KYC Links, ToS-only path, endorsements gate |
| Customers API | platform/customers/customers/api.md | API payloads, kyc_status lifecycle, rejection shape, government-ID table |
| KYC links | platform/customers/customers/kyclinks.md | Hosted (Persona) flow, status transitions, iframe embedding |
| Additional requirements | platform/customers/customers/add_req.md | Re-KYC links, restricted-US-customer limits |
| Endorsements | platform/customers/customers/endorsements.md | Endorsement types, requirements/future_requirements shape |
| Terms of service | platform/customers/customers/tos.md | ToS link flow, signed_agreement_id, v1 vs v2 |
| Rejection reasons | platform/customers/customers/rejection_reasons.md | developer_reason → reason mapping (~48 rows) |
| Missing requirements and issues | platform/customers/customers/missing-requirements-and-issues.md | Every missing/issues machine code |
| BRL Ramp Migration Guide | platform/customers/customers/brl-ramp-migration-guide.md | pix_onramp/pix_offramp split (2026-06-15) |
| Postal code validation | platform/customers/customers/postal-code-validation.md | Per-country postal regex for the cards endorsement |
| EEA updated requirements | platform/customers/customers/eea-updated-requirements.md | MiCA/EMI-CASP EEA field changes (2026-06-15/26) |
| SEPA/Euro transactions | platform/customers/customers/sepa-euro-transactions.md | SEPA prerequisites, excluded regions, "Bridge EEA+" list |
| Individuals | platform/customers/compliance/individuals.md | Standard vs enhanced data, restricted-customer limits, ID types by country |
| Businesses | platform/customers/compliance/businesses/overview.md | Standard vs enhanced KYB data, UBO/control-person definitions |
| Business entity types | platform/customers/compliance/businesses/entity.md | Entity types Bridge recognizes |
| Business ownership documents | platform/customers/compliance/businesses/ownership.md | 25% UBO rule, control-person attestation, acceptable docs |
| Business formation documents | platform/customers/compliance/businesses/formation.md | Acceptable formation docs per entity type |
| Business identification numbers | platform/customers/compliance/businesses/identification.md | Business ID type values by country (~180 rows) |
| High risk business activities | platform/customers/compliance/businesses/highrisk.md | Disclosure list + ToS-prohibited activities list |
| DAOs | platform/customers/compliance/dao.md | DAO core vs enhanced KYB, manager KYC |
| Supported documents | platform/customers/compliance/docs.md | 31 document purposes enum values |
| Proof of address requirements | platform/customers/compliance/poa.md | PoA triggers, accepted docs, 90-day/no-PO-box rules |
| Supported Countries List | platform/customers/compliance/supported-countries-list.md | 251-row risk-tier × rail-support table |
| Business industry codes | platform/customers/compliance/business-industry-list-updated-2022-naics-codes.md | Valid business_industry = NAICS 2022 codes (~1,000 rows) |
2. Individual onboarding: Customers API vs KYC Links
Bridge offers two onboarding channels, chosen per integration, not per customer:
- Customers API — the integrator builds its own UI and
POSTs the full KYC payload toPOST /v0/customers(Idempotency-Key+Api-Keyheaders), then handles remediation viaPUT /v0/customers/{id}(partial bodies, same shape as create). (platform/customers/customers/api.md) - KYC Links — a hosted flow backed by Persona:
POST /v0/kyc_linkswith onlyfull_name,email,type(individual|business), optionalredirect_uri, optionalendorsements: ["sepa"]/endorsement: "base". Returnsid,kyc_link,tos_link,kyc_status,tos_status, latercustomer_id; pollGET /v0/kyc_links/{id}. iframe embedding replaces/verifywith/widgetand passesiframe-origin=encodeURIComponent(window.location.origin)+allow="camera;". (platform/customers/customers/kyclinks.md)
The KYC link's own kyc_status enum (not_started, under_review, incomplete,
awaiting_questionnaire, awaiting_ubo, approved, rejected, paused, offboarded) is
distinct from the resulting customer object's status/kyc_status (§5) — two separate
provider-side fields, not one.
What Bridge does: identity/database checks, sanctions screening, document verification,
manual review where required, endorsement grants. What the integrator does: collect+submit
the full payload (API path) or distribute the hosted link and poll/webhook the customer object
(KYC Links path). Timing: automated decision typically < 1 minute; manual review → next
business day; KYB same-to-next business day. (platform/customers/customers/api.md)
Implications for Stables:
- A
provider_customers-style mapping (see theconduit-mirror-domainsonboarding module pattern) must store the Bridgecustomer_idand, for the hosted path, thekyc_link.idseparately — not interchangeable. - D117's activity declaration runs before either Bridge channel is invoked — a Stables-owned gate, not something Bridge replaces.
- Channel choice (API vs hosted) is undecided for the D118 Bridge adapter's onboarding capability group.
3. Terms of Service acceptance ordering
ToS acceptance is a precondition for Bridge processing any KYC/KYB submission. Two ToS versions exist: v1 (USD/base rails) and v2 (launched 2024-04-14, required for SEPA/EUR).
- New customer:
POST /v0/customers/tos_links(Idempotency-Key) →{url}pointing atdashboard.bridge.xyz/accept-terms-of-service?session_token=…. Withredirect_uri, the app receivessigned_agreement_idas a query param; in an iframe/WebView, listen for apostMessagecarryingsignedAgreementId.signed_agreement_idis then passed intoPOST /v0/customers. - Existing customer / new version:
GET /v0/customers/{id}/tos_acceptance_link→{url}, same redirect/postMessage mechanics. - KYC Links path: ToS is the
tos_linkfield returned alongside the KYC link;tos_statusflipspending→approved. ToS-only without KYC is explicitly supported — "legal acceptance now, onboarding later" (platform/customers/overview.md). Link expiry is not stated — silent (§12). (platform/customers/customers/tos.md)
Implications for Stables: signed_agreement_id + accepted ToS version must be persisted per
customer; a "re-accept ToS" action is needed whenever requirements.missing names
terms_of_service_v1/_v2 (§6). ToS acceptance sits ahead of, not instead of, the D117 gate —
it's Bridge's own precondition, separate from Stables' pre-KYB business-model screen.
4. Business/KYB onboarding: associated persons + UBO rules (incl. EEA 2026-06)
Business payload (type: business) carries business_legal_name, business_type (entity
types: sole proprietorship, GP/LP/LLP, corporation, LLC, trust, cooperative, nonprofit,
foundation, DAO), business_industry (NAICS 2022 code as a string), is_dao, is_high_risk,
high_risk_activities[], conducts_money_services, conducts_money_services_using_bridge,
compliance_screening_explanation, operates_in_prohibited_countries, account_purpose,
source_of_funds, ownership_threshold, has_foreign_tax_registration,
identifying_information[] (ein USA; cnpj BRA, rfc MEX, crn|vat GBR, siren|siret FRA),
documents[], signed_agreement_id. (platform/customers/customers/api.md)
Associated persons — Bridge's docs are internally inconsistent on the field name (§7): the
api.md create-time example uses ultimate_beneficial_owners[], but every other page
(ownership, missing-requirements, EEA, BRL) uses associated_persons[], and there is a dedicated
sub-resource POST|PUT|GET|DELETE /v0/customers/{customerID}/associated_persons/{id}. Person
fields: first_name, last_name, birth_date, email, phone, residential_address{},
identifying_information[], documents[], has_ownership, ownership_percentage,
has_control, is_director, is_signer, title, relationship_established_at,
attested_ownership_structure_at.
UBO rule: every individual owning ≥25% must be identified; identities must be attested by
a control person (has_control: true + attested_ownership_structure_at timestamp) or
substantiated by an ownership document (documents[].purposes: ["ownership_information"]). The
hosted flow reduces this to a checkbox. Missing codes: control_person,
ownership_structure_attestation, business_ownership_document, business_formation_document.
(platform/customers/compliance/businesses/ownership.md)
EEA changes, effective 2026-06-15 for new customers / 2026-06-26 for existing customers
(platform/customers/customers/eea-updated-requirements.md), scoped to individuals whose
residential address is in the EEA or businesses incorporated in the EEA (physical operating
address alone no longer puts a business in scope, per the page's own June-2026 changelog note):
- Ownership document required regardless of attestation for in-scope businesses; full KYC on
all UBOs, ≥1 director (was ≤2), and all signers;
is_directornow mandatory on every associated person; a Letter of Authority (proof_of_signatory_authority) is required for signers who are neither director, owner, nor control person. - Individuals:
place_of_birth{country, city}(country required, city recommended ahead of a 2027 EU-law requirement),nationalities[](deprecates single-valuenationality, both honored during migration),account_purposenow required for all EEA individuals (was high-risk only), both a national ID and a TIN — ownership-% per UBO is now required only for high-risk businesses. - TIN issuing-country match + tax-residency disclosure due 2026-12-31, scoped (per the page's own June-2026 note) to Bridge custodial wallet customers only. Expired government photo IDs now cause loss of endorsement access.
Documents: the canonical purposes enum lives on the Supported documents page (31 values,
including business_formation, ownership_information, ownership_chart, proof_of_address,
evidence_of_good_standing, proof_of_signatory_authority, regulatory_license_registration);
the api.md example payload uses non-canonical purpose strings (statement_of_funds,
ownership_document, proof_of_address_document, formation_document) — treat the enum page and
the missing-requirements page as authoritative, not the example (§7).
Status: every business submission goes through manual review (under_review); awaiting_ubo
while any listed UBO's own application is incomplete. Enhanced KYB (source of funds, revenue,
high-risk disclosures, geographies, money-transmission disclosure) is required to exceed the caps
in §10.
Implications for Stables: business + N associated persons need modeling as separate provider
objects with their own IDs/KYC states plus role flags (has_ownership, has_control,
is_director, is_signer) and an attestation timestamp — a UBO is not a business sub-field. The
EEA field set is a compliance-module concern (app-modules/compliance/README.md) distinct from
D117 — D117 gates whether KYB proceeds, EEA fields are what data it collects, EEA-scoped only.
Document store should key on Bridge's canonical purpose enum, not the API example's strings. NAICS
picker: Stables\Bridge\Lists\IndustryCodes in bridge-sdk already tracks this list — reuse it.
5. Customer status lifecycle (non-linear)
The customer object carries status (aka kyc_status) plus a per-endorsement status; Bridge
recommends gating access on both together, not status alone.
(platform/customers/customers/api.md)
Values observed across pages: not_started, incomplete, awaiting_ubo, under_review,
active (the api.md term) / approved (the KYC-link and endorsement term — terminology drifts
between pages, §7), rejected, deposits_restricted, paused, offboarded, plus
awaiting_questionnaire on KYC links specifically.
Documented transitions: not_started -> incomplete; not_started -> awaiting_ubo;
not_started -> active; not_started -> under_review -> active|rejected;
not_started -> rejected. deposits_restricted, paused, and offboarded are reachable from
any state — a non-linear state machine, not a pipeline. deposits_restricted auto-returns new
incoming deposits but still allows withdrawals; offboarded is permanent. requirements_due[]
on the customer object lists outstanding items (e.g. id_verification, external_account).
Rejection is NOT permanent. rejection_reasons[]{developer_reason, reason, created_at} is an
append-only array; PUT any subset of fields at any time and the customer continues through KYC
— the BRL page repeats "no permanent denial" explicitly. developer_reason is internal-only (may
contain sensitive detail), never shown to an end user; reason is the customer-safe string. The
rejection-reasons page maps ~48 developer_reason → reason pairs (e.g. "Unsupported country" →
"Your region is not supported"). (platform/customers/customers/rejection_reasons.md)
Webhooks referenced (BRL migration page): customer.updated,
customer.updated.status_transitioned, kyc_link.updated.status_transitioned,
virtual_account.created — distinguishing a status transition from a generic update requires
inspecting the endorsement-status sub-object in the payload, not just the event name.
Implications for Stables: a Bridge customer mirror needs a state machine tolerating jumps to
deposits_restricted/paused/offboarded from any prior state — not the linear
pending → approved → active shape other vendor integrations use. developer_reason must route
through the app's redaction/DLP path (never logged raw or shown to a tenant). Resubmission
("fix and retry") is required — rejection is not a dead end. The active/approved drift (§7)
means a mirror's internal status enum should translate, not copy Bridge's field values verbatim.
6. Endorsements per rail + requirements/issues machine codes
An endorsement is Bridge's per-rail eligibility gate — a customer transacts on a rail only
once the matching endorsement is approved. Types: base (USD rails), sepa (EUR), spei
(MXN), pix (BRL — being split into pix_onramp [BR residents only] and pix_offramp [all],
effective 2026-06-15, with pix itself deprecated 2026-07-01), faster_payments (GBP), cop
(COP via Bre-B/bank). A cards endorsement is referenced only from the postal-code-validation
page — it is not defined on the endorsements page itself (§7).
(platform/customers/customers/endorsements.md)
Shape: {name, status: incomplete|approved, requirements: {complete[], pending[], missing: {all_of[]} | null, issues[]}, future_requirements?: {effective_date, pending, missing, issues}}. A legacy shape additional_requirements[] (e.g. kyc_with_proof_of_address,
tos_v2_acceptance) also appears on the SEPA-specific page.
Prerequisites: the ToS version that endorsement needs (base → v1, sepa → v2), plus for
sepa specifically, possibly proof of address (§8). SEPA is unavailable for CAF, EGY, KWT, TUN.
Cross-endorsement dependency codes has_base/has_sepa appear in missing. Requested either at
KYC-link creation (endorsements[]/endorsement) or later via
GET /customers/{id}/kyc_link?endorsement=sepa — no standalone "add endorsement via the Customers
API" endpoint appears on this page set, though the BRL page's phrasing implies one exists in the
API reference (§12). future_requirements is an endorsement approved today that will block on an
effective_date — Bridge expects the integrator to monitor and prompt ahead of time.
Requirements/issues machine codes
(platform/customers/customers/missing-requirements-and-issues.md): missing codes map 1:1 to
payload fields (address_of_incorporation, business_formation_document, control_person,
has_valid_national_id, id_not_expired, nationalities, ownership_structure_attestation,
terms_of_service_v1/_v2, etc.). issues families: age (customer_too_young,
customer_over_age), compatibility (endorsement_not_available_in_customers_region),
document/PoA (poa_invalid_document_type, poa_manipulated, poa_name_mismatch,
poa_past_90_days, poa_virtual_or_po_box), risk flags (high_risk_business_activities,
operates_in_prohibited_countries, suspicious_source_of_funds), database checks
(business_ein_no_match, database_check_failed_on_<field>), terminal declines
(rejected_due_to_unsupported_geo, rejected_due_to_unsupported_business_activities). The BRL
page adds pix-specific codes marked "still being finalized" (selfie_missing,
control_persons_missing) — treat as unstable.
Implications for Stables: endorsements need modeling as a child collection per customer
(name, status, a requirements snapshot, future_requirements + effective_date) — not a flag
on the customer row, since several endorsements can be in different states at once. Product
actions (e.g. "send a EUR payout") should route to the specific endorsement they need, not a
generic "customer is KYC'd" check — the mechanism a future Bridge-routed onboarding capability
(D118) would need to expose alongside D117's activity-to-provider matrix. Build a code →
(field, actor, remediation, user-safe copy) registry for missing/issues codes; treat unknown
codes as "needs manual review," never a silent pass. Schedule reminders ahead of any
future_requirements.effective_date.
7. Bridge doc inconsistencies noticed
- Restricted-US-customer cap window:
individuals.mdsays "$100,000 lifetime";add_req.mdanddao.mdboth say "$100,000 over a 30-day period." Per-transaction figure ($10,000) agrees across all three. Treat 30-day as more likely (2 of 3 sources, matches the DAO cap pattern) but do not build a hard rule without confirming with Bridge (§12). - UBO array field name:
api.md's create example usesultimate_beneficial_owners[]; every other page and the dedicated sub-resource useassociated_persons[]— treat the latter as authoritative (it matches the sub-resource CRUD endpoint). - Document
purposesvalues:api.md's example usesstatement_of_funds/ownership_ document/proof_of_address_document/formation_document, none of which appear in the canonical 31-value enum on.../compliance/docs.md(which hasproof_of_source_of_funds,ownership_information,proof_of_address,business_formationinstead). Treat the enum page as authoritative. - Customer terminal-success status name:
api.mdusesactive; KYC-links and endorsements pages useapprovedfor the same concept. No page reconciles this.
8. Region-specific ID / document requirements
- Individuals (
platform/customers/compliance/individuals.md): ~160-country table ofidentifying_information.type. Universal:tinnon-US;passport|national_id|othervalid for all except USA (ssn|itinonly). Examples:cpf(BRA),curp|ine|rfc(MEX),nino|utr(GBR),steuer_id|idnr(DEU),spi(FRA),dni|cuil|cdi(ARG). A separate ~300-row government-photo-ID matrix (passport/DL/national ID/other; extraction vs verification;*=backside required) lives inapi.md's "Supported Government ID's by Country" table. - Businesses (
.../businesses/identification.md): ~180-country table. Universal non-US:other/vat. US sole props:ssn|itin|ein|passport. Non-US sole props:passport|national_id. Mexico requires the Cédula de Identificación Fiscal confirming the RFC. - EEA (§4 has field-level detail): national-ID + TIN table by country (FRA
nir+spi, DEUsteuer_id, ESPnie+nif, NLDbsn); business registration + tax-ID table (FRAsiren|siret, DEUcrn+ust_idnr, NLDkvk+vat, IRLcro+trn|chy|rcn). - Brazil/pix:
phoneon customer + each associated person,identifying_information.issuing_country,cpf(individuals)/cnpj(businesses) for Brazilians,liveness_check_selfies[],incorporation_date. (.../brl-ramp-migration-guide.md) - Postal codes: validated per-country only for the
cardsendorsement (~180 countries have a regex); unlisted countries skip validation. (.../postal-code-validation.md)
Implications for Stables: a country → {individual ID types, business ID types, doc matrix,
postal regex, EEA/BR extra fields} lookup table is the natural shape for a dynamic onboarding
form — but per the bridge-development skill, treat this page as a pointer, not a copy source;
re-fetch the live tables when building it. Model identifying_information as a list per
person/business — multiple ID types is now normal, not an edge case (EEA requires a national ID
and a TIN simultaneously).
9. High-risk and prohibited activities
Must-disclose high-risk activities (fields is_high_risk, high_risk_activities[],
conducts_money_services, conducts_money_services_using_bridge,
compliance_screening_explanation): Money Services (check cashing, gift cards, ATMs,
remittances), Lending or Banking, Operate Foreign Exchange/Virtual Currencies Brokerage/OTC, Hold
Client Funds (escrow), Third-Party Payment Processing. Enhanced KYB additionally asks about
high-risk geographies (Cuba, Iran, Myanmar, North Korea, Syria) and money-transmission disclosure.
Prohibited by ToS — quoted verbatim from
platform/customers/compliance/businesses/highrisk.md because the exact wording matters for a
business-model determination (see below):
Unlawful or abusive activity; Unfair, predatory or deceptive practices; Fraud; Games of chance; Gambling; Sweepstakes; Lotteries; Weapons; Precious metals; Jewelry; Watches; Luxury goods; Unlawful prediction markets; Intellectual property infringement; Check cashing; Bail bonds; Collections agencies; Safe Deposit Box Rentals; Counterfeit or unauthorized goods; Cannabis; Cannabis related products and services; Pharmaceuticals; Tobacco products; Substances designed to mimic illegal drugs; Adult content and services; Multi-level marketing; Mixing; Investment or credit services (provided by Users to third parties via Bridge); Digital asset exchange services (provided by Users to third parties via Bridge); Money services (provided by Users to third parties via Bridge); Money transmission services (provided by Users to third parties via Bridge); Any business that Bridge believes poses elevated financial risk, legal liability, or violate Payment Services Provider rules, card network rules or bank policies.
Outcome codes: high_risk_business_activities,
rejected_due_to_unsupported_business_activities, operates_in_prohibited_countries.
Implications for Stables: a pre-KYB activity-declaration step must capture the disclosure fields verbatim and pre-screen against the prohibited list before submitting to Bridge — exactly the shape of the D117 activity declaration gate; this page is the authoritative Bridge-side source for that matrix (distinct from Sumsub's or any other vendor's list). Business-model flag: the bolded lines above read as prohibiting Bridge-hosted customers from reselling Bridge-backed money-movement/exchange capability to their own end users — a business-model question for Stables to resolve, not an engineering one (§12).
10. Restricted-customer caps
Bridge allows a "restricted" individual customer path in the US that skips photo-ID verification,
subject to a transaction cap. Confirmed across three pages that the per-transaction cap is
$10,000; the aggregate cap and its window are the §7 inconsistency ($100,000 lifetime per
individuals.md vs $100,000/30 days per add_req.md and dao.md). Above the cap, photo ID
verification is required (requirements_due: ["id_verification"]) via a new hosted URL or a
PUT. DAO "Core" customers and standard (non-DAO) businesses carry the same $10,000/txn,
$100,000/30-day structure before Enhanced KYB is required
(platform/customers/compliance/dao.md, .../businesses/overview.md).
Implications for Stables: a restricted-customer onboarding path (skip photo ID, accept the
cap) needs its own limit-enforcement logic distinct from the endorsement/status gates in §5–§6 —
a customer can be fully active/approved and still be capped. Do not hardcode the aggregate
window (lifetime vs 30-day) without confirming with Bridge first (§12).
11. Supported / prohibited countries
platform/customers/compliance/supported-countries-list.md is a 251-row table (country/
territory, risk tier, per-rail support columns).
Reading the table: tiers are Prohibited (20 rows — AFG, BLR, COD, CUB, Gaza/West Bank, IRN, IRQ, LBN, LBY, MMR, PRK, RUS, SOM, SSD, SDN, SYR, Ukrainian-occupied territories, VEN, YEM), High (96 — extra diligence/enhanced KYC-KYB), Medium (83), Low (52). A handful of High-tier countries carry "No" across every rail column (Algeria, Burundi, China, Guinea-Bissau, Japan, Tunisia) — risk-tiered but not actually onboardable; read tier + rail columns together. Rail columns: US ACH/FedWire, SEPA (EUR), FPS (GBP), SPEI/PIX/Bre-B, Crypto-to-Crypto, Custodial wallets — non-uniform even within a tier (e.g. no US ACH for BGD, HTI, KEN, MOZ, NPL, NER, PAK, ZWE, BTN, XKX, MAR, QAT; no SEPA/FPS for CAF, ERI, MLI; no custodial wallets for IDN, THA, HKG, MYS, AUS, NZL, SGP).
US-specific: excluded when the principal residential/operating address is in New York (NY
incorporation with operations elsewhere is fine, with proof of address); Florida and Louisiana are
now supported. Missing codes subdivision_not_ny_usa/subdivision_not_ak_usa (§6) imply Alaska
is gated too, though the countries-list page itself is silent on Alaska.
This table governs onboarding eligibility by residence/incorporation country — not which
countries a transaction can move money to (the rail-specific page,
platform/orchestration/more/rail-specific.md, out of this digest's scope).
Implications for Stables: keep a versioned copy of the tier/rail table (re-fetch per the
bridge-development skill's freshness discipline rather than assuming these counts stay current)
— gate onboarding intake by residence/incorporation country + US state before submitting to
Bridge, not after a rejection; drive enhanced-KYC/KYB prompting off the High tier; surface
endorsement_not_available_in_customers_region explicitly rather than a generic error.
12. Open questions for Bridge
Consolidated + tracked in flow-alignment.md §Open questions; this section keeps this page's own detail.
- Is the restricted-US-customer aggregate cap $100,000 lifetime or $100,000 per 30-day period? Individuals page says lifetime; add_req and DAO pages say 30-day (§7, §10).
- Correct field name for a business's beneficial owners at customer creation:
ultimate_beneficial_owners[](api.mdcreate example) orassociated_persons[](every other page + the dedicated sub-resource)? (§7) - Is there a standalone "request/add an endorsement on an existing customer via the Customers
API" endpoint? Implied by the BRL page's phrasing, not shown in
platform/customers/*(§6). - Do ToS links or KYC links expire, and if so after how long? Not stated on any fetched page (§3).
- Full enum values for
business_type,account_purpose,source_of_funds,employment_status,expected_monthly_payments,estimated_annual_revenue_usd,high_risk_activities? Only single examples appear inplatform/customers/*. - Does the ToS-prohibited-activities clause on "Investment or credit services / Digital asset exchange services / Money services / Money transmission services (provided by Users to third parties via Bridge)" (§9) actually prohibit Stables' own business model of offering Bridge-backed money movement to Stables' tenants/customers? Needs a direct answer from Bridge, not an inference from the docs.
- What are the requirements specific to the
cardsendorsement? Only postal-code validation is documented underplatform/customers/*; the rest presumably lives underplatform/cards/*. - Rate limits and PII retention periods for customer/KYC data are not stated on any fetched page.
13. Fetched 2026-09-03
Full URL list (all under https://apidocs.bridge.xyz/), llms.txt-indexed pages plus three linked
pages not in the index (EEA updated requirements, business industry codes, SEPA/Euro
transactions):
platform/customers/overview.md
platform/customers/customers/api.md
platform/customers/customers/kyclinks.md
platform/customers/customers/add_req.md
platform/customers/customers/endorsements.md
platform/customers/customers/tos.md
platform/customers/customers/rejection_reasons.md
platform/customers/customers/missing-requirements-and-issues.md
platform/customers/customers/brl-ramp-migration-guide.md
platform/customers/customers/postal-code-validation.md
platform/customers/customers/eea-updated-requirements.md
platform/customers/customers/sepa-euro-transactions.md
platform/customers/compliance/individuals.md
platform/customers/compliance/businesses/overview.md
platform/customers/compliance/businesses/entity.md
platform/customers/compliance/businesses/ownership.md
platform/customers/compliance/businesses/formation.md
platform/customers/compliance/businesses/identification.md
platform/customers/compliance/businesses/highrisk.md
platform/customers/compliance/dao.md
platform/customers/compliance/docs.md
platform/customers/compliance/poa.md
platform/customers/compliance/supported-countries-list.md
platform/customers/compliance/business-industry-list-updated-2022-naics-codes.md