Skip to content
A decentralized, uncensorable marketplace for books.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


travis Coverage Status

A decentralized, uncensorable marketplace for books.


Governments have a hisotry of banning books. Here, we provide a tool to buy and sell books in a decentralized, unsensorable manner.


Decentralized marketplaces have previously utilized immutable decentralized blockchains as databases. Unfortunately, the cost of writing to these immutable decentralized databases has increased dramatically, making these approaches impractical.

Instead of writing to immutable blockchains, bitbooks uses the blockchain mempool to buy and sell books. It does not cost anything to send data to the blockchain mempool.

Mempool transactions are immutable and distributed for days. After the data is removed from the mempool, the data can be trivially rebroadcasted if desired.

Alternatively, bitbooks supports writing data into the blockchain if you wish to pay the miner fee. However, we do not see any reason to use this feature.


Unfortunately, bitbooks is not python 3 compatible.

pip install -r reqirements.txt
python install


To get your wallet:

bitbooks wallet

To check your balance (small amount needed for posting books for sale or sending messages):

bitbooks balance

To post a book for sale:

bitbooks post - You will be prompted for ISBN, quality, and price of your book

To cancel a book posting:

bitbooks cancel - You will be prompted for ISBN of book to cancel

To send a message:

bitbooks sendmessage - You will be prompted for senders address and your message

To check your messages:

bitbooks getmessages

To check current book postings for sale:

bitbooks postings


Your wallet is saved unencrypted on your hardrive. Do not send more than is needed to this wallet. 10 cents should be sufficient for most uses.

Messages are not encrypted.


bitbooks does not depend on confirmed transactions. That means you can load your wallet for free with unconfirmed transactions.

You can’t perform that action at this time.