Cross-Chain DeFi

How Cross Chain Swaps Work Without Bridging in 2026

A cross chain swap exchanges tokens across networks in one action. How intent-based execution works in 2026, and how it compares to bridging.

A cross chain swap is a single operation that exchanges a token on one blockchain network for a different token on another, without the user manually bridging assets first. In 2026, the cleanest way to ship this is intent-based execution: the user signs the outcome they want, and independent solvers source liquidity and fill the trade, and SODAX settles it across networks. This guide is for builders deciding how to add a cross chain swap to a wallet, a DEX, or an app, and what the integration actually looks like in code.

Key takeaways

  • A cross chain swap moves value and changes the asset in one user action. It replaces the old bridge-then-trade sequence.
  • Intent-based execution shifts routing complexity off your frontend and onto a Solver. You integrate an outcome rather than a path.
  • SODAX exposes cross-network exchange, lending, and settlement through one SDK and API across 21 networks as of 2026.
  • The same integration that powers a swap also unlocks a cross chain money market and cross chain collateral, so the surface you build against scales beyond trading.
  • SODAX delivers output as a native asset or a sodaVariant, and now reaches native Bitcoin and tokenized stocks (xStocks), not only EVM tokens.

What is a cross chain swap

A cross chain swap is the exchange of an asset on a source blockchain network for a different asset delivered on a destination blockchain network, settled as one logical operation. The user starts with, for example, ETH on Arbitrum and ends with POL on Polygon. They never touch a bridge UI. They never hold a wrapped intermediary. They never sign a second transaction on the far side.

This is distinct from two operations builders often conflate. A token bridge moves the same asset from one network to another, frequently by minting a wrapped representation on the destination. A same-network swap exchanges two assets on a single network through an AMM. A cross chain swap does both jobs at once. It changes the asset and crosses the network boundary in a single Intent.

SODAX treats this as cross-network execution, meaning execution that spans any blockchain network as if the boundaries were not there. The distinction matters for builders because it changes where the complexity lives. With a bridge-and-swap design, your application orchestrates the steps, holds intermediate state, and handles partial failures. With cross-network execution, you submit the desired outcome and the system coordinates the rest.

For broader context on why moving assets between networks has historically been the riskiest part of DeFi, the Ethereum Foundation's bridge documentation is a useful primer. Bridge exploits have caused some of the largest losses in DeFi history, which is precisely why the execution model you choose is an architectural decision, not just a UX one.

How a cross chain swap works with intent-based execution

In an intent-based model, the user expresses a desired result: a minimum amount of output token X on destination network Y, in exchange for input token Z on source network W. That expression is an Intent. The user signs it. They do not specify the route.

A Solver then competes to fulfill the Intent. The Solver is not a passive relayer. It evaluates available liquidity, constructs the execution path, and fills the trade, delivering at least the minimum output the user accepted. If it cannot meet the terms, the Intent is not filled and the user keeps their funds.

This design has three consequences builders care about:

  • Routing is externalized. Your frontend does not need to discover pools, compute multi-hop paths, or manage slippage across networks. You request a quote and submit an Intent.
  • Settlement is outcome-guaranteed at the protocol level. The minimum output amount is enforced, so the user cannot be filled below the price they signed.
  • Asset coverage extends through sodaVariants, the mechanism SODAX uses to represent assets on networks where they do not exist natively, so liquidity is not stranded by where a token was originally issued.

The underlying Intent structure carries the input and output tokens, the minimum acceptable output, the source and destination networks, and an optional deadline. Builders rarely construct this by hand. The SDK assembles it from a quote.

Cross chain swap vs bridge-and-swap

Most teams start with the bridge-and-swap pattern because it composes familiar tools. It works, but the cost shows up in the parts that are hard to see in a demo and expensive in production.

DimensionBridge then swapCross chain swap (intent-based)
User actionsTwo or more signatures, often on two networksOne signed Intent
Failure surfaceApp holds intermediate state, must handle stuck bridgesIntent either fills at terms or does not fill
Routing logicYour code discovers paths and poolsExternalized to the Solver
Asset on destinationOften a wrapped intermediaryNative or sodaVariant output token
Integration footprintMultiple SDKs and contractsOne cross chain SDK and API

The headline fee of a bridge is easy to model. The implicit costs, failed transfers, wrapped-asset liquidity gaps, and the engineering time to handle edge cases, are where the bridge-and-swap pattern gets expensive. An intent model collapses that surface into a single fulfillment guarantee.

SODAX vs other cross chain swap options

The conceptual table above contrasts patterns. The table below names alternatives so you can place SODAX against tools you may already be evaluating. Each is strong at what it was built for.

OptionCore modelStrongest forWhere it is stronger than SODAX
SODAXIntent-based exchange with a Solver, native or sodaVariant output, EVM and non-EVM including BitcoinOne integration for swaps plus lending and collateral across both network familiesn/a
LI.FIAggregation API across many bridges and DEXsBest-route discovery across the widest venue setWider raw bridge and DEX coverage for pure transfers
StargateUnified liquidity pools on LayerZeroDeep stablecoin transfers with instant guaranteed finalityMore mature unified stablecoin pools on EVM
SquidCross-chain swaps routed through Axelar GMPEVM-to-Cosmos reach via the Axelar networkStronger native Cosmos ecosystem coverage

SODAX is differentiated, not alone. If you only need best-route token movement, an aggregator may cover it. If you only need stablecoin transfers, a pool-based protocol may be simpler. SODAX is strongest when one integration needs to serve swaps, lending, and collateral across EVM and non-EVM, including native Bitcoin.

