Skip to main content

API Overview

The NowRamp Onramp API lets you compare crypto purchase quotes across multiple payment gateways and process checkouts with the best available provider.

Base URL

EnvironmentBase URLDescription
Productionhttps://api.nowramp.comLive environment
Sandboxhttps://api.sandbox.nowramp.comTest environment with mock data

Authentication

The Onramp API endpoints are public — no API key is required. Pass your projectId as a query parameter (GET) or in the request body (POST).
curl "https://api.nowramp.com/public/v1/onramp/supported?projectId=YOUR_PROJECT_ID"
Optionally include a public key (pk_) in the X-API-Key header for higher rate limits:
curl "https://api.nowramp.com/public/v1/onramp/quotes?projectId=YOUR_PROJECT_ID&fiatCurrency=USD&cryptoCurrency=ETH&network=ethereum&fiatAmount=100" \
  -H "X-API-Key: pk_live_your_public_key"
Never expose secret keys (sk_) in client-side code. Secret keys are only needed for partner dashboard operations, not for the Onramp API.

Endpoints

Sessions (authenticated)

EndpointMethodAuthDescription
/v1/sessionsPOSTsk_Create a checkout session
/v1/sessions/:idGETpk_ or sk_Get session status
/v1/sessions/:id/confirmPOSTpk_ + clientSecretConfirm session parameters
/v1/sessions/:id/orderPOSTpk_ + clientSecretCreate order from session
/v1/sessions/:id/cancelPOSTsk_Cancel a session
/v1/sessionsGETsk_List sessions
See the Sessions API reference for full documentation.

Onramp (public)

EndpointMethodAuthDescription
/public/v1/onramp/supportedGETNoneAggregated provider config (gateways, currencies, payment methods)
/public/v1/onramp/quotesGETNoneMulti-provider quotes ranked by best rate
/public/v1/onramp/checkout-intentPOSTNoneCreate checkout with selected provider
/public/v1/onramp/transactions/:idGETNoneTransaction status
See the Onramp API reference for full request/response documentation.

Request Format

  • All POST requests should use Content-Type: application/json
  • Request bodies should be JSON-encoded
  • All timestamps are in ISO 8601 format (UTC)

Response Format

Success Response

{
  "success": true,
  "data": {
    // Response data
  }
}

Error Response

{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable error message",
    "details": [
      {
        "field": "fieldName",
        "message": "Field-specific error message"
      }
    ]
  }
}
See Error Handling for the full list of error codes.

Rate Limiting

TierRequests per MinuteDescription
Public60No API key
Partner1000With pk_ key in header

Rate Limit Headers

HeaderDescription
X-RateLimit-LimitMaximum requests allowed per window
X-RateLimit-RemainingRemaining requests in current window
X-RateLimit-ResetUnix timestamp when the rate limit resets
When you exceed the rate limit, the API returns 429 Too Many Requests. Implement exponential backoff to handle this gracefully.

Idempotency

For the POST /checkout-intent endpoint, include an Idempotency-Key header to prevent duplicate orders:
curl -X POST https://api.nowramp.com/public/v1/onramp/checkout-intent \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: checkout_user123_1705123456" \
  -d '{"projectId": "...", "gateway": "...", ...}'
Idempotency keys are valid for 24 hours. Requests with the same key return the cached response from the original request.

SDKs

Next Steps