Skip to content

Intent Status

GET /intents/:intentId

Query the execution status of a submitted intent.

Request

bash
curl https://mainnet.relayer.ryze.pro/api/v1/intents/0x9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

Response

json
{
  "success": true,
  "intent": {
    "intentId": "0x9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
    "status": "confirmed",
    "txHash": "0xabc123...",
    "batchId": "550e8400-e29b-41d4-a716-446655440000",
    "blockNumber": 44700000,
    "gasUsed": 185000,
    "error": null
  }
}

Status Values

StatusDescription
pendingSubmitted and queued, waiting for batch execution
confirmedTransaction executed and confirmed on-chain
failedExecution failed (check error field)

Fields

FieldTypeDescription
intentIdstringUnique intent identifier (EIP-712 hash)
statusstringpending, confirmed, or failed
txHashstringTransaction hash (available after execution)
batchIdstringUUID of the batch containing this intent
blockNumbernumberBlock where tx was included
gasUsednumberGas consumed
errorstringError message (null if successful)

Polling Pattern

After submitting an intent, poll for status until it resolves:

javascript
async function waitForIntent(intentId) {
  const RELAYER_URL = 'https://mainnet.relayer.ryze.pro/api/v1';

  while (true) {
    const res = await fetch(`${RELAYER_URL}/intents/${intentId}`);
    const data = await res.json();

    if (data.intent.status === 'confirmed') {
      return data.intent; // { txHash, blockNumber, ... }
    }

    if (data.intent.status === 'failed') {
      throw new Error(data.intent.error);
    }

    // Still pending, wait and retry
    await new Promise(r => setTimeout(r, 2000));
  }
}

// Usage
const result = await submitIntent(...);
const confirmed = await waitForIntent(result.intentId);
console.log('Tx hash:', confirmed.txHash);

Timing

  • Validation: < 100ms
  • Queue wait: 0-1 seconds (batch interval)
  • On-chain execution: 2-10 seconds (network dependent)
  • Total: typically 3-12 seconds from submit to confirmed