---
title: Accept Payments
description: Accept stablecoin and token payments on Solana
index: true
---

Accept payments on Solana using drop-in components, the Solana Pay protocol, or
direct RPC integration.

## Receiving Address Convention

On Solana, **share your wallet address, not your token account**. It is typical
for the sender to derive the appropriate
[Associated Token Account (ATA)](/docs/payments/how-payments-work#token-accounts)
for whatever token they're sending (see
[Sending Payments](/docs/payments/send-payments) for more details).

**Example:** Share `7EcDhS...` (your wallet), not `9xKpQ...` (your USDC token
account).

<Callout>
  For point-of-sale and e-commerce, see [Solana
  Pay](/docs/payments/accept-payments/solana-pay) for QR codes and payment URLs,
  or [Payment Button](/docs/payments/accept-payments/payment-button) for drop-in
  React components.
</Callout>

## Integration Options

| Approach                                                        | Best For                      | Complexity |
| --------------------------------------------------------------- | ----------------------------- | ---------- |
| [Payment Button](/docs/payments/accept-payments/payment-button) | React apps, quick integration | Low        |
| [Solana Pay](/docs/payments/accept-payments/solana-pay)         | QR codes, payment links, POS  | Medium     |
| [Direct RPC](/docs/payments/interacting-with-solana)            | Custom flows, full control    | Higher     |

## Verification

After receiving a payment, verify it landed using
[Verification Tools](/docs/payments/accept-payments/verification-tools). For
high-volume applications, see
[Indexing](/docs/payments/accept-payments/indexing) for production-grade
transaction monitoring.
