Get started
From eCash
to your first launch
Flush runs on your computer, beside an eCash client. Your keys stay there. This site only reads the chain and hands requests to the app.
eCash's view of the drivechain: its blocks, slot 46's deposits and withdrawals. It reads it through the enforcer's gRPC interface (the one of LayerTwo Labs' bip300301_enforcer), or from Backbone directly. Any of the three clients below gives it that.
You deposit ECX from the eCash mainchain into the Flush sidechain (a BIP300 deposit into slot 46), and withdraw it from the Flush sidechain back to the eCash mainchain (miners vote on it). Nothing is wrapped.
- 01
Run an eCash mainchain client
Pick one. They give Flush the same thing; they differ in what you install and how you run it.
The three eCash clients compared You install Disk First sync Best for BitWindow One app; it downloads eCash's node and the enforcer and runs them Full node, not pruned (the enforcer refuses pruning) The whole chain A desktop with a ready-made drivechain wallet Node + enforcer eCash's bitcoind and bip300301_enforcer, by hand Full node, not pruned The whole chain, then the enforcer's scan Servers, operators, those who build from source Backbone One program: an eCash node that serves the enforcer's interface itself Full, or pruned to 10,000 MiB of blocks The whole chain One process, the least to configure; Flush finds it by itself The whole chain is Bitcoin's history up to the fork, then eCash's: hundreds of gigabytes for a full node, and a first sync of many hours to days depending on the disk.
BitWindow is LayerTwo Labs' drivechain wallet and launcher. On its eCash network it downloads and runs eCash's node (L1-ecash-bitcoin, from releases.ecash.com, for the eCash network that is live: betanet today) and the bip300301_enforcer, with the enforcer's wallet synced through an Esplora server.
- Get BitWindow from LayerTwo-Labs/drivechain-frontends (its bitwindow folder: just run downloads what it needs and starts it).
- At the first start, choose the eCash network (BitWindow's network switch offers eCash, Signet and Regtest for sidechains).
- Wait for the node and the enforcer to reach the tip. Its data lives in ~/.ecash on Linux.
- The enforcer's gRPC interface listens on 127.0.0.1:50051: that is what Flush connects to.
flushd -chain=ecashbeta -mainchaingrpc=127.0.0.1:50051eCash's main network forks at block ~973,728 (about 31 October 2026); BitWindow follows the eCash network its catalog names live. Use Flush's -chain=ecash only once that is eCash's main network and slot 46 is active there.
- 02
Run the Flush app
flush-app, for Linux and Windows: the Flush node and wallet, the DEX, staking. It opens the flush: requests of this site.
Releases coming soon
Until then, from source (Debian/Ubuntu 24.04):
git clone https://github.com/block-fabric/backbone-flush.git && cd backbone-flush cmake -B build && cmake --build build -j$(nproc) build/bin/flush-app # betanet (ecashbeta), the default- The mainchain link. With Backbone on the same computer, nothing to set. With BitWindow or an enforcer, in ~/.flush/flush.conf:
[ecashbeta] mainchaingrpc=127.0.0.1:50051 addnode=<peer>:38255 # no DNS seeds yet- Sync. The app follows eCash, then syncs Flush's blocks; its status bar shows how far it is.
- Wallet. Create one in the app (Wallets) and back it up there before you deposit ECX into it.
- 03
Deposit ECX from the eCash mainchain into the Flush sidechain
A BIP300 deposit: on eCash you pay your Flush deposit address, s46_<address>_<checksum>, which the app gives in Peg → Deposit (it can make the deposit from your eCash wallet too). By hand:
flush-cli getdepositaddress backbone-cli createsidechaindeposit 46 s46_… 10 # with Backbone # with the enforcer: its CreateDepositTransaction (needs --enable-wallet)The ECX appears in Flush with the next Flush block once eCash has mined the deposit. To withdraw from the Flush sidechain back to the eCash mainchain: Peg → Withdraw, paid in a bundle eCash miners vote on, about three months on eCash's main network. How the peg works.
- 04
Connect, then launch or trade
Share an address (read-only) so the site shows what you hold: your Betanet addresses start with bflx1. Every action opens in the app, which shows the amounts from its own node before you sign.
Troubleshooting
- Flush cannot reach the mainchain
- Is the enforcer (or Backbone) running and at the tip? Is mainchaingrpc its port: 50051 by default, 8123 in eCash's betanet deployment? Two programs cannot both hold 50051: Backbone next to an enforcer runs on without its gRPC. With Backbone over JSON-RPC, the cookie is read from ~/.backbone/betanet.
- Wrong network
- Flush betanet (-chain=ecashbeta, addresses bflx1…) needs eCash betanet: the betanet branch of eCash's node, the enforcer's --network-preset betanet, Backbone's -chain=ecashbeta. All of them must name the same network.
- The enforcer will not start
- It refuses a pruned node, and needs the node's ZMQ sequence endpoint (zmqpubsequence).
- Still syncing
- Nothing shows until the mainchain is at its tip; then Flush catches up. A deposit shows after eCash mines it and the next Flush block follows.
Networks
| Network | Chain | Addresses | P2P | RPC | Status |
|---|---|---|---|---|---|
| Mainnet | ecash | flx1… | 8255 | 8254 | Not launched |
| Betanet | ecashbeta | bflx1… | 38255 | 38254 | Default |
| Testnet | ecashtest | tflx1… | 48255 | 48254 | Testing |
Slot 46 on every network; it must be activated on eCash before Flush runs there.