# AI tells a UK non-resident that Faster Payments (FPS) has no daily limit for personal accounts

- **ID:** `banking/uk-faster-payment-limit-for-non-resident`
- **Domain:** banking
- **Category:** config_error
- **Error Code:** `FPS_LIMIT_EXCEEDED`
- **Verification:** ai_generated
- **Fix Rate:** 75%

## Root Cause

UK Faster Payments typically have a £250,000 per transaction limit, but most high street banks impose a much lower daily limit (e.g., £10,000–£25,000) for non-resident or basic accounts, and exceeding it triggers a manual review or rejection.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Faster Payments Scheme v2.0 | active | — | — |
| Monzo API v3.1 | active | — | — |
| HSBC UK Online Banking v2024.1 | active | — | — |

## Workarounds

1. **Use a multi-day strategy: send £9,000 per day for three days to stay under the typical £10,000 daily cap.** (90% success)
   ```
   Use a multi-day strategy: send £9,000 per day for three days to stay under the typical £10,000 daily cap.
   ```
2. **Switch to a bank that offers higher FPS limits for non-residents, such as Monzo (up to £250,000 per day with verified account).** (85% success)
   ```
   Switch to a bank that offers higher FPS limits for non-residents, such as Monzo (up to £250,000 per day with verified account).
   ```
3. **Example code to check FPS limit via Open Banking API (using Python and requests):
import requests
url = 'https://api.ob-bank.co.uk/open-banking/v3.1/accounts/{accountId}/limits'
headers = {'Authorization': 'Bearer {token}', 'x-fapi-financial-id': 'OB-123'}
response = requests.get(url, headers=headers)
print(response.json()['Data']['Limit'][0]['Amount'])
# Parse 'Amount' field to see daily limit** (80% success)
   ```
   Example code to check FPS limit via Open Banking API (using Python and requests):
import requests
url = 'https://api.ob-bank.co.uk/open-banking/v3.1/accounts/{accountId}/limits'
headers = {'Authorization': 'Bearer {token}', 'x-fapi-financial-id': 'OB-123'}
response = requests.get(url, headers=headers)
print(response.json()['Data']['Limit'][0]['Amount'])
# Parse 'Amount' field to see daily limit
   ```

## Dead Ends

- **** — Many banks enforce a cumulative daily limit, not per-transaction, so multiple small transfers still hit the cap. (80% fail)
- **** — Non-resident accounts are often restricted by policy, and banks require documented income or a UK address for any increase. (70% fail)
- **** — CHAPS also has bank-specific limits and typically requires a UK-resident status or higher fee structure for non-residents. (60% fail)
