Command line tool to interface with the BitShares network

bitshares, library, api, rpc, cli
pip install airsign==0.0.2


AirSign for BitShares

A command line tool to interface with the BitShares network.


Install with pip:

pip3 install airsign

Manual installation:

git clone
cd airsign
python3 install --user


$ pip install --user --upgrade airsign


You can get a full length help by running:

usage: airsign [-h] [--node NODE] [--rpcuser RPCUSER] [--rpcpassword RPCPASSWORD] [--nobroadcast] {set,addkey,listkeys,listaccounts,getbalance,transfer,approve} ...

Command line tool to interact with the BitShares network

positional arguments:
                        sub-command help
    set                 Set configuration
    addkey              Add a new key to the wallet
    listkeys            List available keys in your wallet
    listaccounts        List available accounts in your wallet
    getbalance          Get balances of available account(s)
    transfer            Transfer funds from your wallet to someone else
    approve             approve funds from your wallet to someone else

optional arguments:
  -h, --help            show this help message and exit
  --node NODE           Websocket URL for public BitShares API (default: "wss://")
  --rpcuser RPCUSER     Websocket user if authentication is required
  --rpcpassword RPCPASSWORD
                        Websocket password if authentication is required
  --nobroadcast         Do not broadcast anything

Adding keys

airsign comes with its own encrypted wallet to which keys need to be added:

airsign addkey <posting-wif-key>

On first run, you will be asked to provide a new passphrase that you will need to provide every time you want to post on the BitShares network. If you chose an empty password, your keys will be stored in plain text which allows automated posting but exposes your private key to your local user.

List available Keys and accounts

airsign listkeys

This command will give the list of public keys to which the private keys are available.

airsign listaccounts

This command tries to resolve the public keys into account names registered on the network (experimental).

Get Balances

The command getbalance only takes optional arguments if you want to see the balance of a specific account, else it will show all balances for which a key has been added to the wallet (see above)

$ airsign getbalance
Please unlock your existing wallet!
| Amount      | Asset    |
| 61557.53766 | BTS      |
| 1e-07       | OPEN.BTC |
| 107.5035    | MKR      |
| Amount     | Asset |
| 9993.84531 | BTS   |


Transfers can be initiated from any account for which the active key is installed. The --amount parameter can be applied several times to send different assets from the same origin to the same recepient. The command supports encrypted memos. If your account has a distinct memo key (usually identical to the active key), then you need to add that key to your wallet aswell.

airsign transfer --from <fromaccount> --to <recepient> --amount "1 USD" --amount "2 BTS" --memo <Text>

The global --nobroadcast flag can be added before transfer to prevent airsign to broadcast the transaction to the BitShares network:

airsign --nobroadcast transfer --from <fromaccount> --to <recepient> --amount "1 USD" --amount "2 BTS" --memo <Text>

Approval of Proposals

Any proposal can be approved using airsign:

airsign approve <proposal-id>

The default account will be used, unless stated otherwise with an --account parameter. The proposal-id must habe the form 1.10.x.