Skip to main content
Take payments, make payouts, and swap or bridge any supported asset — programmatically.
The API is live and serving production traffic. Base URL https://api.moove.xyz.

Quickstart

1

Create an API key

At moove.xyz/dashboard/api-keys, scoped to the agent you need — Receive to take payments, Send to pay out, Swap to swap or bridge. The plaintext key is shown once.Moove API Keys →
2

Create a payment link

Response
3

Send the payer to url

They pay in any token on any chain. It settles to your default wallet in your settlement token.

At a glance

Two ways in

Call the REST endpoints below from your own code, or connect an AI agent to the MCP server and let it work with your payment links as tools. Both take the same API key and enforce the same scopes, and a link created either way spends the same rate-limit budget. MCP Server →

Endpoints

One pair of transaction endpoints serves both Send and Swap; the request’s product field says which, and decides which scope is required.

The API never signs for you

No endpoint moves funds, and no endpoint accepts a private key. A quote returns unsigned transaction data that you sign and broadcast yourself, in your own environment. POST /v1/transaction records a hash that is already on chain.So a leaked Moove API key cannot move a single cent. The key that can is the signing key on your own machine, which Moove never receives, stores or transmits.
Paying out or swapping is therefore four steps, and step 2 never touches moove.xyz:
1

Quote

POST /v1/quote/send or POST /v1/quote/swap — returns steps[].transactionData, unsigned.
2

Sign and broadcast, locally

With your own key. moove.xyz is not involved.
3

Record

POST /v1/transaction with the hash, the quote, and the product.
4

Poll

GET /v1/transaction/{id} until status is settled.
A key is a down-scope of its owner: it acts as that user and can only do a subset of what they can do. Within its scopes a leaked key can read its owner’s history, create links that pay its owner, and record transactions against its owner’s own wallets — so revoke it. It cannot take the money. Authentication → There is also no key-minting endpoint. Key management is session-authenticated only, so a key can never issue another key.

Before your first call

Each product has one account precondition, and each returns 409 until it is met. Neither is retryable — the account’s owner has to act. The payout and swap precondition is the one people miss. With a key, POST /v1/quote/send and POST /v1/quote/swap both refuse an unconnected funding wallet with 409 SEND_ACCOUNT_NOT_READY before you sign, so nothing has moved. You will also need a signing library in your own project — moove.xyz ships none, and this API cannot sign.

Coming soon

Moove Stake and Moove Ramp have no public API yet. The pages under Coming Soon track what is planned.
There is no separate Bridge API. Cross-chain bridging is served by Moove Swap: one endpoint prices a same-chain swap and a cross-chain bridge, decided by whether the two chain ids differ.

Next

Authentication

Keys, scopes and the header.

Moove Send

Paying out, end to end.

Moove Swap

Swapping and bridging.