Country Codes
Quick reference for supported countries, their codes, currencies, and banking infrastructure on FLUID Network.
Overview
FLUID Network currently operates exclusively in Ghana. All transactions, banks, and customers must use Ghana (GH) country code and GHS currency.
GHANA ONLY
FLUID Network operates exclusively in Ghana. Any attempts to use non-GH country codes will be rejected by the API.
Supported Countries
Active Markets
| Country | ISO Code | Currency | Phone Prefix | Status |
|---|---|---|---|---|
| Ghana | GH | GHS (₵) | +233 | ✅ ACTIVE |
Country Details
Ghana (GH)
Ghana is the primary and currently only active market on FLUID Network.
Basic Information
| Attribute | Value |
|---|---|
| Country Name | Ghana |
| ISO 3166-1 alpha-2 Code | GH |
| Currency | Ghana Cedi (GHS) |
| Currency Symbol | ₵ |
| Phone Country Code | +233 |
| Default Timezone | UTC (GMT+0) |
Phone Number Format
Format: +233 XX XXX XXXX
Examples:
+233241234567 (Typical Ghana number)
+233501234567 (Typical Ghana number)
+233200000001 (Typical Ghana number)Validation Pattern:
^\+233\d{9}$Phone Format Requirements:
- Must start with
+233 - Must be followed by exactly 9 digits
- Must be in E.164 international format (no spaces, dashes, or parentheses)
- Leading zeros are NOT included after the country code
Supported Banks
FLUID Network integrates with multiple banks in Ghana. Bank availability is returned dynamically via the Banks API endpoint.
Transaction Limits
| Limit Type | Amount | Notes |
|---|---|---|
| Minimum Transaction | ₵1.00 | Per transaction |
| Maximum Transaction | ₵10,000.00 | Per transaction (may vary by bank) |
| Daily Limit | ₵50,000.00 | Aggregate per customer (bank-dependent) |
Fees
Standard fee structure for Ghana transactions:
{
"fee_fixed_amount": "0.50", // GHS 0.50 per transaction
"fee_percentage": "0.30", // 0.3% of transaction amount
"fee_currency": "GHS"
}Fee Calculation:
Total Fee = Fixed Amount + (Transaction Amount × Percentage)
Example for ₵100 transaction:
- Fixed: ₵0.50
- Percentage: ₵100 × 0.3% = ₵0.30
- Total Fee: ₵0.80
Usage in API Requests
Specifying Country Codes
Country codes are used in bank lookup responses and settlement account creation:
// Bank lookup response includes country_code
{
"data": [
{
"name": "Golden Gate Bank",
"identifier": "GGB",
"country_code": "GH" // ISO 3166-1 alpha-2
}
]
}Creating Settlement Accounts
When creating settlement accounts, specify the country code in the request payload:
Required Fields:
country_code- ISO 3166-1 alpha-2 country code (e.g., "GH")currency- Currency code that must match the country's primary currencyaccount_name- Name of the settlement accountaccount_number- Bank account numberbank_name- Name of the bankbank_code- Bank identifier codebranch_code- Branch identifier
Implementation Approach:
Your client library should send a POST request to the settlement accounts endpoint with the above fields. The country code ensures that the settlement account is created in the correct jurisdiction with the appropriate currency validation.
Country-Currency Mapping
Currently Supported
| Country Code | Currency Code | Currency Symbol | Decimal Places |
|---|---|---|---|
GH | GHS | ₵ | 2 |
Currency Validation:
- All transactions must use GHS (Ghanaian Cedi)
- Country code must be GH (Ghana)
- All amounts must be specified with exactly 2 decimal places
Validation Rules
Country Code Validation
Valid Country Code: The FLUID Network currently accepts only GH (Ghana) for all transactions.
Implementation Approach:
Validate that all API requests use country_code: "GH" and currency: "GHS". Any other country code will be rejected by the API with a validation error.
Why This Matters:
- Provides clear user feedback that only Ghana is currently supported
Phone Number Validation by Country
Ghana Phone Number Validation:
Currently, only Ghana phone numbers are supported:
- Ghana (GH):
+233followed by 9 digits (e.g.,+233241234567)
Validation Pattern:
^\+233\d{9}$Implementation Approach:
Validate that all phone numbers start with +233 and are followed by exactly 9 digits. Reject any phone numbers that don't match this pattern.
Why This Matters:
- Ensures phone numbers are correctly formatted before API requests
- Prevents transaction failures due to invalid phone formats
- Provides immediate feedback to users about format requirements
Best Practices
1. Always Validate Country Codes
Why This Matters: Validating country codes before making API requests prevents validation errors and provides better user experience by catching issues early.
Implementation Approach:
Currently, only accept GH (Ghana) as a valid country code. Reject any other country code immediately with a clear error message indicating that only Ghana is supported at this time.
Key Points:
- Only
GHis accepted - all other country codes are invalid - Provide helpful error messages (e.g., "Only Ghana (GH) is currently supported")
- Fail fast rather than making unnecessary API calls
2. Use E.164 Phone Format
Why This Matters: E.164 is the international standard for phone numbers, ensuring consistency across different systems and preventing formatting-related transaction failures.
Correct Format:
- Must start with
+and country code - No spaces, dashes, parentheses, or other separators
- No leading zeros after the country code
Common Format Mistakes to Avoid:
- ❌ Local format:
0241234567 - ❌ Missing plus sign:
233241234567 - ❌ With spaces:
+233 24 123 4567 - ❌ With dashes:
+233-24-123-4567
Correct Format:
- ✅
+233241234567
Implementation Approach: Create a phone normalization function that removes common separators and adds the country code if missing. Validate the normalized number against the country-specific pattern before sending to the API.
3. Match Country and Currency
Why This Matters: Each country has a designated currency for transactions. Mismatched country-currency pairs will cause validation errors and transaction failures.
Current Country-Currency Mapping:
- Ghana (
GH) → Ghana Cedi (GHS) - ONLY SUPPORTED COMBINATION
Implementation Approach: All transactions must use country_code: "GH" and currency: "GHS". Hardcode these values or validate that users can only select this combination.
Common Mistake: Using any country code other than GH or any currency other than GHS will fail validation. Only Ghana (GH) + GHS is currently supported.
4. Design for Maintainability
Why This Matters: Well-structured code is easier to maintain and update as your integration evolves.
Implementation Approach:
Design your integration with clean, maintainable patterns:
- Use Constants: Define
country_code: "GH"andcurrency: "GHS"as constants rather than hardcoding strings throughout your codebase - Centralize Configuration: Keep country/currency settings in a single configuration file or module
- Validate Early: Check country and currency values before making API calls to catch errors quickly
Key Design Principles:
- Use constants for country and currency codes
- Centralize configuration to avoid scattered hardcoded values
- Validate inputs early to provide clear error messages
- Document country-specific requirements in code comments
Error Handling
Invalid Country Code
{
"code": 1030,
"message": "Country code is not included in the list",
"details": {
"field": "country_code",
"provided_value": "US",
"valid_values": ["GH"],
"message": "Only Ghana (GH) is currently supported"
}
}Invalid Phone Format for Country
{
"code": 1010,
"message": "Validation error",
"details": {
"errors": {
"phone_number": [
"Phone number format is invalid for country GH. Expected format: +233XXXXXXXXX"
]
}
}
}Unsupported Country
{
"code": 1030,
"message": "Country not supported",
"details": {
"field": "country_code",
"provided_value": "NG",
"message": "Country code not supported. Currently active: GH"
}
}Related Documentation
- Currency Codes - Supported currencies and formatting
- Error Codes - Country validation error codes (1030-1039)
- Testing Guide - Test phone numbers for each country
- Transaction Flow - Country-specific transaction examples