Currency decides the rail, not the amount
The routing engine here is the same RailRouter the payment engine calls,
so this page cannot drift from the code it explains.
The brief's rules
amount > $500,000 => FEDWIRE urgent and amount < $100,000 => FEDNOW or SEPA_INSTANT
- EUR 600,000 satisfies the first rule and routes to Fedwire, which settles only US dollars.
- GBP 250,000 matches neither rule, so no rail is selected at all and CHAPS is unreachable.
- “FEDNOW or SEPA_INSTANT” is not a choice: FedNow is USD-only, SEPA Instant is EUR-only.
- $100,000 was FedNow's participant-elected default, never a scheme maximum.
- SEPA Instant's €100,000 cap was removed in the 2025 rulebook.
What this engine does
1. currency -> which rails can physically carry it 2. scheme -> hard maximum, verified against the operator 3. policy -> the bank's own thresholds, configurable
A payment no rail can carry is refused, rather than emitted as an unsendable instruction. SWIFT is kept as the cross-border fallback but labelled honestly: it is a messaging network, not a settlement system.
Rail eligibility
Which rail can carry which currency, and its verified scheme maximum
| Rail | Settles | USD | EUR | GBP | CHF | JPY | Scheme maximum | Identifier |
|---|---|---|---|---|---|---|---|---|
| FEDNOW | USD | yes | — | — | — | — | 10,000,000.00 | ABA |
| FEDWIRE | USD | yes | — | — | — | — | 9,999,999,999.99 | ABA |
| SEPA INSTANT | EUR | — | yes | — | — | — | none | BIC |
| CHAPS | GBP | — | — | yes | — | — | none | SORT_CODE |
| SWIFT | — | yes | yes | yes | yes | yes | none | BIC |
CHF and JPY have no domestic rail on this platform, so every eligible cell is SWIFT. FedNow's ceiling is the participant maximum effective 12 Nov 2025; Fedwire's is the message-format limit, not a policy cap.
Routing simulator
Calls the live router