Skip to main content
After onboarding completes (or auto-complete fires), use the intent’s transaction sub-resources to execute the transfer and fetch deposit instructions: POST /intent/{intentId}/transaction (execute) and GET /intent/{intentId}/transaction (status/deposit instructions).

Execute the transaction

cURL
curl -X POST https://api.gnosisramp.io/v1/intent/$INTENT_ID/transaction \
  -H "Authorization: Bearer $GNOSISRAMP_TOKEN"
  • Returns 202 Accepted and a transaction record with status: IN_PROGRESS.
  • Fails with 400 if compliance is incomplete or a transaction already exists.

Poll the transaction

Use GET /intent/{intentId}/transaction to check the current transaction status and retrieve deposit instructions.
curl -H "Authorization: Bearer $GNOSISRAMP_TOKEN" \
  https://api.gnosisramp.io/v1/intent/$INTENT_ID/transaction
Recommended polling interval: every 5 seconds while the transaction is in PENDING or IN_PROGRESS status. Stop polling when the transaction reaches a terminal state (SUCCESS, FAILED, CANCELLED). See the Polling Best Practices guide for detailed recommendations.

Deposit instruction format

{
  "id": "txn_789",
  "intentId": "int_123",
  "status": "IN_PROGRESS",
  "providerReference": "noah_txn_abc123",
  "lastActivityAt": "2025-01-12T21:46:00.000Z",
  "context": [
    {
      "kind": "CRYPTO",
      "label": "Deposit USDC on ETH",
      "currency": { "code": "USDC" },
      "crypto": {
        "chainId": "1",
        "address": "0xd77497c8...",
        "destinationTag": null,
        "transactionData": {
          "encodedData": "0xa9059cbb...",
          "parameters": {
            "tokenAmount": "100.25",
            "tokenAmountInSmallestUnit": "100250000"
          }
        }
      },
      "metadata": {
        "amountConditions": [
          { "ComparisonOperator": "GreaterThanOrEqualTo", "Value": "100.00" }
        ]
      }
    }
  ],
  "createdAt": "2025-01-12T21:45:30.000Z",
  "updatedAt": "2025-01-12T21:46:00.000Z"
}
  • Crypto instructions include multiple encodings so you can support raw contract calls, wallet SDKs, or custom UIs.
  • Bank instructions contain beneficiary, rail, and identifiers (IBAN, ABA, PIX, etc.).
  • metadata carries provider-specific hints such as minimum amounts or expiry windows.

Status timeline

StatusDescription
PENDINGTransaction created, awaiting provider processing.
IN_PROGRESSTransaction created, waiting for customer funds or provider confirmation.
SUCCESSProvider confirmed settlement; outgoing event sent.
FAILEDProvider returned an error; check the transaction response for error details.
CANCELLEDTransaction was cancelled or the intent expired.

Events & notifications

When a transaction status changes, GnosisRamp emits a MONEY_MOVEMENT_UPDATED webhook:
{
  "eventType": "MONEY_MOVEMENT_UPDATED",
  "data": {
    "intentId": "int_123",
    "transactionId": "txn_789",
    "status": "COMPLETED"
  }
}
Use outgoing webhooks (see the Webhooks section) or poll the transaction endpoint to keep your UI up to date.