This feature is currently supported only on the Solana network.
There’s also an OpenClaw skill available for headless functions - https://clawhub.ai/mavagio/mpc-accept-crypto-payments
How It Works
- Merchants generate Pay Links that define the payment request, including supported currencies.
- Payers prepare a transaction via the API using the Pay Link and their public key.
- MoonPay Commerce provides the transaction payload (serialized transaction, message, and token) needed for signing.
- Payers sign and submit the transaction, completing the payment fully through the API without a UI.
How to Get Started
- Create a Pay Link
- If no currency is provided, it will default to USDC.
- If USDC is not available, the first enabled currency on the Pay Link will be used.
- Prepare the Transaction
paymentRequestId- The Pay Link IDsenderPublicKey- the payer’s public keycurrencyId(optional)- any other required fields (see API reference for full list)
- Sign the Transaction
/prepare endpoint responds with:
transactionToken- Identifier required to submit the signed transaction.transactionMessage- Metadata or message tied to the transaction.serializedTransaction- Unsigned transaction data to be signed by the payer.addressLookupTableAccounts- Accounts used to resolve addresses in the transaction.
WalletService helper shown below:
- Submit the Transaction
- the
signedTransactionvalue - the
transactionTokenfrom the/prepareresponse.
