Skip to main content

Specifying Assets

When creating an asset movement, it is essential to correctly specify the assets that will be included in a cross-chain order or a same-chain swap. This section shows how to do it, and covers some special cases. This article is relevant for both same-chain swaps and cross-chain orders.
Hands on examples can be found in the examples repository.

EVM and SPL tokens

When specifying EVM or SPL tokens in an asset movement, token’s contract/program address must be provided.

EVM Example

Solana Example

Native Assets

When specifying native assets, such as ETH on Ethereum or SOL on Solana, predefined identifiers for these assets must be used.

EVM Example

On EVM chains, the native asset (e.g., ETH on Mainnet, ETH on Arbitrum, MATIC on Polygon, BNB on BNB) is represented by the zero address: 0x0000000000000000000000000000000000000000.
Wrapped versions of native assets (e.g., WETH, WMATIC) should be specified using their respective contract addresses.

Solana Example

On Solana, we have two cases to consider: SOL and WSOL. It is important to not confuse the two.

SOL (Native SOL)

The native SOL asset is represented by the special identifier: 11111111111111111111111111111111. In this example, native SOL is moved to MATIC on Polygon:

WSOL (Wrapped SOL)

The wrapped SOL asset is represented by the special identifier: So11111111111111111111111111111111111111112. This example exchanged SOL for WSOL on Solana through a same-chain swap: