Integration Options
Within the CoinPayments ecosystem, there are two primary ways to begin accepting payments in crypto:
We offer a wide variety of currencies you can transact in.
Invoices
Invoices can be easily created on the dashboard or through the API.
Invoices are great for merchants who:
- Need to bill their customers for single purchases (i.e. products)
- Need to bill their customers for recurring services involving subscriptions
- Require an easily accessible financial history via the invoice documents
- Prefer the simplicity of CoinPayments-managed invoicing, delivery, and payment collection
Invoice via Dashboard
Within the invoice creation tool on the dashboard, you can configure the following options:
Invoice Settings | Buyer Information | Invoice Details | Customer Notes | Internal Comments |
---|---|---|---|---|
Invoice Delivery Method, Delivery Date, Due Date, Invoice and PO Number, and Business Branding. | Customer Details (personal and business), Location, Contact Information, and Shipping Location (if applicable). | Product Name, Quantity, and Price. Applicable Discounts, Shipping Fees, and Taxes. | Note to the recipient and your Terms and Conditions. | Internal comment for your records |
Delivery Method
Invoices can be delivered to your customer via two methods:
- Link: You will need to share a link to this invoice with the recipient manually
- Email: This invoice will be delivered via email automatically on the date specified.
The invoice will then be displayed in our hosted checkout page:
Once the client is ready to pay the invoice, they can click the "Pay using CoinPayments" button, initiating the checkout flow.

Invoice via API
For more granular control of creating and dispatching invoices, you can manage invoices through the API.
- POST Create Invoice
- POST Cancel Invoice
- GET Invoices
- GET Invoice Payment Address
- GET Invoice Status
- More routes within the API Documentation
After creating a new invoice via the POST /merchant/invoices route, you will receive two URLs in the response:
link
- to send to your clients, showcasing the invoice, with a "Pay using CoinPayments" button, initiating the checkout flow
checkoutLink
- to display the checkout/payment window directly to your client

Invoice via "Buy Now" Button
A "Buy Now" button can be used to generate a static checkout element, to be rendered within your website, that will automatically create an invoice and display the checkout/payment window for your customer.
"Buy Now" buttons are a good choice for merchants who sell single products/services for a standard price and desire this custom functionality directly within their website.
Automatic Transfers
You can configure automatic transfers of funds within your account's payment settings.
Funds can be sent to other internal wallets/addresses, external addresses, and automatically converted into different currencies.
Wallets & Addresses
By leveraging the wallets API, you can fully design your own payment collection system and flow of funds to operate as your company requires.
Wallets & Addresses are great for merchants who:
- Need a permanent, on-demand way for customers to deposit funds
- Require a permanent or temporary window for customers to deposit an arbitrary amount of funds
- Would like to customize their integration to fit their company's unique requirements
- Would like to optimize fees associated with currency collection, both on a micro and macro scale
Payment Architecture
For each currency you would like to transact in, you should first create a wallet.
POST /merchant/wallets
Within this wallet, you can then create multiple addresses to begin collecting payments.
POST /merchant/wallets/:id/addresses
Wallets can host either permanent
or temporary
addresses. This will ultimately affect your general flow of funds and how your integration operates.
Generally, we see merchants create one address per customer (as needed), and store the relationship between the internal customer ID and address to track and credit associated payments.

Collecting Payments
By collecting payments directly with addresses, any amount of funds can be deposited at any time. You can then track the associated customer to the address/payment, and fulfill the required actions on behalf of your company.
This creates a unique way to capture payments - an always-on collection agent that can capture any arbitrary amount.
Review your existing wallets, addresses, and balances with the following routes:
To collect payment, display the respective wallet address's networkAddress
to the customer.
From there, your platform now has the freedom to control:
- How to display the collection window/address
- How much to expect for a payment to be considered "completed"
- How to handle successful customer payments
Withdrawing Funds
Funds can be sent to other internal wallets/addresses, external addresses, and automatically converted into different currencies.
This can be achieved via the Spend Request API routes:
Sweeping & Consolidation
Depending on your integration wallet's address type and desired flow of funds, you may want to utilize the sweeping and consolidation features.
Consolidated funds can be sent to other internal wallets/addresses, external addresses, and automatically converted into different currencies.
For more granular control, you can make API requests to manage your funds on the platform, selecting specific target and destination addresses.
Alternatively, you can define "trigger amounts" on the dashboard to automatically transfer funds to a different internal wallet or external address, or even automatically convert the funds to a strategic holding currency.