You must have the ability to deliver an NFT purchased by a customer on chain.
MoonPay's Lite Flow is an optional layer that sits on top of your architecture, enabling customers to pay with fiat payment methods, while having no impact on your existing crypto-native user base.
The checkout experience is served through the MoonPay widget, which can be embedded in an iframe in your application. Delivery and data are handled by the partner endpoints, which are documented in this guide.
In order to integrate the Lite Flow, you must have the ability to deliver an NFT purchased by a customer through MoonPay on chain. The Lite Flow integration operates in the following manner:
- A customer buying an NFT completes the checkout process in MoonPay's widget.
- MoonPay notifies you of payment completion by calling a standardized endpoint implemented by you.
- You transfer the NFT to the designated wallet address supplied by MoonPay, which corresponds to the buyer's address.
- MoonPay facilitates automated settlement.
The Lite Flow supports wide variety of networks. This is because the NFT delivery is handled by you, on the instruction of MoonPay.
The NFT you are delivering has to be priced in one of our supported crypto currencies (full list here).
The cryptocurrency the NFT is priced in must share the same wallet address standard as the network where the NFT will be delivered.
- If the NFT is priced in USDC (Ethereum), the NFT can be delivered on any chain with EVM wallet address standard
- If the NFT is priced in USDC (Solana) it can only be delivered on Solana (or other SVM) chain
MoonPay currently supports settlement in USDC (ERC-20). Settlement is only relevant for customers integrating the Lite Flow. This is settled with you on T+4 basis.
MoonPay supports over 30 fiat currencies. We convert the NFT currency to the local currency of the customer if required during the purchase process.
As standard, you can charge affiliate fees on all transactions which are shown as a separate line item for every purchase. These are settled monthly.
Out of the box, we support credit and debit cards.
When you sell NFTs through MoonPay, you declare a price in a given cryptocurrency. All cryptocurrencies supported in the standard MoonPay Checkout are also supported in the Lite NFT Checkout.
Price currencies are cryptocurrencies which are used to price the NFTs you would like to sell. If you sell or trade NFTs for a specific cryptocurrency, check that it is supported and enabled in your Account Settings. If you don't have a specific price currency and sell NFTs for a fiat currency such as USD, default to the USDC currency.
The price currency is configured in the partner endpoints, explained in the next section of this guide.
NFT Lite requires you to set up three standardized endpoints on your server which power the widget and the checkout process.
- Get NFT information. This allows MoonPay to fetch basic information from your server about the NFT a customer is going to buy.
- Send an NFT to the buyer. This allows MoonPay to instruct you to send an NFT purchased by a customer to their wallet. The transaction monitoring is handled by MoonPay using information provided by the transaction status endpoint.
- Get the transaction status. This allows MoonPay to fetch the NFT delivery status from your server and is polled after MoonPay sends the delivery instruction. This enables MoonPay to show delivery updates in the widget, send notification emails to the customer and place the final charge on the customer's card upon delivery completion.
These endpoints are documented in the partner endpoints reference.
Query parameters in endpoint requests
When making requests to your partner endpoints, MoonPay will send your query parameters in alphabetical order.
Be aware that we occasionally add new query parameters to the requests we make to your endpoints, and that certain cloud providers and their API gateway may change the order of our parameters resulting in a failed signature validation. When implementing these endpoints you should account for these query parameters, as using a pre-defined set of query parameters may result in signature validation issues.
When sending the initial delivery instruction, MoonPay places a pre-authorization on the customer's card guaranteeing payment. In the case that the delivery of an NFT fails for any reason, MoonPay voids the initial pre-authorization placed on the customer's card. This happens after a 10-hour timeout period during which MoonPay will continue to attempt to resolve the delivery status with your server.
Once an NFT delivery is resolved as successful, MoonPay places a final charge on the customer's card.
You're now ready for the final step of the integration: the widget. This piece enables buyers to place orders for an NFT. Learn more about integrating the widget.
Updated 2 months ago