Skip to main content
Give each user an address that never expires. They send any supported token from any supported chain, and you receive the token you configured, on the chain you configured, in the wallet you configured. No swap interface, no wallet connection, and no approvals.

How it works

1

Get a deposit address from a quote

Request a quote with mpsDeposit: true and a destinationAddress, then read mpsDepositAddress off an eligible quote. It is a deterministic address on the source chain of that quote, permanent and reusable for the same recipient.
2

The user deposits

Show the address to your user. They send the input token on the source chain, with no signature and no transaction to build.
3

Mayan detects and settles

The deposit is detected and its USD value checked. The user’s smart wallet is deployed the first time only, then the swap executes through Mayan.
4

Funds delivered

The destination token arrives at the destination wallet on the destination chain, and the swap reaches status: "completed".
Track every step in real time through events, or by polling the /swaps endpoint.

Key concepts

  • Deterministic and permanent addresses. The same parameters always produce the same address. Addresses never expire and can be reused for repeat payments from the same user.
  • One address, many chains. An EVM deposit address is valid on every supported EVM chain; quote from an EVM source chain to get it. A Solana source quote returns a Solana vault that accepts native SOL as well as SPL and Token-2022 deposits, where SOL, USDC, USDT, WETH and WSOL are auto-detected.
  • Any token in, one token out. Users pay in whatever they hold, and you always receive the destination token you configured. Common tokens are detected automatically, and anything else can be indexed on demand.
  • Structured, real-time lifecycle. A single status_changed event stream reports progress, retries, success, and terminal failure, each with a stable error model.

Supported chains

Deposits are accepted on a fixed set of source chains, and settle to any chain Mayan supports as the destination. Chains are identified by their Wormhole chain ID (the EVM chain ID is shown for reference only).

Deposit (source) chains

Destination chains

The destination (destChain) can be any chain Mayan supports, including chains beyond the deposit set above. See Chains & Contracts for the full list.
Always pass the Wormhole chain ID in destChain and read it in chainId. Base is 30, not 8453. Passing an EVM chain ID will produce a different, wrong deposit address or be rejected.

Supported tokens

A deposit address can receive any token, but the scanner auto-detects and settles this whitelist per source chain with no action from you. Min deposit is in the token’s own units, and a deposit below it is detected but not settled.
On Solana, SOL and WSOL are separate entries. SOL is native lamports sent to the vault address, and WSOL is the wrapped-SOL SPL token. Both are auto-detected, but they are different balances, so use the address matching what you actually send.
The table above is a convenience snapshot. The authoritative, live list, with current per-token minimums, is GET /source-config. Poll it rather than hardcoding, and surface each token’s minDeposit to your users before they pay.
Need another token whitelisted? Email support@mayan.finance with the chain and token contract, and we add tokens in under 12 hours, 24/7. Until then, any other token can still be settled on demand via POST /request-index, which sweeps the wallet’s balance and settles it if Mayan can route the token.

Getting access

You need an API key, a UUID, to call the tracking API, connect to the event stream, and log in to the MPS panel. Getting a deposit address from a quote works without one. To request a key, email support@mayan.finance or reach the team in Discord.
Want to try it right away? Use the shared demo key:
It works with every example in these docs. It is public and shared by everyone, so use it only for evaluation, and request your own key for anything beyond testing.
A web dashboard is also available at mps.mayan.finance. Log in with your API key to browse generated addresses and settlement statuses.

Next steps

Quickstart

Get your first deposit address from a quote and receive events end to end.

API Reference

Every endpoint, request and response shape, and the structured error model.

Swap Statuses

The full status lifecycle, covering phase, category, terminal, and retries.