Mayan — one signature from any asset to any supported chain

Mayan
How crypto moves
Mayan takes a token on one chain and delivers a token on another in a single signature. A bridge only moves an asset across. Mayan treats that as one of several outcomes: a swap, a stablecoin payment, a deposit, a withdrawal, or an extra on-chain step attached to the same order. More than $20 billion has moved this way, on the order of 9 to 10 million swaps, across more than 3 million users.
Wallets and apps that route through it include MetaMask, Phantom, OKX Wallet, MoonPay, SwapKit, and LI.FI. The contracts are permissionless and non-custodial, audited by OtterSec and Sec3. No party can freeze a user’s assets. This paper covers what an order is, the three ways it settles, what a quote actually promises, and how to read a fill or a refund.
What an order is
You name a source token, a source chain, a destination token, and a destination chain. Mayan routes it. You sign once. Drivers — the fillers who already hold capital on the destination — compete to deliver the output. You are paid on the destination from that capital, instead of waiting for the source chain to finalize and then bridging yourself. If nobody fills the order before its deadline, it is refunded. Mayan does not hold the funds in either case.
- Swap trades any asset for any other at the quoted price.
- Bridge moves across chains in that same transaction, so you do not bridge and then swap as two separate steps.
- Pay sends stablecoins with a guaranteed output on the routes that support it.
- Deposit funds an account from whatever asset you already hold.
- Withdraw exits to any supported chain and asset.
- Orchestrate attaches another on-chain action to the one swap.
Any token with a contract address is routable. There is no preset whitelist that defines the universe, though a token list is published per chain. Support is not symmetric: a chain can be an origin without being a destination. The live direction flags are originActive and destinationActive.
Swift, MCTP, and Wormhole Swap
One interface, three settlement methods. The quote picks among them. Explorer shows which one an order used.
| Method | Settles in | What it is for |
|---|---|---|
| Swift | As little as 2 seconds | Most swaps, up to around $1 million. A driver pays you from destination liquidity, then gets reimbursed on the source. No protocol fee. Exact-out on eligible assets. |
| MCTP and Fast MCTP | As little as 5 seconds | High-value and stablecoin transfers, up to around $10 million. Input is swapped to USDC and sent with Circle’s CCTP. Drivers then compete to turn that USDC into the output token. Protocol fee is 0 when the output is USDC, and 3 basis points otherwise. Fast MCTP uses CCTP v2. Its fee is 3 basis points. |
| Wormhole Swap | Under a minute | Low-slippage transfers of high-value SOL and ETH, over the Wormhole token bridge. Protocol fee is 10 basis points. |
Swift is the path most orders take. The source contract locks the input. It may first be swapped into a primary locked asset, typically USDC or ETH. Drivers submit offers on Solana. The winner delivers on the destination from their own liquidity. Fulfilment data then unlocks the locked funds for the driver. If a Swift order is refunded after that conversion, you receive the converted asset, not necessarily the token you sent. That has to be clear before you sign.
On EVM chains the single entry point is the Mayan Forwarder, 0x337685fdaB40D39bd02028545a4FfA7D287cC3E2, the same address on every supported EVM chain. An ERC-20 input is approved to that forwarder. Chain ids in the API are Wormhole chain ids. Base is 30, not 8453. The full table is on the chains page.
What the quote is promising
A swap is three choices: the token and chain you send, the token and chain you receive, then one signature. Any major wallet works. The quote shows an expected amount and a minimum. The swap will not execute below the minimum you sign. Price impact is on the quote. A high number means the size is moving the market.
Most quotes are a range. Guaranteed Price removes the range on eligible routes. There is no flag to request. If swiftAuctionMode on the quote is 3, expectedAmountOut is the exact amount that arrives. Mode 2 means drivers compete and you receive at least minAmountOut, usually near the expected figure. Guaranteed Price applies to USDC to USDC, USDT to USDT, and ETH to ETH, on any pair of supported chains. It does not apply to a cross-asset swap or to other same-asset pairs. The guarantee is the amount, not the clock. An unfilled order is still refunded.
Gasless execution is for a wallet that holds the token and not the source chain’s gas token. You pass gasless: true on the quote. Eligible quotes come back marked. You sign a message. A relayer submits the transaction and pays the gas. The call then returns an order hash string, not a transaction object. Not every route can do this. A gasless Swift refund has to go back to the signer. If you need the refund elsewhere, request a normal quote.
Every order has a deadline64. After that timestamp it can be refunded and can no longer be filled. A refund is its own on-chain action. The quote returns refundRelayerFee and clientRelayerFeeRefund so the cost is visible before you sign. Explorer status for a refund is REFUNDED, not COMPLETED. An order that cannot clear minAmountOut is not filled short. It is refunded.
Gas on the destination is a separate feature. Gas drop can deliver a native token on the destination so the next transaction there is possible. It does not remove the need for gas on the source.
Using it
- Open the swap and connect a wallet. Pick the source chain and token, then the destination chain and token.
- Read both numbers on the quote, and the price impact. If the route is same-asset USDC, USDT, or ETH, check whether the amount is locked.
- Sign once. The output is supposed to arrive in the destination wallet. Swift is quoted in seconds. MCTP is quoted in as little as five. Wormhole Swap is quoted under a minute. Those are floors, not a promise for a congested route.
- If it does not fill, look up the source transaction, or the gasless order hash, on the explorer.
REFUNDEDmeans the deadline passed or the minimum could not be met.
Integrators use the @mayanfinance/swap-sdk package, a quote API, an explorer API, and a drop-in widget. Referrer fees can be set by the integrator and, on current Swift, are taken from the locked source assets and paid on the source chain. The fee manager on EVM is 0x54914A963c4197172130C26D496a367bD6609D88. Hyperliquid deposits and withdrawals use the same SDK: USDC into a HyperCore spot or perps balance from a supported chain, and back out to an EVM chain. Methods, chains, and quote rules are under Docs.
Chains: Solana, Ethereum, BNB Smart Chain, Polygon, Avalanche, Sui, Arbitrum, Optimism, Base, Linea, Unichain, HyperEVM, Monad, Fogo, and HyperCore. A chain’s originActive and destinationActive flags say which direction is on.