@cfxlabsinc/b2b-services
    Preparing search index...

    Type Alias WithdrawalMethodVendorId

    WithdrawalMethodVendorId: string

    methodData.vendorId — the external id of the product_vendor the routing engine picked for this quote (dart, route_fusion, metcap, cfx), snapshotted so execution dispatches on the decision the quote recorded rather than re-deriving it.

    It exists alongside bankId, not instead of it. bankId is resolved by LEFT JOIN through product_vendor.bank_id, which is NULL for every vendor that fronts banks rather than being one — so bankId cannot distinguish route_fusion from cfx from self_custody, and a bankId-only branch silently lumps all of them into its default case.

    Optional because it is a jsonb field added after the fact: quotes written before it shipped carry no vendorId, and readers must treat undefined as "pre-dates the field" and fall back to the bankId behaviour rather than assuming a vendor. Typed as string rather than the Vendor union because @cfxlabsinc/db schema files do not import their own domain unions, and the value is a free-form product_vendor.external_id anyway.