Tokens for Bitcoin Cash: base module / standard

Shawn Wilson c1c9f9dc4e more README 11 months ago
ag 597b9a9e9a Revert "Change relative imports to absolute (for Windows)." 11 months ago
api 5e2fa95db5 Add web API. 1 year ago
doc 1254912965 saw_052017_1 - Incorporate work from pyproject... the Sphinx documentation setup, etc. 2 years ago
etc c28876b732 Minor updates to documentation and setup. 1 year ago
.gitignore 1254912965 saw_052017_1 - Incorporate work from pyproject... the Sphinx documentation setup, etc. 2 years ago
CHANGELOG 1daa585028 README reorganization. 11 months ago
LICENSE c80efbb611 saw_072318_1 - First commit for ORBIT (nothing yet). 1 year ago
Makefile 0060667fcf fixes for docs 1 year ago
README.rst c1c9f9dc4e more README 11 months ago
SPECIFICATION.rst c28876b732 Minor updates to documentation and setup. 1 year ago
TODO c28876b732 Minor updates to documentation and setup. 1 year ago
setup.cfg dd3806011c saw_042017_1 - First commit for fauxpython. 2 years ago c28876b732 Minor updates to documentation and setup. 1 year ago


ORBIT - Op_Return Bitcoin-Implemented Tokens

.. image::
:alt: Join the chat at

**Token standard specification and API for Bitcoin Cash**

The official website for ORBIT is

.. contents:: Table of Contents
:depth: 2


ORBIT is a specification for simple, fungible tokens implemented by utilizing OP_RETURN for the storage of token events on the Bitcoin Cash blockchain. No changes to the Bitcoin Cash protocol or nodes are required. However, wallets may wish to incorporate this token standard in order to allow the user to easily take account of and interact with tokens that adhere to this ORBIT standard.

ORBIT is open source and licensed under the MIT license. See the `LICENSE `_ file for more details.


- All operations possible with very low fees (usually under 1,000 satoshis)
- Anybody can easily create and manage a new token
- Easily start a crowd-sale or faucet

Quick Start

Python 3 pip install this package and dependencies as follows::

pip install git+

This package is a library, so you probably want orbit-gui, orbit-cli, or orbit-node to do anything useful. Find them on the website.

The ORBIT Ecosystem

The following projects, when used in conjunction with the ORBIT API, complete a full ecosystem for tokens on Bitcoin Cash using ORBIT:

- ORBIT Node:
- ORBIT Command-Line Interface:
- ORBIT Qt Wallet:
- ORBIT Web:


This repository ( defines the official and complete specification for ORBIT.

*The current specification version is: 0 (beta testing). Version 0 is reserved and should be used for all testing.*

You will find the full text specifying the ORBIT standard in the `SPECIFICATION `_ file (included here in generated documentation).

.. include:: SPECIFICATION.rst


Your help is appreciated! Alpha Griffin is a small team focused on developing new technology projects. If you have questions or comments or would like to contribute to the ORBIT specification or ecosystem in any way, please feel free to contact us. You may submit issues or pull requests directly on GitHub or communicate with the team members at the following locations:


Have a suggestion or request? Let us know!

To-Do List

There are a number of tasks already identified on the `To-Do list `_ that could use your help (included here in generated documentation).

.. include:: TODO

Python Library

This repository also provides a simple Python 3 API for transacting with and retrieving information about any ORBIT-compliant token on Bitcoin Cash.

.. toctree::
API Documentation


- Python 3
- rfc3986 (``pip install rfc3986``)
- BitCash >= (``pip install bitcash\>=``)
- *For building documentation (optional):* Sphinx and sphinx_rtd_theme (``pip install sphinx sphinx_rtd_theme``)

Build Overview

Both a Makefile and are provided and used. The uses Python's standard setuptools package and you can call this script directly to do the basic Python tasks such as creating a wheel, etc.

The most common project build tasks are all provided in the Makefile. To see the full list of project targets::

make help

Sphinx is used to generate html documentation and man pages. All documentation (html as well as man pages) may be regenerated at any time with::

make docs

Every so often, when new source class files are created or moved, you will want to regenerate the API documentation templates. These templates may be modified by hand so this task does not overwrite existing files; you'll need to remove any existing files from ``api/`` that you want recreated. Then generate the API templates and re-build all documentation as follows::

make apidoc
make docs

There's not much to do for a simple Python project but your build may want to do more. In any case you can call ``make python`` if you need to (in orbit this target simply delegates to ``./ build``).

Build all the common tasks (including documentation) as follows::

make all

To clean up all the common generated files from your project folder::

make clean


To install this project to the local system::

make install

Note that you may need superuser permissions to perform the above step.


The **orbit** module is an API that you can import and use in any Python 3 project.

If you have already installed the project to the system then it's as simple as::

import ag.orbit

If you have not installed the project system-wide or you have some changes to try, you must add the project folder to Python's search path first::

import sys, os
sys.path.insert(0, os.path.abspath('/path/to/orbit'))
import ag.orbit


All changes are tracked in the `CHANGELOG `_ file.

.. include:: CHANGELOG


*"Orbit the moon"*