All providers

Bitcoin Cash

Learn how to self-host Bitcoin Cash. Run the node, accept Bitcoin Cash payments, no middle man... not even us. This guide takes the easy road, with the Bitcoin Cash Node app, the Paytaca wallet on your phone, and a ready-made server.

What you need

FieldWhat it does
Mint endpoint URLYour server's public address-minting route. We call it to get a fresh address for each order. Not secret.
Webhook secretA shared secret your server signs with and we verify. It can never touch your wallet. Secret.

Self-hosting means running the blockchain yourself. You run the Bitcoin Cash Node app, a ready-made server, and a public address tool on your computer, and the Paytaca wallet on your phone. This guide walks through it on a Mac.

Money flow

Money

  1. Buyer

    Taps your Coin Moebius Buy Button and pays from their own wallet.

  2. Your product page

    Your Coin Moebius Buy Button asks Coin Moebius to start a checkout.

  3. Coin Moebius Messages only

    Gets a fresh address from your server and shows it to the buyer.

  4. Blockchain

    Carries the coins from the buyer straight to you.

    • Monero
    • Zano
    • Freedom Dollar
    • Bitcoin
    • Bitcoin Cash
  5. Your wallet

    Receives the coins.

  6. Your server

    Sees the payment land in your wallet and tells Coin Moebius the sale is paid. Your keys and balance never leave your server.

    Coin Moebius dashboardSale shows as paid.
  • No buyer data

    Card numbers never reach us. Buyer names, addresses and contact details are stripped before a sale is saved.

  • No cut of your sales

    You pay a flat plan price. We never take a percentage of what you sell.

Why we ask for each field

Mint endpoint URL

When a buyer clicks Buy, we ask your server for a fresh address. It hands back an address and nothing else; your wallet stays private behind it.

Webhook secret

Your server sends us a signed message whenever an order changes: paid, still settling, short, or expired. This secret proves the message came from your server. It can read nothing and move nothing.

