DirectCryptoPay Docs

Configure Your Wallet

Your wallet address is where customer payments are sent. Since DirectCryptoPay is non-custodial, funds go directly from the customer's wallet to yours on-chain.

Supported Wallets#

DirectCryptoPay supports two types of wallets depending on the blockchain:

EVM Wallets (Ethereum, Polygon, BNB Chain, Base, Arbitrum, Optimism, Avalanche)#

Any EVM-compatible wallet works. Popular options include:

  • MetaMask -- Browser extension and mobile app
  • Rabby -- Multi-chain browser wallet
  • Ledger / Trezor -- Hardware wallets (via MetaMask integration)
  • Safe (Gnosis Safe) -- Multi-signature wallets
  • Any EVM address -- Any valid Ethereum address (0x...) will work

Solana Wallets#

For Solana payments, you need a Solana-compatible wallet:

  • Phantom -- Browser extension and mobile app (most popular)
  • Solflare -- Browser extension and mobile wallet
  • Ledger -- Hardware wallet (via Phantom integration)
  • Any Solana address -- Any valid Base58 address will work

Tron Wallets#

For Tron payments (TRX and TRC-20 tokens like USDT), you need a Tron-compatible wallet:

  • TronLink -- Browser extension and mobile app (dominant wallet in the Tron ecosystem)
  • Ledger -- Hardware wallet (via TronLink integration)
  • Any Tron address -- Any valid Base58Check address starting with T (34 characters)

Ton Wallets#

For Ton payments (Ton native and USDT Jetton), you need a Ton-compatible wallet connected via TonConnect:

  • Tonkeeper -- Browser extension and mobile app (dominant wallet in the Ton ecosystem, ~70% market share)
  • MyTonWallet -- Browser extension with Telegram Mini App support
  • OpenMask -- Browser extension
  • Wallet (inside Telegram) -- Native Telegram in-app wallet (950M+ potential users)
  • Any Ton address -- Any valid EQ.../UQ... base64url address (48 chars) or raw 0:<hex> format
Important: Double-check your wallet address before saving. Payments sent to the wrong address cannot be recovered. This is a fundamental property of blockchain transactions.

Setting Your Payout Wallets#

  1. Navigate to Dashboard > Settings > Payout Wallets
  2. Click Add Wallet
  3. Select the blockchain network (e.g., Ethereum, Polygon, Solana, Tron, Ton)
  4. Enter your wallet address:
    • EVM chains: Enter your 0x... address
    • Solana: Enter your Base58 address (e.g., 8fjuVPZ...)
    • Tron: Enter your Base58Check address starting with T (e.g., TR7NHqje...)
    • Ton: Enter your EQ.../UQ... base64url address or raw 0:<hex> (e.g., EQD5mxRg...)
  5. Click Save

EVM Wallet Address#

Your EVM wallet address works across all seven EVM networks. Since Ethereum, Polygon, BNB Chain, Base, Arbitrum, Optimism, and Avalanche are all EVM-compatible, the same address works on all of them.

0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18

Solana Wallet Address#

Your Solana wallet address is a Base58-encoded string, different from EVM addresses. You need a separate payout wallet for Solana.

8fjuVPZwFbdyiXtUaZXvFBHLMmZrQ5d5qY6EXDTZzFff

Tron Wallet Address#

Your Tron wallet address is a Base58Check-encoded string starting with T (34 characters total). It is distinct from both EVM (0x...) and Solana (Base58) formats. You need a dedicated payout wallet for Tron.

TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

Ton Wallet Address#

Your Ton wallet address can be entered in three equivalent formats, all accepted by DirectCryptoPay: bounceable EQ... (48 chars), non-bounceable UQ... (48 chars), or raw 0:<64-hex>. Addresses are stored in raw form internally and displayed as bounceable EQ... in the dashboard. You need a dedicated payout wallet for Ton — your EVM, Solana, or Tron address does not work.

EQD5mxRgCuRNLxKxeOjG6r14iSroLF5FtomPnet-sgP5xNJb
UQD5mxRgCuRNLxKxeOjG6r14iSroLF5FtomPnet-sgP5xCuF
0:f99b11460ae44d2f12b178e8c6eaf7889292e82c5e45b6898f9debfb203f9c4d

Multi-Chain Receiving#

When a customer pays on a specific chain, funds arrive at your wallet address on that network.

Chain Wallet Format Where Funds Arrive
Ethereum 0x... Your EVM address on Ethereum mainnet
Polygon 0x... Your EVM address on Polygon
BNB Chain 0x... Your EVM address on BNB Chain
Base 0x... Your EVM address on Base
Arbitrum 0x... Your EVM address on Arbitrum One
Optimism 0x... Your EVM address on Optimism
Avalanche 0x... Your EVM address on Avalanche C-Chain
Solana Base58 Your Solana address on Solana mainnet
Tron T... Your Tron address on Tron mainnet
Ton EQ.../UQ.../raw Your Ton address on Ton mainnet
Tip: Make sure you have access to your wallet on all chains where you accept payments. Most EVM wallets (MetaMask, Rabby) support switching between networks easily. For Solana, use Phantom or Solflare. For Tron, use TronLink. For Ton, use Tonkeeper, MyTonWallet, or the Telegram in-app wallet.

Integration Payout Wallets#

When you create an integration in the dashboard, you select which payout wallets to use:

  • EVM Payout Wallet -- Shown only when you enable EVM chains (Ethereum, Polygon, etc.)
  • Solana Payout Wallet -- Shown only when you enable Solana
  • Tron Payout Wallet -- Shown only when you enable Tron
  • Ton Payout Wallet -- Shown only when you enable Ton

The wallet dropdowns appear conditionally based on which chains you select in the token selector. If you haven't configured a wallet for a particular chain type, a link will guide you to the Payout Wallets settings.

Best Practices#

  • Use a dedicated merchant wallet -- Keep business funds separate from personal wallets
  • Consider a hardware wallet -- For maximum security on mainnet
  • Back up your seed phrase -- Store it securely offline. If you lose access to your wallet, DCP cannot recover your funds
  • Test with testnet first -- Verify the correct address receives test payments before going live
  • Separate wallets for each chain type -- Configure EVM, Solana, Tron, and Ton wallets independently based on which networks you accept
Next Step: Continue to Testnet vs Mainnet to understand the differences, or jump to API Keys if you are integrating programmatically.