Skip to main content
While most cross-chain swaps execute near-instantly, unfulfilled intents follow an automated on-chain refund process abstracted directly through OpenXSwitch infrastructure.
Important Note on Refund Processing Times:
Refunds are not instant. Expired swap deposits must pass through periodic batch processing, oracle verification, and canonical bridge confirmations, a process that takes several hours to settle. Do not instruct end-users to expect immediate refunds.

When Refunds Occur

Refunds occur when no relayer fills a deposit before its fillDeadline expires. This is rare on mainnet, but a deposit becomes eligible for an automated refund when:
  1. The fillDeadline passes without any relayer filling the cross-chain intent.
  2. No partial fills were executed.
Common root causes include extremely large swap transfers, low-liquidity/unusual token pairs, or temporary relayer market instability.

On-Chain Refund Flow

1

Swap Expiration

The fillDeadline passes and the swap status updates to expired. User funds remain safely escrowed in the origin liquidity pool contract.
2

Bundle Processing

The system bundles the expired deposit into the next global settlement batch.
3

Settlement Verification

The batch undergoes verification and an optimistic oracle challenge period to confirm valid state transitions.
4

Refund Execution

Upon finality, the refund root is transmitted to the origin chain via canonical bridges. Escrowed funds are returned automatically to the address of the wallet, and the API status updates to refunded.

Technical Specification