Single-Transaction Swaps

Gasyard enables single-transaction cross-chain swaps. Users send one token, receive another token on a different chain—instantly.

Swap Scenarios

Cross-chain swap with different input/output tokensUser wants to pay in Token A and receive Token B on another chain.Flow: ETH (Ethereum) → USDC → Bridge → USDC → ARB (Arbitrum)Example: ETH on Ethereum → ARB on Arbitrum

Complete Flow Example

Scenario: User has 1 ETH on Ethereum, wants ARB on Arbitrum
1

User Initiates

User sends 1 ETH to GatewayRouter on Ethereum
2

Source Swap

Router swaps: 1 ETH → 2,500 USDC via DEX aggregator
3

Intent Created

Gateway creates intent: “2,500 USDC → Arbitrum → user address”
4

Solver Detects

Solver’s monitoring system detects the OrderCreated event
5

Solver Pays

Solver sends 2,500 USDC from their SolverPool on Arbitrum
6

Destination Swap

SolverRouter swaps: 2,500 USDC → 2,000 ARB
7

User Receives

2,000 ARB delivered to user’s wallet on Arbitrum
Total time: ~5-15 seconds User actions: 1 transaction

Slippage Protection

Every intent includes protection parameters:
{
  "minOutput": 1950,    // Minimum ARB to receive
  "expiry": 3600        // 1 hour timeout (Unix timestamp offset)
}
ProtectionBehavior
Min OutputIf solvers can’t meet the threshold, intent remains unfilled
ExpiryAfter expiry, RefundPool automatically returns funds
SlippageSet via API (default 0.05% / 5 basis points)

No Additional Approvals

Users only approve the initial token transfer. All subsequent operations:

Router Executed

All swaps handled by Router contracts

Whitelisted DEXes

Only approved aggregators used

Atomic Transactions

Everything happens in single transactions

Execution Timing

PhaseDuration
Source transaction confirmation~12 seconds (Ethereum)
Solver detection & execution~1-3 seconds
Destination confirmation~1-2 seconds (L2s)
Total~5-15 seconds
L2-to-L2 transfers are fastest. Transfers involving Ethereum mainnet take longer due to block times.
Next: Learn about Settlement — how solvers get credited.