Skip to main content
POST
cURL

Overview

ExecuteIntentEdge arms an origin-mode edge intent — one whose funding leg comes from a non-EVM edge rail (Solana or Tron) — so the edge monitor starts watching for the external bridge fill server-side. Call it on user “proceed” before the user pays on the edge chain; no deposit is attached because the fill hash is discovered server-side once funds arrive. Use ExecuteIntent for EVM-only intents. Use ExecuteIntentEdge for intents quoted through QuoteIntentEdge with edge.mode = ORIGIN.
Destination-mode edge intents are armed atomically inside ExecuteIntent and do not use this endpoint.

Request Parameters

Required Fields

  • intentId (string): The intent identifier returned from QuoteIntentEdge (or from CommitIntent if you took the two-step path).
The edge quote is resolved from the intent server-side, so no edgeId is required.

Response

  • intentId (string): The intent identifier.
  • intentStatus (IntentStatus): Current status of the intent. Arming does not itself change the intent’s status — the intent stays QUOTED until the edge monitor observes the fill and completes execution server-side. Once the fill is observed, the intent transitions to EXECUTING and then to SUCCEEDED or FAILED.

Behavior

  • Arming is idempotent — re-arming an already-armed intent succeeds without error.
  • Arming is pre-funds by definition: the endpoint rejects with QuoteExpired if the quote has expired.
  • No intent_receipts or intent_transactions rows are created at arm time. The edge monitor writes them as the fill and subsequent hops progress.

Example

Timing Requirements

Arm the intent within the quote’s expiration window (15 minutes from QuoteIntentEdge). After arming, the user must complete the edge deposit before the intent’s overall expiry, otherwise the intent refunds.

Errors

Next Steps

GetIntentReceipt

Poll for cross-chain execution status

WaitIntentReceipt

Long-poll for updates

Body

application/json
intentId
string
required

Response

OK

intentId
string
required
intentStatus
enum<string>
required

Represented as uint8 on the server side

Available options:
QUOTED,
COMMITTED,
EXECUTING,
FAILED,
SUCCEEDED,
ABORTED,
REFUNDED,
INVALID