X-API-Key header on every request.
Get a key
Keys are created in the Moove Dashboard at moove.xyz/dashboard/api-keys. There is no endpoint that mints a key. Key management is session-authenticated only — a key can never issue another key, so a compromised key cannot escalate itself. Moove API Keys →On the MCP server
The MCP server athttps://api.moove.xyz/mcp takes the same key. There, and only there, it may also be sent as a Bearer token:
X-API-Key only. On the MCP server, a Bearer token that is not a Moove API key is refused, and sending both headers with different keys returns 401.
Scopes
A key is issued with explicit scopes. A request is rejected with403 if the key lacks the scope its operation requires.
You do not select raw scopes. You select an agent, which expands to the scopes it needs.
Each live agent is granted as a set, never in part. A key that can quote but not record cannot finish the flow it exists for — and it would discover that at the step after the funds have moved.
Only the Moove Receive Agent is selected by default. Send and Swap have to be ticked deliberately, so a user who ignores the picker does not walk away holding payout or swap scopes.
There is no Bridge agent and no
bridge scope. Cross-chain bridging is served by the Moove Swap endpoints, so swap:quote and swap:create cover a same-chain swap and a cross-chain bridge alike.A key is a down-scope of its owner
A key acts as the user who issued it and can only do a subset of what they can do.
No scope signs anything
That is enforced rather than asserted, and differently per product:The quote rules are guardrails, not bounds. With a key, both quote endpoints also check the request before anything is signed:
- Send:
fromAddressandtoAddressare required,fromAddressmust be a signature-connected wallet of the owner, andtoAddressmust not be a wallet moove.xyz operates. - Swap: the same
fromAddressrule, andtoAddressmust be a wallet on the owner’s own account that moove.xyz does not operate.
X-API-Key header is answered with none of those checks applied.So the quote rules protect a cooperating integration from building the wrong request at the last moment it is still free — they do not narrow what somebody holding a stolen key can price. Nothing about pricing does, because pricing is public. What bounds the key is that no scope signs, and that recording requires a wallet its owner proved they hold.Handling keys
When an agent holds the key
A key cannot sign, but the agent that holds it usually holds a signer as well. What decides where the money goes is then the agent’s instructions — and those can be attacked through anything the agent reads. Moove Agentic Payments →Revocation
Revoking a key stops it working immediately.Failure modes
Errors →
Next
Moove Payment Links
Make your first call.
Moove Send
Paying out, end to end.
Moove Swap
Swapping and bridging.