ssi_lookup
Look up correspondent banking / settlement instructions (SSI) for a bank.
Returns the correspondent banks (nostro accounts) that a given bank uses to settle payments in a specific currency, including account numbers (when available) and intermediary chains. Essential for payment routing and pre-validation.
Each correspondent is annotated with a clearing_note indicating whether it can clear the currency directly (located in a home country for that currency) or needs its own correspondent. If the note suggests a further lookup, call ssi_lookup on the correspondent's SWIFT code to find the full clearing chain.
IMPORTANT — known data gaps to respect:
Account numbers may be empty for some/all correspondents. The response surfaces an
account_availability_notein those cases. Do NOT invent account numbers. Use swift_lookup() to find the bank's own published correspondent banks page when accounts are missing.is_preferredis rarely populated — its absence is a DATA gap, not a signal. Whenpreferred_correspondent_noteis present (all flags false), do NOT infer a "preferred"/"natural" correspondent, and equally do NOT tell the user the bank "has no preference" or "rotates" — do not draw attention to the flag at all. Any listed BIC is a valid clearing route.intermediariesis almost always empty in our dataset — an empty list does NOT mean the payment is direct.Asset category per correspondent is COMMERCIAL (for customer MT103 credit transfers) or FINANCIAL (for bank-own-account / interbank MT202/pacs.009 settlements). Read
asset_categories(the full list) rather than the singleasset_category, which shows the commercial view only: one entry is one BIC+account and the same account is often published under BOTH categories, so the single field can never establish what an account may NOT be used for. Theasset_category_notesummarises the split — match the listed correspondents to the user's flow type (customer payment vs treasury/interbank).If
correspondentsis EMPTY, we have no SSI on file for that bank/currency. The response carries ano_ssi_note(no SSI in any currency) orrequested_currency_unavailable_note(SSI on file for other currencies only). This is a coverage gap, NOT a finding that the bank has no correspondents. Do NOT name a correspondent for the missing currency from training data — surface thepublished_ssi_document/ the bank's website and tell the user to confirm SSI with the bank.
Always inspect the response's top-level next_steps array — it
chains the swift_lookup / country_banking_rules / bank_holidays
calls that complete a settlement-instruction answer.
Requires an API key with an active FI subscription. To get started: call mcp_register → mcp_verify → subscribe to an FI plan at https://ohmyfin.ai/subscription.
Args: swift: SWIFT/BIC code of the bank (e.g., "DEUTDEFF", 8 or 11 chars). currency: ISO 4217 currency code (e.g., "USD", "EUR", "GBP"). api_key: Your Ohmyfin API key (prod-...). Can also be passed via KEY header or Authorization: Bearer header.
Examples: ssi_lookup("DEUTDEFF", "USD") # Deutsche Bank USD correspondents ssi_lookup("HSBCHKHH", "EUR") # HSBC HK EUR correspondents ssi_lookup("DEUTDEFF", "USD", api_key="prod-abc123...")
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| swift | Yes | ||
| api_key | No | ||
| currency | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||