Skip to main content
POST
/
intent
Create payment intent
curl --request POST \
  --url https://api.gnosisramp.io/v1/intent \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "srcExternalAccountId": "ext_acc_src_123",
  "destExternalAccountId": "ext_acc_dest_456",
  "amount": "100.50",
  "autoExecute": false,
  "onboardingRedirectUrl": "https://example.com/onboarding-complete",
  "checkoutRedirectUrl": "https://example.com/checkout-complete",
  "providerId": "provider_123"
}
'
{
  "intent": {
    "id": "<string>",
    "src": {
      "id": "<string>",
      "type": "BANK_ACCOUNT",
      "label": "<string>",
      "metadata": {},
      "currency": {
        "ticker": "USDC",
        "name": "USD Coin",
        "code": "USDC_GNO",
        "type": "FIAT"
      }
    },
    "dest": {
      "id": "<string>",
      "type": "BANK_ACCOUNT",
      "label": "<string>",
      "metadata": {},
      "currency": {
        "ticker": "USDC",
        "name": "USD Coin",
        "code": "USDC_GNO",
        "type": "FIAT"
      }
    },
    "status": "PENDING",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "currentRequirementCode": "<string>",
    "expiredAt": "2023-11-07T05:31:56Z",
    "transferAmount": {
      "amount": "100.50",
      "currencyCode": "USD"
    },
    "type": "ONRAMP",
    "provider": "<string>",
    "onboardingRedirectUrl": "<string>",
    "checkoutRedirectUrl": "<string>",
    "autoExecute": true
  },
  "onboardingUrl": "<string>",
  "transaction": {
    "id": "txn_123",
    "intentId": "intent_123",
    "status": "PENDING",
    "createdAt": "2024-01-01T00:00:00.000Z",
    "updatedAt": "2024-01-01T00:00:00.000Z",
    "providerReference": "noah_txn_abc123",
    "lastActivityAt": "2024-01-01T00:00:00.000Z",
    "context": {}
  }
}

Authorizations

Authorization
string
header
required

GnosisRamp JWT bearer token for authenticated customer requests

Body

application/json

Request to create a payment intent

srcExternalAccountId
string
required

Source external account identifier

Example:

"ext_acc_src_123"

destExternalAccountId
string
required

Destination external account identifier

Example:

"ext_acc_dest_456"

amount
string
required

Transfer amount as a decimal string (not a number to avoid precision issues)

Example:

"100.50"

autoExecute
boolean
default:false

When true, automatically execute the transaction after compliance completes (skips the manual execute step)

onboardingRedirectUrl
string<uri> | null

Redirect URL after onboarding/compliance completion (e.g., after KYC is done)

Example:

"https://example.com/onboarding-complete"

checkoutRedirectUrl
string<uri> | null

Redirect URL after checkout/payment completion (used by providers with external checkout flows)

Example:

"https://example.com/checkout-complete"

providerId
string

Optional preferred provider ID. Must be a valid candidate for the payment path — i.e., the provider must support the currencies, rail, country, and account types of the external accounts. Use GET /currencies/supported or GET /providers to discover available provider IDs.

Maximum string length: 255
Example:

"provider_123"

Response

Intent created successfully

Intent creation response

intent
object
required
onboardingUrl
string<uri> | null
required

URL for the hosted onboarding/compliance frontend (null if auto-completed)

transaction
object

Money movement transaction if auto-completed