# AI tells a Singapore user that they can transfer funds to an EU account using FAST/PayNow without providing an IBAN, assuming SWIFT is optional

- **ID:** `banking/singapore-fast-paynow-iban-requirement`
- **Domain:** banking
- **Category:** protocol_error
- **Error Code:** `PAYMENT_ROUTING_ERROR`
- **Verification:** ai_generated
- **Fix Rate:** 85%

## Root Cause

FAST and PayNow are domestic Singapore payment systems that only support SGD transactions to local bank accounts; transfers to EU accounts require SWIFT/IBAN routing, and omitting the IBAN causes the payment to be rejected or misrouted.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| FAST v2.0 (2023) | active | — | — |
| PayNow v1.5 | active | — | — |
| SWIFT MT103 2024 | active | — | — |

## Workarounds

1. **Obtain the recipient's full IBAN and BIC, then initiate a SWIFT transfer via your Singapore bank's online banking portal.** (95% success)
   ```
   Obtain the recipient's full IBAN and BIC, then initiate a SWIFT transfer via your Singapore bank's online banking portal.
   ```
2. **Use a multi-currency account like Wise or Revolut that supports both FAST (for SGD) and SWIFT/IBAN (for EUR) conversions.** (90% success)
   ```
   Use a multi-currency account like Wise or Revolut that supports both FAST (for SGD) and SWIFT/IBAN (for EUR) conversions.
   ```
3. **Example code to validate IBAN before sending (Python):
import schwifty
iban = 'DE89370400440532013000'
try:
    iban_obj = schwifty.IBAN(iban)
    print(f'Valid IBAN: {iban_obj.country_code} {iban_obj.bank_code}')
except ValueError as e:
    print(f'Invalid IBAN: {e}')** (85% success)
   ```
   Example code to validate IBAN before sending (Python):
import schwifty
iban = 'DE89370400440532013000'
try:
    iban_obj = schwifty.IBAN(iban)
    print(f'Valid IBAN: {iban_obj.country_code} {iban_obj.bank_code}')
except ValueError as e:
    print(f'Invalid IBAN: {e}')
   ```

## Dead Ends

- **** — EU banks require IBAN for SEPA and SWIFT transfers; a local account number without the country code and check digits is not recognized. (90% fail)
- **** — FAST does not support cross-border routing; the intermediary bank would need a SWIFT MT103, which requires IBAN. (80% fail)
- **** — PayNow proxies are only registered with Singapore banks; EU recipients cannot have a PayNow proxy. (95% fail)
