Skip to main content
After compliance is approved, execute the transaction to initiate money movement.

When to Execute

Execute a transaction when:
  • Intent status is COMPLIANCE_APPROVED
  • autoExecute was false when creating the intent
If you set autoExecute: true when creating the intent, the transaction starts automatically after compliance. You can skip this step and go directly to monitoring.

Execute Transaction

curl -X POST https://api.ramp.gnosis.io/v1/intent/${INTENT_ID}/transaction \
  -H "Authorization: Bearer ${ACCESS_TOKEN}"
The request body is empty — just POST to the endpoint.

Response

{
  "intentId": "int_abc123def456",
  "status": "IN_PROGRESS",
  "transaction": {
    "id": "txn_xyz789",
    "status": "PENDING",
    "createdAt": "2026-03-29T10:05:00.000Z",
    "updatedAt": "2026-03-29T10:05:00.000Z"
  },
  "depositInstructions": {
    "type": "BANK",
    "context": [
      {
        "encoding": "DISPLAY",
        "instructions": {
          "beneficiary": "Gnosis Ramp Ltd",
          "bankName": "Example Bank",
          "accountNumber": "12345678",
          "routingNumber": "021000021",
          "reference": "GR-ABC123"
        }
      }
    ]
  }
}

Response Fields

FieldDescription
intentIdThe intent ID
statusTransaction status
transactionTransaction details
depositInstructionsInstructions for the user to complete payment

Error Cases

Compliance Not Complete

# Returns 400 Bad Request
{
  "error": "COMPLIANCE_NOT_COMPLETE",
  "message": "Intent compliance is not approved"
}
This happens when trying to execute before compliance is done. Wait for COMPLIANCE_APPROVED status.

Already Executed

# Returns 400 Bad Request
{
  "error": "TRANSACTION_EXISTS",
  "message": "Transaction already exists for this intent"
}
Each intent can have only one transaction. If you need to retry, create a new intent.

autoExecute vs Manual Execution

SettingBehavior
autoExecute: trueTransaction starts automatically after compliance
autoExecute: falseYou must call POST /intent/:id/transaction manually
Use autoExecute: true for smoother UX when you don’t need to confirm with the user between compliance and execution. Use autoExecute: false when you want to:
  • Show a confirmation screen before executing
  • Allow the user to review details before proceeding
  • Have more control over the flow

Next Steps

Deposit Instructions

Display deposit instructions and monitor completion.

Webhooks

Get real-time transaction updates.