Coins Manager
Define every coin your platform supports — across 10 deposit networks, with per-coin fees, limits and Web3 deposit addresses
What the Coins Manager Is
The Coins Manager is where every coin your platform supports is declared. Each coin is a custom WordPress post (post type wpcrypto_coins) with the metadata WPCrypto needs to deposit it, withdraw it, sell it through the buy-crypto module, accept it as a Web3 payment in checkout, and show its fees publicly.
📋 Quick facts
- Post type:
wpcrypto_coins - 10 supported deposit networks (listed below)
- Per-coin deposit / withdrawal minimums and fees stored per network
- Per-coin
payment_enabledflag determines whether the coin appears as a Web3 payment option in checkout - One public shortcode:
[wpcrypto_supported_coins_fees]
Where to Find It
Open WP Crypto → Coin Manager. The screen lists every coin you have configured with quick badges showing which networks are active and whether payments are enabled. Click any coin to edit it; use the top toolbar to add a new coin or bulk-delete unused ones.
Supported Networks
Each coin can be configured on any subset of these 10 networks:
| Network key | Display name |
|---|---|
btc | Bitcoin |
eth | Ethereum (ERC20) |
bsc | BNB Smart Chain (BEP20) |
polygon | Polygon (MATIC) |
tron | TRON (TRC20) |
arbitrum | Arbitrum One |
optimism | Optimism |
solana | Solana |
avalanche | Avalanche C-Chain |
base | Base |
The network slug (btc, eth, …) is what the meta arrays use, so admin-edited values keep the same key whether the user faces them on the deposit screen or the public fee table.
Coin Fields
Every coin has a top-level block and a per-network block.
Top-level fields
| Field | Meaning |
|---|---|
| symbol | Ticker, e.g. BTC, USDT, MYTOKEN |
| name | Display name, e.g. "Bitcoin" |
| logo_url | Coin icon used across the UI |
| decimals | Native decimals (8 for BTC, 18 for ERC-20, etc.) |
| payment_enabled | Bool — when true, the coin appears in checkout as a Web3 payment option (for every network with a wallet address) |
| commission_rate | Per-trade fee used by the trading exchange when this coin is the base / quote |
Per-network fields
| Field | Meaning |
|---|---|
| active | Whether this network is enabled for the coin |
| wallet_address | The deposit address on this network — used by checkout for Web3 payments and by user-facing deposit screens |
| deposit_min | Minimum deposit per transaction |
| withdrawal_min | Minimum withdrawal per transaction |
| withdrawal_fee | Flat fee applied per withdrawal |
| explorer_url | Block-explorer template used to link transactions in admin and user screens |
Creating a Coin
- WP Crypto → Coin Manager → Add New Coin.
- Fill the top-level fields: symbol, name, logo URL, decimals.
- Decide whether checkout can accept it as a Web3 payment. Flip
payment_enabledon if you want users to be able to send this coin to your deposit address as a checkout payment. - Enable each network you want to support. Toggle
activeon, paste the depositwallet_address, setdeposit_min,withdrawal_min, andwithdrawal_fee. - Set the commission rate used by the trading exchange.
- Publish. The coin is now available in deposit screens, withdrawal screens, the trading pairs UI, the checkout Web3 option and the public fees shortcode.
The Public Fees Shortcode
Render a public table of the coins you support and their fees with:
[wpcrypto_supported_coins_fees]
The shortcode lists every published coin, with one row per active network, and shows the minimums and fees configured on the coin post. Useful on a public "Supported Coins" page so prospective users can see your costs before signing up.
This is the only shortcode this module exposes. There is no [wpcrypto_coins] shortcode.
Network Metadata Helpers
For network-specific defaults that should not be exposed on the WordPress post (mapping a coin symbol to a chain's native explorer URL pattern, looking up the native decimals for a given network, etc.) the plugin calls the WPCrypto gateway. These calls are signed with your activation's private_key and require an active license. They run server-to-server; users do not see them.
Operator Notes
⚠️ Things to know
- Same coin, different networks need different addresses. USDT on TRON is not interchangeable with USDT on Ethereum or BSC — set a separate wallet address per network.
- Decimals matter. Getting decimals wrong leads to deposits being credited as the wrong size. Default ERC-20 is 18, BTC is 8, TRX is 6, native USDT-TRC20 is 6.
- Withdrawals are gated by
withdrawal_minandwithdrawal_fee. The user-facing screens enforce these values. - Disable instead of delete. If a network goes down, toggle its
activeoff rather than deleting the coin — old transactions still need the network row for explorer links.
Troubleshooting
The coin does not appear at checkout as a Web3 option
Either payment_enabled is off on the coin, or no network has an active = true entry with a non-empty wallet_address. Fix both and the network appears in the checkout chooser immediately.
Deposit credited as the wrong amount
The decimals field is wrong. Open the coin, fix the decimals, and reach out to the affected users to credit the difference.
Explorer links go to the wrong chain
The explorer_url on that network row needs the right template. The plugin substitutes the tx hash into the URL — confirm the URL points at the explorer for the correct chain.
"Insufficient license" error when saving network defaults
Your license is not active — open Admin Dashboard and confirm activation.