How to build a cross chain swap with the cross chain SDK

The integration starts with a quote. The cross chain SDK reads token addresses and decimals off the Sodax instance configuration, so you do not hardcode them. The quote tells you the expected output, which you use to set the minimum output on the Intent.

Note on code samples

These signatures reflect the SODAX SDK as of June 2026. The SDK evolves rapidly. Always verify against the official documentation at docs.sodax.com before integrating in production.

import { Sodax, ChainKeys } from '@sodax/sdk';
import type { SolverIntentQuoteRequest } from '@sodax/sdk';

const sodax = new Sodax();

const arbEthToken = sodax.config.spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].nativeToken; // ETH on Arbitrum
const polygonPolToken = sodax.config.spokeChainConfig[ChainKeys.POLYGON_MAINNET].nativeToken; // POL on Polygon

const quoteRequest = {
  token_src: arbEthToken,
  token_dst: polygonPolToken,
  token_src_blockchain_id: ChainKeys.ARBITRUM_MAINNET,
  token_dst_blockchain_id: ChainKeys.POLYGON_MAINNET,
  amount: 100000000000000n, // 0.0001 ETH (18 decimals)
  quote_type: 'exact_input',
} satisfies SolverIntentQuoteRequest;

const quoteResult = await sodax.swaps.getQuote(quoteRequest);
if (!quoteResult.ok) {
  console.error('Quote failed:', quoteResult.error);
} else {
  const { quoted_amount } = quoteResult.value;
  console.log('Quoted output amount:', quoted_amount);
  // Use quoted_amount to set minOutputAmount on the Intent
}

Two things to internalize from this. First, amounts are always in the token's smallest unit, so 0.0001 ETH is expressed scaled by 18 decimals. Second, getQuote automatically deducts any configured partner fee from the amount before forwarding to the Solver, so the returned quoted_amount is the net output the user actually receives. That makes partner monetization a configuration concern rather than a payload concern.

If you are building a React frontend rather than a backend service, the same flow is available as hooks through the dapp kit: useQuote auto-refreshes a live quote, useSwap submits the Intent, and useStatus tracks execution to completion. The choice between the cross chain SDK and the cross chain API is a deployment decision, not a capability one. Both route to the same independent solvers and the same liquidity. This guide stays on the swap model itself. The full SDK build, the quote, Intent, and status lifecycle plus the method reference, lives in the companion Intent SDK developer walkthrough and the SODAX developer docs.

Beyond swaps: cross chain money market and cross chain collateral

The reason to evaluate execution infrastructure rather than a single-purpose bridge is that the same integration surface unlocks more than trading. A cross chain money market lets a user supply an asset on one network and borrow against it on another, because the collateral accounting is unified at the execution layer rather than siloed per network. SODAX exposes 27 money market assets for lending and borrowing across networks.

Cross chain collateral is the primitive underneath that. When collateral is recognized across networks, a user is not forced to move assets to where the lending market lives. They post collateral where it already sits and draw liquidity where they need it. For a builder, this means a wallet or app can offer borrowing without first solving the bridging problem, because the execution layer already did. With native Bitcoin support live since 2026-05-26, that collateral set now includes BTC itself.

This is the practical argument for treating swaps, lending, and settlement as one system. You integrate the cross-network execution layer once. The cross chain swap is the entry point most teams ship first, but the SODAX money market runs on the same foundation, and 25 protocols have already integrated SODAX infrastructure across these surfaces.

Frequently asked questions

What is the difference between a cross chain swap and a bridge?

A bridge moves the same asset from one blockchain network to another, often as a wrapped token. A cross chain swap changes the asset and crosses the network boundary in one operation, so the user ends with a different token on the destination network. SODAX delivers the output as a native asset or a sodaVariant rather than a wrapped intermediary.

How many networks does a SODAX cross chain swap support?

SODAX operates across 21 networks as of 2026 (often searched as cross chain coverage), spanning EVM networks such as Ethereum, Arbitrum, Base, BNB Chain, Optimism, Polygon, Avalanche, and Sonic, alongside non-EVM networks including Solana, Sui, Stellar, Injective, ICON, NEAR, native Bitcoin, and Stacks. Naming the networks your users actually hold assets on is more useful than the count alone.

Do I need a separate cross chain SDK and cross chain API?

No. The cross chain SDK and the cross chain API route to the same independent solvers and liquidity. Use the SDK for application or backend integration, or the dapp kit hooks for a React frontend. The choice is about where your code runs, not what it can do.

How are fees handled on a cross chain swap?

The SDK's getQuote deducts any configured partner fee from the input amount before forwarding to the Solver, so the quoted output already reflects what the user receives. Partner monetization is set in configuration, not added to the request payload.

What happens if a cross chain swap cannot be filled at my price?

The Intent carries a minimum output amount. A Solver fills it only if it can meet at least that amount. If no Solver can satisfy the terms, the Intent does not execute and the user retains their funds, so there is no silent fill below the signed price.

Building with cross-network execution

A cross chain swap is the most direct way to give users a single-action trade across networks, and intent-based execution is what makes it reliable to ship. You integrate an outcome, the Solver handles the path, and the same surface extends to a cross chain money market and cross chain collateral when you are ready. If you want to see the execution model in action before integrating, try the live SODAX exchange, then build against the SDK documented at docs.sodax.com.