Quick Start
Here you can find a simplify process to integrate AppKit Pay with Javascript SDK:Projects first need to install and set up Reown AppKit before integrating AppKit Pay. If you haven’t done so, please refer to the Reown AppKit docs.
Install the library
Projects currently using Reown AppKit to enable self-custodial wallet payments in their own checkout flows are encouraged to switch to AppKit Pay for a simpler integration and significantly improved user experience. AppKit Pay can be found in
@reown/appkit-pay npm package.pay - Full Payment Flow
Usage
recipient, amount, and paymentAsset.
Prerequisites
Enable Payments Feature in Dashboard
The “Payments” feature must be enabled in the Reown Dashboard before you can use AppKit Pay, even for local testing.- Go to your project in the Reown Dashboard
- Navigate to the Payments section
- Enable the Payments feature for your projectId
Test locally
In order to test locally use localhost and port 3000. This is the only port available for local testing. Add the following to your package.json file in order to run the development server on port 3000:Supported Networks and Assets
For a complete list of supported networks and assets across different exchanges (Coinbase, Binance), please refer to the Networks and Assets Supported section in our Pay with Exchange documentation.Assets Configuration
For the moment, AppKit Pay has pre-configured these assets:- baseETH, baseSepoliaETH, and baseUSDC
- ethereumUSDC, optimismUSDC, arbitrumUSDC, polygonUSDC and solanaUSDC
- ethereumUSDT, optimismUSDT, arbitrumUSDT, polygonUSDT and solanaUSDT
Functions
pay
Opens the payment modal. Resolves when the modal is closed by the user or programmatically.pay(amount, addressRecipient, options: PaymentOptions): Promise<PaymentResult>
getExchanges
Fetches available exchanges.getExchanges(page?: number): Promise<{ exchanges: Exchange[], total: number }>
getPayResult
Use with caution regarding timing; subscriptions are preferred.getPayResult(): PayResult | null
Returns the result of the last successful payment.
getPayError
Use with caution regarding timing; subscriptions are preferred.getPayError(): AppKitPayErrorMessage | null
Returns the error object if the last payment failed.
getIsPaymentInProgress
Checks if a payment is currently processing.getIsPaymentInProgress(): boolean