Skip to main content

What is the Mayan Payment Service?

The Mayan Payment Service (MPS) is cross-chain payment infrastructure. You get a deterministic deposit address for each of your users from a Mayan quote; when they send any token on any supported chain to that address, MPS automatically detects the deposit, bridges and swaps it via Mayan Protocol, and delivers the destination token on the destination chain you specified. It turns “accept a specific token on a specific chain” into “accept anything, settle in what you want” — ideal for checkout, on-ramps, treasury top-ups, and wallet funding.
MPS is a hosted backend on top of Mayan. You integrate over a simple REST API plus real-time WebSocket events — no smart-contract work required.

How it works

1

Get a deposit address from a quote

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

User deposits

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

MPS detects and settles

The scanner detects the deposit and checks its USD value. The worker deploys the user’s smart wallet (first time only), then executes the bridge/swap through Mayan Protocol.
4

Funds delivered

The destination token arrives at the destination wallet on the destination chain, and the swap reaches status: "completed".
You track every step in real time via events or by polling the /swaps endpoint.
The deposit address comes from the Quote API: pass mpsDeposit: true (with destinationAddress) and read mpsDepositAddress off each eligible quote. See MPS deposit address on the Quote API.

Key concepts

  • Deterministic & 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 for SPL / Token-2022 deposits (USDC, USDT, and WETH are auto-detected).
  • Any token in, one token out — users pay in whatever they hold; you always receive the destination token you configured. Common tokens are detected automatically; anything else can be indexed on demand (see Supported tokens).
  • 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

MPS accepts deposits on a fixed set of source chains, and settles 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

Users can deposit on these chains:

Destination chains

The destination (destChain) can be any chain Mayan supports — including chains beyond the deposit set above (e.g. Sui and many more). See Mayan’s supported chains for the full list.
Always pass the Wormhole chain ID in destChain and read it in chainId — e.g. 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 MPS’s scanner auto-detects (and settles with no action from you) this whitelist per source chain. Min deposit is in the token’s own units — a deposit below it is detected but not settled. The table above is a convenience snapshot. The authoritative, live list — with the 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 — we add tokens in under 12 hours, 24/7. Until then, any other token can still be settled on demand via POST /request-index (MPS sweeps the wallet’s balance and settles it if Mayan can route the token).

Next steps

Quickstart

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

API Reference

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

Swap Statuses

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

Events

Real-time WebSocket events and replay after disconnects.

Getting access

You need an API key (a UUID) to call the API and connect to the event stream. To receive one, email support@mayan.finance or reach out to the Mayan team in Discord. A web dashboard is also available — log in with your API key to browse generated addresses and settlement statuses.