Skip to main content
GnosisRamp exposes dynamic JSON Schemas so you can render or validate external account forms without reverse-engineering provider requirements.

Query Parameters

Call GET /external-accounts/requirements with exactly one of these parameters:
  • countryCode (e.g., US, BR, AR) for bank accounts
  • blockchain (e.g., ETH, BTC, SOL) for crypto addresses
You must provide either countryCode OR blockchain, but not both. Requests with both parameters will return 400 Bad Request.

Bank Account Requirements

curl "https://api.gnosisramp.io/v1/external-accounts/requirements?countryCode=US" \
  -H "Authorization: Bearer $GNOSISRAMP_TOKEN"
{
  "countryCode": "US",
  "schema": {
    "type": "object",
    "required": ["rails", "currency", "institutionName", "accountIdentifier", "beneficiary"],
    "properties": {
      "rails": {
        "type": "string",
        "enum": ["ACH", "WIRE", "SWIFT"]
      },
      "accountIdentifier": {
        "type": "object",
        "required": ["routingNumber", "accountNumber"],
        "properties": {
          "routingNumber": { "pattern": "^[0-9]{9}$" },
          "accountNumber": { "pattern": "^[0-9]{4,17}$" }
        }
      },
      "beneficiary": {
        "type": "object",
        "required": ["name"],
        "properties": {
          "name": { "maxLength": 140 },
          "taxId": { "pattern": "^[0-9]{3}-[0-9]{2}-[0-9]{4}$" }
        }
      }
    }
  }
}

Crypto Address Requirements

For blockchain addresses:
curl "https://api.gnosisramp.io/v1/external-accounts/requirements?blockchain=ETH" \
  -H "Authorization: Bearer $GNOSISRAMP_TOKEN"
{
  "blockchain": "ETHEREUM",
  "schema": {
    "type": "object",
    "required": ["address", "currency"],
    "properties": {
      "address": {
        "pattern": "^0x[a-fA-F0-9]{40}$",
        "description": "Wallet address"
      },
      "currency": {
        "enum": ["USDC_ETH", "USDT_ETH"]
      }
    }
  }
}

Best Practices

  • Always fetch the schema at runtime — providers can add new rails or metadata without requiring an API change.
  • Use the schema to power both client-side validation and your own backend sanitization before calling the creation endpoint.