Skip to main content
Swift is Mayan’s intent-based method for cross-chain swaps, and the path most orders take. Rather than bridging tokens or minting a wrapped asset, drivers deliver the user’s output directly on the destination chain from liquidity they already hold, and Swift releases the user’s original funds on the source chain afterwards. That ordering is what makes it fast. Swift settles in as little as 2 seconds, because the user is paid before the cross-chain message is verified rather than after the source chain finalizes.

How it works

1

The user signs on the source chain

The source contract locks the input tokens. The input may first be swapped into the primary locked asset on that chain, typically USDC or ETH.
2

Drivers compete to fill it

Drivers submit offers on Solana based on the output they can deliver on the destination chain. The best offer wins.
3

The winning driver pays the user

They fulfil the swap directly on the destination chain from their own liquidity. The user has their funds at this point.
4

The driver is reimbursed

The destination contract posts fulfilment data, which is executed on the source chain, and Swift emits an unlock message releasing the locked funds.
For payload-enabled swaps the destination contract stages the payout and completes it after a settlement step, which lets the payload be validated before final payout. The source unlock still happens after the VAA.

What it gives you

  • Settlement in as little as 2 seconds, because the driver fronts the delivery rather than waiting on the source chain.
  • No bridge liquidity to seed, no wrapping, and no mint or burn mechanics.
  • Exact-out settlement on eligible assets. See Guaranteed Price.
  • Integration through the SDK, with minimal onchain assumptions.
  • Optional referrer fees for integrators. See Fees & Earning.

Transaction size

Swift carries single transfers up to around $1M, depending on the chain. For larger transfers you can select MCTP instead, which carries up to around $10M.

Protocol fee

Swift has no protocol fee. The live value for any quote is still returned in the quote response, so read it rather than hardcoding.

Refunds

If the input was converted into the primary locked asset before the order opened, a refunded order returns that converted asset rather than the token the user sent. Surface this in your interface. See Refunds.

Contract addresses

Earlier versions

Everything above describes Swift as it works today. The detail below matters only if you integrated before the current version and have not migrated.
The original Swift used a single contract per chain. The current version splits that into a source contract and a destination contract, which is what allows the staging and settle step for payload swaps and gives more consistent settlement across chains.Two changes affect integrators:
  • Referrer fees moved. They were collected from the output token on the destination chain. They are now collected from the locked source assets and paid on the source chain.
  • Payload handling changed. Payload swaps are now staged and settled in two steps, so the payload is validated before final payout.
The original contracts are not supported long term. Existing integrations should migrate.