The country catalog is shared with the dial-code pickers, so it carries 12 entries that are a flag and a phone code rather than an ISO 3166-1 country: Ascension Island, the EU, the UN, England and friends. None carries an alpha-3, which is what Reap needs, so picking one got create-card rejected with "A valid country is required to issue a card." — and Ascension Island sorts first in the picker, so it is the one users land on.
- CountrySelector gains issuableOnly, set on the billing address form only. The dial-code pickers still need Kosovo's +383 and Ascension's +247.
- Billing auto-fill matches against the filtered list too, which also stops the UN (+1) outranking the US when guessing a country from a dial code.
- A country saved to MMKV before the filter existed is dropped on rehydrate and blocked at submit, with an actionable message instead of the issuer's.
- Both checks stand down when no catalog entry carries an alpha-3, so a backend predating the field cannot deadlock card creation.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com