Set up

  1. Get the Bitcoin Cash Node app, Node.js, and Paytaca

    Three free downloads.

    1. Bitcoin Cash Node, from bitcoincashnode.org. Pick the Mac download for your computer, Apple Silicon or Intel. This is your node.
    2. Node.js (the green LTS button at nodejs.org). This runs the small server that hands out addresses.
    3. Paytaca, on your phone, from the App Store or Google Play. This is your wallet.
    Download Bitcoin Cash Node
  2. Make your two secret codes

    Bitcoin Cash Node will not answer other programs without a password of its own, so you need two. Run the command below twice and label each one.

    openssl rand -hex 32
    SecretWhat it does
    Node passwordLets programs talk to your node. Goes in the settings file (step 3) and the server (step 7).
    Webhook secretSigns every message your server sends us. Goes in the server (step 7) and the dashboard (step 9), the same value in both.

    You can click Generate in the dashboard for the webhook secret instead. On Windows, run this in Git Bash.

  3. Set up the Bitcoin Cash Node app

    Open Bitcoin Cash Node. The first time, it asks where to keep its data. Click OK. If Bitcoin Core is on this computer, pick Use a custom data directory and add /BitcoinCash to the path, because both apps use the same folder.

    1. On a Mac, open the bitcoin-qt menu and choose Preferences. On Windows, open Settings, then Options. Tick Prune block storage to, then click Open Configuration File.
    2. Paste the lines below into the file. Put your node password from step 2 after rpcpassword=.
    3. Save the file, click OK, quit Bitcoin Cash Node, and open it again.

    Paste into the settings file

    server=1
    rpcbind=127.0.0.1
    rpcallowip=127.0.0.1
    rpcuser=shop
    rpcpassword=YOUR-NODE-PASSWORD

    server=1 lets the server on this computer talk to your node. The 127.0.0.1 lines keep everyone else out.

    Choose where it keeps its data
    Tick Prune block storage, then open the settings file

    The first start takes a long time while the node checks every block since 2009. You can do steps 4 through 8 meanwhile, but your first payment waits until it catches up.

  4. Make your wallet in Paytaca

    Your money lives in Paytaca on your phone, never on this computer.

    1. Open Paytaca and create a new wallet. Write down the 12 words and keep them off your phone. They are the only key to your money.
    2. Open Settings, then Show Wallet Details. Copy the xPub Key and the Wallet Hash for step 7.
    3. If the xPub Key says Not available, close Paytaca completely and open it again.
    Create your wallet in Paytaca
    Copy the xPub Key and the Wallet Hash

    The xPub Key lets the server make a fresh address for each sale. It cannot spend anything.

  5. Make the shop wallet in Bitcoin Cash Node

    Your node needs a wallet of its own to watch for payments. It holds no keys, so nothing on this computer can spend your money.

    1. Open Window, then Console, and run the first command below.
    2. Open the bitcoin-qt menu, choose Preferences, click Open Configuration File, and add the second line under the ones from step 3. Save, quit Bitcoin Cash Node, and open it again.

    1. In the Console, make the watch wallet

    createwallet "shop" true true

    It answers with "name": "shop". Keep that name.

    2. Add to the settings file

    wallet=shop

    Add it only after the command above has run once, or the app makes a wallet with keys instead.

  6. Make your store and copy the id

    Sign in to the dashboard, make a store, and open its Settings. Copy the Store id. It starts with proj_, and the server calls it your project id.

    Copy your Store id
  7. Download and start the server

    A ready-made server hands out an address for each sale and watches for the money. Run these one at a time, in the same Terminal window.

    1. Make a folder for it

    mkdir ~/Desktop/coinmoebius-bitcoin-cash

    2. Go into that folder

    cd ~/Desktop/coinmoebius-bitcoin-cash

    Everything after this runs inside that folder.

    3. Download the server

    curl -fsSL https://www.coinmoebius.com/tools/bitcoin-cash-server.mjs -o bitcoin-cash-server.mjs

    4. Start a package file

    npm init -y

    5. Install the three packages

    npm install @aquarian-metals/coin-moebius-bitcoin-cash @aquarian-metals/coin-moebius-server @bitauth/libauth

    6. Start the server

    node bitcoin-cash-server.mjs

    The first run asks six questions: project id, webhook secret, rpcuser, node password, xPub Key, and Wallet Hash. It saves them next to the file and never asks again. To change one later, edit coin-moebius-bitcoin-cash.json, or delete it to start over.

    Get the ready-made server
    It asks six questions, then runs
    Need a different port, or pointing it somewhere else?

    The server listens on 8787, reports to coinmoebius.com, and marks an order paid after six blocks. Put any of these in front of the start command to change that.

    Listen on a different port

    PORT=9100 node bitcoin-cash-server.mjs

    Point ngrok at the same number: ngrok http 9100.

    Report to a different Coin Moebius

    COIN_MOEBIUS_API=http://127.0.0.1:8787 node bitcoin-cash-server.mjs

    Only if you run Coin Moebius yourself.

    Wait for a different number of blocks

    BITCOIN_CASH_CONFIRMATIONS=3 node bitcoin-cash-server.mjs

    The buyer sees Payment received as soon as the network has the money either way.

    Both at once

    PORT=8788 COIN_MOEBIUS_API=http://127.0.0.1:8787 node bitcoin-cash-server.mjs

    The server prints its port and where it reports every time it starts.

  8. Put your server online

    Your server needs a public web address so we can reach it. A free tool called ngrok makes one.

    1. Make a free account at ngrok.com.
    2. Install it. On a Mac, brew install ngrok. On Windows, choco install ngrok, or download it from ngrok.com.
    3. Add your authtoken (ngrok shows the exact line on its setup page).
    4. Run the command below, then copy the https address next to Forwarding.
    ngrok http 8787
    Copy the ngrok Forwarding address

    If you downloaded ngrok into a folder, run it from there as ./ngrok http 8787. Your free ngrok address stays the same every time you start it.

  9. Connect in the dashboard

    Open Providers, click Connect a provider, then search for Bitcoin Cash and pick it. Paste two things and save.

    1. Your Bitcoin Cash server address: your ngrok address with /coin-moebius/bitcoin-cash/mint on the end.
    2. Shared secret: the webhook secret from step 2.
    Search and pick Bitcoin Cash
    Paste the address and the secret

    When you save, we check that we can reach your server, so Bitcoin Cash Node, your server, and ngrok all need to be running.

  10. Add the buy button to your page

    Make a product in the dashboard, then copy its buy button code onto your page. The two pieces go in two different places.

    Near the bottom of the page, just before the closing body tag

    <script src="https://sdk.coinmoebius.com/latest/sdk.global.js" crossorigin="anonymous" defer></script>

    One line, once per page.

    Wherever you want the button to appear

    <coin-moebius-buy
      project-id="proj_yourprojectid"
      product-id="your-product"
      amount="59.99"
      currency="USD"
      label="Buy now">
    </coin-moebius-buy>

    Swap in your own project id and product id.

  11. Take your first payment

    There is no sandbox for a self-hosted setup, so a small real payment is the test. Keep all three windows running.

    1. Open your page, click Buy, and pick Bitcoin Cash. The window shows an address, a QR code, and the amount.
    2. Send that exact amount from any Bitcoin Cash wallet.
    3. The window says Payment received as soon as the network has the money, usually within seconds. The payment shows up in Paytaca too.
    4. The order is marked paid after six blocks, about an hour. When the Transactions tab shows succeeded, your setup works end to end.
    The buy window shows the address
    The payment is received

