Skip to main content
Gnosis Ramp uses two authentication methods depending on the endpoint:
Auth TypeUsed ForFormat
HTTP BasicProject-level endpointsAuthorization: Basic base64(clientId:clientSecret)
Bearer TokenCustomer-level endpointsAuthorization: Bearer <accessToken>

Base URL

All API requests use a single base URL:
https://api.ramp.gnosis.io
There is no separate sandbox URL. Sandbox testing is controlled by configuring your ramp providers with sandbox credentials in the dashboard. See Getting Started for details.

HTTP Basic Authentication

Use HTTP Basic auth for project-level operations that don’t require a customer context. Endpoints using Basic auth:
  • POST /customers — Create customers
  • GET /customers — List customers
  • GET /currencies/supported — Get supported currency pairs
  • GET /providers — List available providers
  • GET /intent/requirements — Get intent requirements schema
  • GET /intent/quote — Get indicative quotes

Example

# Using curl with -u flag
curl https://api.ramp.gnosis.io/v1/currencies/supported \
  -u "${CLIENT_ID}:${CLIENT_SECRET}"

# Or manually with Authorization header
curl https://api.ramp.gnosis.io/v1/currencies/supported \
  -H "Authorization: Basic $(echo -n "${CLIENT_ID}:${CLIENT_SECRET}" | base64)"
// JavaScript example
const credentials = btoa(`${clientId}:${clientSecret}`);

const response = await fetch('https://api.ramp.gnosis.io/v1/currencies/supported', {
  headers: {
    'Authorization': `Basic ${credentials}`
  }
});

Bearer Token Authentication

Use Bearer token auth for customer-specific operations. The token is obtained when creating a customer. Endpoints using Bearer auth:
  • POST /intent — Create intents
  • GET /intent — List customer’s intents
  • GET /intent/:id — Get specific intent
  • POST /intent/:id/transaction — Execute transaction
  • GET /intent/:id/transaction — Get transaction status

Example

curl https://api.ramp.gnosis.io/v1/intent \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{...}'
const response = await fetch('https://api.ramp.gnosis.io/v1/intent', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${accessToken}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({...})
});

Getting the Access Token

The accessToken is returned when you create a customer:
curl -X POST https://api.ramp.gnosis.io/v1/customers \
  -u "${CLIENT_ID}:${CLIENT_SECRET}" \
  -H "Content-Type: application/json" \
  -d '{"id": "your-user-id"}'
Response:
{
  "id": "your-user-id",
  "accessToken": "eyJhbGciOiJIUzI1NiIs...",
  "createdAt": "2026-03-29T10:00:00.000Z",
  "updatedAt": "2026-03-29T10:00:00.000Z"
}
Store this token securely and use it for all subsequent customer-scoped requests.

Next Steps

Create a Customer

Set up customers for ramp operations.

External Auth (SIWE)

Use Gnosispay wallet authentication for KYC sharing.