Skip to content

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

CountryISO CodeCurrencyPhone PrefixStatus
GhanaGHGHS (₵)+233ACTIVE

Country Details

Ghana (GH)

Ghana is the primary and currently only active market on FLUID Network.

Basic Information

AttributeValue
Country NameGhana
ISO 3166-1 alpha-2 CodeGH
CurrencyGhana Cedi (GHS)
Currency Symbol
Phone Country Code+233
Default TimezoneUTC (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:

regex
^\+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 TypeAmountNotes
Minimum Transaction₵1.00Per transaction
Maximum Transaction₵10,000.00Per transaction (may vary by bank)
Daily Limit₵50,000.00Aggregate per customer (bank-dependent)

Fees

Standard fee structure for Ghana transactions:

javascript
{
  "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:

javascript
// 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 currency
  • account_name - Name of the settlement account
  • account_number - Bank account number
  • bank_name - Name of the bank
  • bank_code - Bank identifier code
  • branch_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 CodeCurrency CodeCurrency SymbolDecimal Places
GHGHS2

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): +233 followed by 9 digits (e.g., +233241234567)

Validation Pattern:

regex
^\+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 GH is 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:

  1. Use Constants: Define country_code: "GH" and currency: "GHS" as constants rather than hardcoding strings throughout your codebase
  2. Centralize Configuration: Keep country/currency settings in a single configuration file or module
  3. 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

json
{
  "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

json
{
  "code": 1010,
  "message": "Validation error",
  "details": {
    "errors": {
      "phone_number": [
        "Phone number format is invalid for country GH. Expected format: +233XXXXXXXXX"
      ]
    }
  }
}

Unsupported Country

json
{
  "code": 1030,
  "message": "Country not supported",
  "details": {
    "field": "country_code",
    "provided_value": "NG",
    "message": "Country code not supported. Currently active: GH"
  }
}