Why bridge?
PotCoin lives on two chains at once:
- Solana SPL POT — instant DEX liquidity (Raydium, Jupiter), Phantom/Solflare/Backpack wallet support, ~3-second finality, low fees
- Mainchain POT — the native PoS chain, no centralized exchange dependency, your keys / your chain, 1% APR staking
The bridge lets you move 1:1 between the two whenever you want. Buy on Solana for liquidity → bridge in to stake on the mainchain → bridge out when you want to trade again.
How the bridge works (architecture)
┌──────────────────┐ ┌──────────────────┐
│ Solana │ │ PotCoin │
│ │ ◄── on-chain routing data ──► │ mainchain │
│ SPL POT │ Memo (Sol→POT) │ OP_RETURN │
│ Bridge Escrow │ OP_RETURN (POT→Sol) │ Bridge Escrow │
└──────────────────┘ └──────────────────┘
↑ ↑
└────────────── Bridge daemon watches ────────────────┘
both chains, releases the
counterpart 1:1 atomically
Key property: the bridge daemon does not hold custody in a database. Every routing instruction is permanently recorded in the public chain — Memo on Solana, OP_RETURN on mainchain. Anyone can audit every operation by reading public data.
| Field | Value |
|---|---|
| Bridge URL | bridge.potcoin.com ↗ |
| Bridge fee | $3 USD or 0.25% of amount, whichever is greater (plus network fees) |
| Sol → POT time | ~3–5 minutes (30 Solana confirmations) |
| POT → Sol time | ~45 minutes (10 mainchain confirmations) |
| SPL POT mint | PotzPaFGzK3cbu1u3g5HtoZbyTUkyhka8T2aBy8LMEq |
| SPL POT decimals | 8 (matches mainchain) |
| SPL Memo program | MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr |
| Mainchain Memo format | Raw OP_RETURN bytes containing the Solana base58 address |
| Min bridge amount | 1 POT |
| Mainchain min fee | 0.420 POT |
Direction 1 · Solana SPL POT → Mainchain POT
Use this when: you bought POT on a Solana DEX and want to move it to the native PoS chain for staking or cold storage.
You'll need
- A Solana wallet with SPL POT — Phantom, Solflare, or Backpack
- A small amount of SOL for the network fee (~0.000005 SOL)
- Your PotCoin mainchain address (starts with
P)
Step-by-step (using bridge.potcoin.com)
-
Get your mainchain receiving address
Open PotCoin Core or the web wallet and copy a fresh receive address (starts with
P). For privacy, use a fresh address per bridge operation — the deposit will be publicly tagged on chain. -
Open bridge.potcoin.com
Make sure the active tab is
Solana → PotCoin(the default). -
Click
Connect WalletA modal opens with three options:
Phantom,Solflare,Backpack. Each showsDetectedorNot installed. Click your wallet and approve the connect prompt in the wallet popup. -
Enter the amount
Type into the
You Sendfield — or clickMAXto bridge your entire SPL POT balance. TheYou Receivepanel shows the amount after the bridge fee ($3 USD or 0.25%, whichever is greater). -
Paste your mainchain address into
PotCoin Receiving AddressThe page validates the address as you type (debounced 500ms). When valid, an inline badge shows
Valid; if not,Invalid.Triple-check this address If you typo it, the bridge will release POT to whatever address it parses out of your Memo — irreversibly. Paste, don't type. Better: scan the QR from your wallet. -
Click
Bridge <amount> POTThe button label updates with your amount. Your wallet pops up to sign a transaction with two instructions:
- An SPL Token Transfer of
amount × 10⁸raw units from your ATA to the bridge escrow ATA - A Memo Program instruction containing your mainchain address as raw UTF-8 bytes (e.g.
PNCfNkGJuku1DLtVHeimVVLCtfk2YWKq8c)
Approve in the wallet. The signed tx broadcasts via
api.mainnet-beta.solana.com. - An SPL Token Transfer of
-
Wait for Solana confirmation (~3–10 seconds initial, 30 confirmations for release)
A toast appears: "Transaction sent! Signature: …" and then "Transaction confirmed on Solana. Bridge is processing…". The transaction joins the
Recent Transactionspanel with status badges that progress:detected → confirming → completed. -
Bridge daemon picks up the deposit
The daemon polls Solana for new SPL transfers to the escrow ATA. When it sees yours with 30 confirmations and a valid Memo, it picks the best-fit UTXO from the mainchain escrow tier list:
Tier UTXO Size Best for orders ≥ Whale 10,000,000 POT 5M+ Large 5,000,000 2M+ Medium 1,000,000 500k+ Standard 500,000 100k+ Small 100,000 20k+ Micro 10,000 2k+ Dust 1,000 any The escrow sends the equivalent native POT to your address; change goes to a fresh escrow address.
-
Confirm receipt on the explorer
Open explorer.potcoin.com and look up your address — the deposit should appear within a couple of mainchain blocks (block time is 4m 20s). Or in your wallet's transaction list.
Direction 2 · Mainchain POT → Solana SPL POT
Use this when: you're holding native POT and want to trade on a Solana DEX, swap into stables, or send to anyone with a Phantom wallet.
You'll need
- PotCoin Core daemon running (or the web wallet, which has bridge built in)
- The Solana address you want the SPL POT delivered to
- ~0.420 POT for the mainchain network fee
Step-by-step (CLI, the canonical method)
-
Validate your Solana destination address
Make sure it's the token account capable address (not a different chain). Solana addresses are base58, 32–44 chars. Open Phantom → click
Receive→ copy the address shown there. -
Run
bridgetosolfrom the CLI$ potcoind bridgetosol 1000 "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU" { "txid": "f1fcc779...", "amount": 1000.00000000, "escrow_address": "PFqkH1fjMvYLLvNhce1BzRCgEQnjc8Lfxx", "solana_address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU" }This builds a single transaction with three outputs (see below) and broadcasts it.
-
Inspect what just happened on chain
# Decoded output structure: Output 0: 1000.00000000 POT → [escrow address] (the deposit) Output 1: 89.58000000 POT → [your change addr] (remainder) Output 2: 0.00000000 POT → OP_RETURN "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"The Solana destination is encoded as raw ASCII bytes inside the OP_RETURN — no JSON, no prefix, just the 44-char address. Anyone reading the chain can decode this and verify the bridge will release the right amount to the right Solana address.
-
Wait for 10 mainchain confirmations (~45 minutes at 4m 20s block time)
You can watch the confirmations climb on explorer.potcoin.com at
/tx/<txid>. -
Bridge daemon releases the SPL tokens
Once 10 confirms are reached, the bridge:
- Reads the OP_RETURN to extract your Solana destination
- Calls SPL Token Transfer from the bridge escrow ATA → your destination ATA
- Auto-creates the destination ATA if it doesn't exist (uses Associated Token Account program)
-
Confirm receipt in Phantom
Open Phantom → switch to the POT token → the balance should reflect the bridged amount within seconds of the Solana TX. Solscan link:
https://solscan.io/account/<your-solana-addr>
Quick chain-side status check
You can query the bridge status directly from your local daemon:
$ potcoind bridgestatus
{
"escrow_address": "PFqkH1fjMvYLLvNhce1BzRCgEQnjc8Lfxx",
"escrow_balance": 125000000.00000000,
"min_bridge_amount": 1,
"last_bridge_tx": "f1fcc779..."
}
Useful for confirming the escrow balance is healthy before you queue a large bridge out.
Alternative: bridge out via the web wallet
The PotCoin web wallet has the bridge built into a tab — connect Phantom inside the wallet, set amount, click Bridge POT → Solana. The wallet builds and broadcasts the same OP_RETURN transaction for you under the hood.
Troubleshooting
"My Sol → POT bridge sat there forever"
- Check the Memo. If it's missing or doesn't decode to a valid P-prefix address, the bridge can't route. Funds are held until ops resolves it manually — open an issue or contact bridge ops with your Solana TX hash.
- Confirm the SPL transfer actually went to the bridge escrow ATA, not a typo'd address.
- Bridge needs 30 Solana confirmations (~3–5 min). Be patient.
- Want a deeper look at what the bridge sees? Check the bridge dashboard for live status and pending transactions.
"My POT → Sol bridge sat there forever"
- Did you send to the configured
bridgeescrowaddress from yourPotCoin.conf?bridgetosolreads it from there. - Did the OP_RETURN make it into the broadcast TX? Inspect with
potcoind getrawtransaction <txid> 1— vout[2] should haveOP_RETURN+ your Solana address as ASCII hex. - Did 10 confirmations actually reach? Check the explorer.
"The web bridge says Offline"
Means the bridge backend's /api/status isn't responding. The site uses a heartbeat poll every 30 seconds. If it's red, the bridge daemon may be restarting. Wait a few minutes and refresh, or use the CLI direct from your daemon.
"I bridged the wrong amount"
Bridge actions are irreversible. You'd need to bridge the difference back the other direction, paying network fees both ways. Always start with a tiny test amount when bridging for the first time from a new address.
# PotCoin.conf
bridgeescrow=PFqkH1fjMvYLLvNhce1BzRCgEQnjc8Lfxx
bridgeminamount=1