How Cross Chain Borrowing Works Across Networks in 2026
Cross chain borrowing lets you post collateral on one network and borrow on another. How it works in 2026, approaches compared, and the SODAX SDK flow.
Cross chain borrowing is the ability to post collateral on one blockchain network and receive a loan delivered to another, without manually bridging assets first. It lets a builder offer a borrow flow where a user supplies ETH on Ethereum and takes a USDC loan on Base in a single operation. This guide explains how cross chain borrowing works in 2026, how the main approaches compare, and how to add it to a product using the SODAX cross-network money market.
Key Takeaways
- Cross chain borrowing lets a user borrow against collateral held on a different blockchain network than the loan is delivered to.
- There are two architectures: bridge-then-borrow on a single-network money market, and a native cross-network money market that settles across blockchain networks directly.
- SODAX runs a cross-network money market on the Sonic Hub that accepts collateral from 21 networks and delivers borrowed assets to a network the user chooses.
- The SODAX SDK exposes borrowing through one
moneyMarket.borrowmethod with optionaldstChainKeyanddstAddressfor cross-network delivery.- As of 2026 the SODAX money market covers 27 assets for lending and borrowing, and settles in the native stablecoin bnUSD.
How cross chain borrowing works
Cross chain borrowing separates where collateral lives from where the loan is used. A user deposits an asset on their origin network. A loan is opened against that collateral. The borrowed asset is delivered to a destination network the user selects. The collateral never has to move to the network where the user wants to spend.
Two designs deliver this outcome.
The first is bridge-then-borrow. The user bridges collateral to whatever network hosts the lending market, borrows there, then optionally bridges the borrowed asset back. This chains together a bridge and a single-network money market. It works, but it exposes the user to bridge risk, adds wrapped-asset accounting, and requires gas on multiple networks.
The second is a native cross-network money market. Collateral posted from one blockchain network backs a loan that can be delivered to another, in one operation, coordinated by a single execution system. There is no manual bridging step and no user-managed wrapped assets. SODAX uses this design.
In the SODAX model, the money market lives on the Sonic Hub. A user acts from their origin network. The message is verified and routed to a Hub wallet that executes the borrow. The borrowed asset is settled to the destination network the user names. Independent solvers source the liquidity and SODAX settles the result across blockchain networks.
Why cross chain borrowing matters for builders
Cross chain borrowing in crypto matured in 2026 from a bridge workaround into first-class money market infrastructure. The demand is structural. Liquidity is fragmented across dozens of blockchain networks, and capital that sits idle on one network is expensive to relocate. A cross-network money market lets that capital stay put and still back borrowing elsewhere.
For a builder, the practical value is capital reuse. A wallet or exchange can let a user keep collateral on the network where it already sits, whether that is Ethereum, Solana, or Bitcoin, and still open a loan denominated and delivered where the user needs it. The user avoids paying a bridge toll and avoids holding a wrapped representation of their own asset.
SODAX supports native Bitcoin, added in 2026, and tokenized equities through xStocks, also added in 2026. Paired with the 21-network footprint spanning EVM networks like Ethereum, Arbitrum, Base, BNB Chain, Optimism, Polygon, and Avalanche, and non-EVM networks including Solana, Sui, Stellar, Injective, NEAR, Stacks, and native Bitcoin, that lets a builder offer borrowing against collateral types most cross-network money markets cannot touch.
Cross chain collateral and how positions are valued
Cross chain collateral is collateral held on one blockchain network that backs a loan opened on the shared money market. In the SODAX design, collateral supplied from any supported network is represented on the Hub as a sodaVariant, and a user's position is valued against that unified pool rather than against a per-network silo. This is what lets a single position draw on collateral and liquidity that originated on different networks.
Positions are governed by standard money market mechanics. Each asset has a supply rate and a variable borrow rate. A position carries a health factor derived from collateral value against borrowed value. The SDK exposes a formatted user summary with totalCollateralUSD, totalBorrowsUSD, healthFactor, and availableBorrowsUSD so a front end can render risk without hand-rolling the math. As with any lending market, a position that falls below its liquidation threshold can be liquidated, so a borrow flow should surface the health factor to the user before and after the action.
Adding cross chain borrowing to your app
Adding cross chain borrowing to a product does not require writing bridge logic or contract calls per network. The SODAX cross chain SDK exposes the whole flow through one interface. All money market operations are accessed through the moneyMarket property of a Sodax instance.
Note on code samples
These signatures reflect the SODAX SDK as of July 2026. The SDK evolves rapidly. Always verify against the official documentation at docs.sodax.com before integrating in production.
A cross-network borrow is a single call. Set srcChainKey to where the user acts and add dstChainKey and dstAddress to deliver the borrowed asset to a different network.
import { type MoneyMarketBorrowParams, DEFAULT_RELAY_TX_TIMEOUT, ChainKeys } from '@sodax/sdk';
const borrowParams: MoneyMarketBorrowParams = {
srcChainKey: ChainKeys.BSC_MAINNET,
srcAddress: '0x...',
token: '0x...', // Token address on the destination chain (defaults to srcChainKey)
amount: 1000n,
action: 'borrow',
// Deliver borrowed tokens to a different network
dstChainKey: ChainKeys.ETHEREUM_MAINNET,
dstAddress: '0x...',
};
// Borrow and relay (complete operation)
const borrowAndSubmitResult = await sodax.moneyMarket.borrow({
params: borrowParams,
walletProvider: evmWalletProvider,
timeout: DEFAULT_RELAY_TX_TIMEOUT,
});
if (borrowAndSubmitResult.ok) {
const { srcChainTxHash, dstChainTxHash } = borrowAndSubmitResult.value;
console.log('Borrow successful:', { srcChainTxHash, dstChainTxHash });
} else {
console.error('Borrow failed:', borrowAndSubmitResult.error);
}
Borrowing does not require an on-chain approval. isAllowanceValid always returns true for borrow and withdraw, though it still validates that the token is supported on the destination network. Approvals are only needed for supply and repay.
If you need manual control over relay submission, use createBorrowIntent instead. It builds and optionally broadcasts only the origin-network transaction without waiting for the relay to settle.
const borrowIntentResult = await sodax.moneyMarket.createBorrowIntent({
params: borrowParams,
walletProvider: evmWalletProvider,
});
if (borrowIntentResult.ok) {
const { tx: txHash, relayData } = borrowIntentResult.value;
console.log('Borrow intent created:', txHash);
} else {
console.error('Borrow intent creation failed:', borrowIntentResult.error);
}
Errors return a typed SodaxError with a string code. Discriminate on error.code, not error.message. The critical case for a borrow flow is TX_SUBMIT_FAILED, where the origin transaction landed but relay submission failed and funds may be in flight. Persist the user's input and retry submission rather than re-opening the position.
Reading reserves and user positions
The same SDK is your cross chain API for state. Use the data service to fetch reserves and user positions without querying each network separately.
import { ChainKeys } from '@sodax/sdk';
// Humanized reserves across the money market
const reserves = await sodax.moneyMarket.data.getReservesHumanized();
// A single user's position for a given origin network
const userReserves = await sodax.moneyMarket.data.getUserReservesHumanized(
ChainKeys.BSC_MAINNET,
userAddress,
);
// Formatted USD summary with health factor
const userSummary = sodax.moneyMarket.data.formatUserSummary(
sodax.moneyMarket.data.buildUserSummaryRequest(reserves, formattedReserves, userReserves),
);
This gives a front end the supply and borrow APYs, USD totals, utilization, and the user health factor in a form ready to render.
How cross chain borrowing approaches compare in 2026
The right choice depends on whether you want a native cross-network money market or a single-network market you reach through a bridge. Aave and Compound carry deeper single-network liquidity for their home markets, which matters for large borrows. A native cross-network money market wins on user experience, collateral breadth, and avoiding bridge risk.
| Approach | Collateral across networks | Delivery to another network | Bridge risk | Non-EVM and Bitcoin collateral | Where it is stronger |
|---|---|---|---|---|---|
| SODAX cross-network money market | Native, 21 networks | Native, in one operation | None for the borrow itself | Yes, including native Bitcoin | Cross-network UX, collateral breadth |
| Aave V3 on a single network | Same-network only | Requires a separate bridge | Added by the bridge step | EVM plus limited non-EVM deployments | Deep single-network liquidity |
| Compound III (Comet) | Same-network only | Requires a separate bridge | Added by the bridge step | EVM only | Simple single-asset borrow markets |
| Bridge then borrow (bridge plus local market) | Manual, user-managed | Manual, second bridge | High, two bridge legs | Depends on the bridge | Using an existing local market you already trust |
For a broader view of the lending landscape and current market sizes, see the lending category on DeFi Llama. For a primer on the interoperability layer that cross-network lending depends on, Chainlink's cross-chain DeFi education hub is a useful reference.
Frequently Asked Questions
What is cross chain borrowing?
Cross chain borrowing is borrowing an asset on one blockchain network using collateral that lives on another, without moving the collateral yourself. A native cross-network money market like SODAX accepts collateral from a supported network, opens the loan against a unified position, and delivers the borrowed asset to a destination network you choose. The result is capital reuse: collateral can stay where it already sits while the loan is used somewhere else.
Is cross chain borrowing safe?
Cross chain borrowing carries the same risks as any money market, plus the risk of whatever moves value between networks. Standard risks are liquidation if your health factor falls too low, and interest rate changes. The extra risk in the bridge-then-borrow approach is bridge risk, since you rely on a separate bridge to relocate collateral. A native cross-network money market removes the manual bridge step by settling across blockchain networks through one execution system, which reduces the surface area a user has to trust. No system is fully without risk, so always surface the health factor and confirm the destination network before executing.
Can I borrow on a different network than my collateral?
Yes. That is the defining feature. With the SODAX SDK you set srcChainKey to the network where you act and dstChainKey plus dstAddress to the network where the borrowed asset should be delivered. The money market on the Sonic Hub coordinates the borrow and settlement, so a user can post collateral on one blockchain network and receive the loan on another in a single operation.
What assets can be used as cross chain collateral?
As of 2026 the SODAX money market supports 27 assets for lending and borrowing, spanning major EVM assets, non-EVM assets, and native Bitcoin. Collateral supplied from any supported network is represented on the Hub and valued against the unified pool. Because SODAX added native Bitcoin and tokenized equities through xStocks in 2026, a builder can offer borrowing against collateral types that most cross-network money markets do not support.
How do I add cross chain borrowing to my app?
Install the SODAX SDK, create a Sodax instance, and call sodax.moneyMarket.borrow with the borrow parameters. For a cross-network loan, include dstChainKey and dstAddress. Use sodax.moneyMarket.data to read reserves and the user's position for your front end. Borrow does not require a token approval, so the flow is a single call plus state reads. Verify all signatures against docs.sodax.com before going to production.
Getting started
Cross chain borrowing in 2026 is a solved primitive for builders who want it. The decision is between stitching a bridge to a single-network market and integrating a native cross-network money market that handles collateral breadth, delivery, and settlement for you. If you want one integration that reaches 21 networks and covers 27 assets including native Bitcoin, the SODAX money market is the shortest path. Explore the live money market at sodax.com and the borrow SDK reference at docs.sodax.com.