Skip to content

Transfers

You can move money between internal accounts, send and receive funds to and from external accounts, or send and receive USDC to and from crypto wallets.

  • Internal transfers

    Move funds between internal accounts (Gravv accounts).

  • External transfers

    Send and receive the same currency to external accounts via ACH, Wire, SEPA, InstaPay, or Faster Payments.

  • International transfers

    Send funds to bank and mobile money accounts in over 50 countries. Recipients receive them in their local currency for cross-border payments.

  • Crypto transfers

    Send and receive USDC to and from crypto wallets

Get supported transfer currencies

Use the Get supported currencies endpoint to retrieve all fiat currencies available for transfers:

curl --request GET \
     --url https://api.gravv.xyz/v1/transfer/supported-currencies \
     --header 'Api-Key: <Api Key>'

The response returns an array of currency objects, each with a three-letter ISO 4217 code and a human-readable name:

{
  "data": {
    "currencies": [
      { "code": "NGN", "name": "Nigerian Naira" },
      { "code": "EUR", "name": "Euro" },
      { "code": "GHS", "name": "Ghanaian Cedi" },
      { "code": "KES", "name": "Kenyan Shilling" },
      { "code": "USD", "name": "US Dollar" }
    ]
  },
  "error": null
}

Get supported countries

Use the Get supported countries endpoint to retrieve the countries Gravv supports for transfers.

curl --request GET \
     --url https://api.gravv.xyz/v1/transfer/supported-countries \
     --header 'Api-Key: <Api Key>'

The response returns an array of country objects:

{
  "data": {
    "countries": [
      {
        "currency_code": "NGN",
        "iso3_code": "NGA",
        "iso_code": "NG",
        "name": "Nigeria"
      },
      {
        "currency_code": "KES",
        "iso3_code": "KEN",
        "iso_code": "KE",
        "name": "Kenya"
      },
      {
        "currency_code": null,
        "iso3_code": "JPN",
        "iso_code": "JP",
        "name": "Japan"
      }
    ]
  },
  "error": null
}

Each country object contains the following fields:

Field Description
currency_code Three-letter ISO 4217 code for the country's local currency. Returns null where a local currency code is not available.
iso3_code Three-letter ISO 3166-1 alpha-3 country code.
iso_code Two-letter ISO 3166-1 alpha-2 country code.
name Full country name.

Get supported countries for recipient addresses

Use the Get supported countries for address endpoint to retrieve the countries Gravv accepts for recipient addresses in international transfers:

curl --request GET \
     --url https://api.gravv.xyz/v1/transfer/supported-countries-for-address \
     --header 'Api-Key: <Api Key>'

The response returns an array of country objects. Each object includes a two-letter ISO 3166-1 iso_code, the country name, and a states array. Countries without administrative divisions return an empty states array:

{
  "data": {
    "countries": [
      {
        "iso_code": "NG",
        "name": "Nigeria",
        "states": [
          { "code": "NG-LA", "name": "Lagos" },
          { "code": "NG-FC", "name": "Federal Capital Territory" }
        ]
      },
      {
        "iso_code": "JP",
        "name": "Japan",
        "states": []
      }
    ]
  },
  "error": null
}

Use the iso_code and state code values directly in the remitter_address object when building an international transfer request. The static table below lists all countries Gravv currently supports for pay-in and pay-out.