After you connect

Your first real payment is the test. Keep all three windows running: Bitcoin Cash Node, the server, and ngrok.

  1. The buy window says Payment received as soon as the network has the money. Your buyer can close it.
  2. The order settles after six blocks, about an hour.
  3. When the row in the Transactions tab reaches succeeded, your setup works end to end.

Troubleshooting

Checkout fails right away.

We could not reach your server. Check that all three windows are running and that the address in the dashboard ends in /coin-moebius/bitcoin-cash/mint.

The server says your node rejected the user name or password.

They must match rpcuser and rpcpassword in your settings file. Fix them in coin-moebius-bitcoin-cash.json and start the server again.

The server says it cannot reach your Bitcoin Cash node.

Bitcoin Cash Node is closed, or server=1 is missing from its settings file.

The server says your node has no wallet named shop open.

Add wallet=shop to the settings file as in step 5, then quit Bitcoin Cash Node and open it again.

The buyer paid but the order still says pending.

Normal while it settles. The order is marked paid at six blocks, about an hour after the money lands.

It still says pending after two hours.

The server is not running, its secret does not match the dashboard, or Bitcoin Cash Node has not caught up yet.

Money arrived but the order reads short.

The buyer sent less than the amount shown. The order is marked partial, and the dashboard shows how much arrived.

The payment shows in the dashboard but not in Paytaca.

Give it a couple of minutes. If it never shows, check that the Wallet Hash in coin-moebius-bitcoin-cash.json matches the one in Paytaca under Settings, then Show Wallet Details.

Good to know

Run it on a computer that stays on. For an everyday store, run the same parts on a computer that stays on, with a fixed web address.

Downtime is cheap. The server catches up after an outage and reports what it missed. Nothing is lost.

Your keys stay on your phone. Bitcoin Cash Node only watches. The 12 words in Paytaca are the only key to your money. Keep them off this computer.

Update before each May network upgrade. Bitcoin Cash upgrades its network every May. Install the new Bitcoin Cash Node release before then, or payments stop arriving.

Rotating the secret. Make a new webhook secret anytime, then use it in both the server and the dashboard.

Questions? Join our Discord

Ready to connect a provider?

Pick the providers you already use. Buyers pay through your accounts, and you keep one buy button.