Developer Interface

Keys

bitcash.Key

alias of PrivateKey

class bitcash.PrivateKey(wif=None, network='main')

This class represents a BitcoinCash private key. Key is an alias.

Parameters:

wif (str) – A private key serialized to the Wallet Import Format. If the argument is not supplied, a new private key will be created. The WIF compression flag will be adhered to, but the version byte is disregarded. Compression will be used by all new keys.

Raises:

TypeError – If wif is not a str.

property address

The public address you share with others to receive funds.

balance_as(currency)

Returns your balance as a formatted string in a particular currency.

Parameters:

currency (str) – One of the Supported Currencies.

Return type:

str

property cashtoken_address

The public address you share with others to receive cashtokens.

create_transaction(outputs, fee=None, leftover=None, combine=True, message=None, unspents=None, custom_pushdata=False)

Creates a signed P2PKH transaction.

Parameters:
  • outputs (list of tuple) – A sequence of outputs you wish to send in the form (destination, amount, currency). The amount can be either an int, float, or string as long as it is a valid input to decimal.Decimal. The currency must be supported. To send CashToken, the list of output is made in the form (destination, amount, currency, category_id, nft_capability, nft_commitment, token_amount). The category_id is hex of tx-id as str. The nft_capability is the capability of non-fungible token in (“none”, “mutable”, “minting”). The nft_commitment is the commitment of the non-fungible token in bytes. The CashToken property nft_capability, nft_commitment, or the token_amount can be None if not to be sent. If category_id is tx-id of unspent with tx-index 0, then tx is treated as a genesis tx.

  • fee (int) – The number of satoshi per byte to pay to miners. By default Bitcash will poll https://bitcoincashfees.earn.com and use a fee that will allow your transaction to be confirmed as soon as possible.

  • leftover (str) – The destination that will receive any change from the transaction. By default Bitcash will send any change to the same address you sent from.

  • combine (bool) – Whether or not Bitcash should use all available UTXOs to make future transactions smaller and therefore reduce fees. By default Bitcash will consolidate UTXOs.

  • message (str) – A message to include in the transaction. This will be stored in the blockchain forever. Due to size limits, each message will be stored in chunks of 220 bytes.

  • unspents (list of Unspent) – The UTXOs to use as the inputs. By default Bitcash will communicate with the blockchain itself.

Returns:

The signed transaction as hex.

Return type:

str

classmethod from_bytes(bytestr)
Parameters:

bytestr (bytes) – A private key previously encoded as hex.

Return type:

PrivateKey

classmethod from_der(der)
Parameters:

der (bytes) – A private key previously encoded as DER.

Return type:

PrivateKey

classmethod from_hex(hexed)
Parameters:

hexed (str) – A private key previously encoded as hex.

Return type:

PrivateKey

classmethod from_int(num)
Parameters:

num (int) – A private key in raw integer form.

Return type:

PrivateKey

classmethod from_pem(pem)
Parameters:

pem (bytes) – A private key previously encoded as PEM.

Return type:

PrivateKey

get_balance(currency='satoshi')

Fetches the current balance by calling get_balance() and returns it using balance_as().

Parameters:

currency (str) – One of the Supported Currencies.

Return type:

str

get_cashtokenbalance()

Fetches the current cashtoken balance by calling get_balance() and returns it as a token dictionary.

Return type:

dict

get_transactions()

Fetches transaction history.

Return type:

list of str transaction IDs

get_unspents()

Fetches all available unspent transaction outputs.

Return type:

list of Unspent

is_compressed()

Returns whether or not this private key corresponds to a compressed public key.

Return type:

bool

classmethod prepare_transaction(address, outputs, compressed=True, fee=None, leftover=None, combine=True, message=None, unspents=None)

Prepares a P2PKH transaction for offline signing.

Parameters:
  • address (str) – The address the funds will be sent from.

  • outputs (list of tuple) – A sequence of outputs you wish to send in the form (destination, amount, currency). The amount can be either an int, float, or string as long as it is a valid input to decimal.Decimal. The currency must be supported. To send CashToken, the list of output is made in the form (destination, amount, currency, category_id, nft_capability, nft_commitment, token_amount). The category_id is hex of tx-id as str. The nft_capability is the capability of non-fungible token in (“none”, “mutable”, “minting”). The nft_commitment is the commitment of the non-fungible token in bytes. The CashToken property nft_capability, nft_commitment, or the token_amount can be None if not to be sent. If category_id is tx-id of unspent with tx-index 0, then tx is treated as a genesis tx.

  • compressed (bool) – Whether or not the address corresponds to a compressed public key. This influences the fee.

  • fee (int) –

    The number of satoshi per byte to pay to miners. By default Bitcash will poll https://bitcoincashfees.earn.com and use a fee that will allow your transaction to be confirmed as soon as possible.

  • leftover (str) – The destination that will receive any change from the transaction. By default Bitcash will send any change to the same address you sent from.

  • combine (bool) – Whether or not Bitcash should use all available UTXOs to make future transactions smaller and therefore reduce fees. By default Bitcash will consolidate UTXOs.

  • message (str) – A message to include in the transaction. This will be stored in the blockchain forever. Due to size limits, each message will be stored in chunks of 220 bytes.

  • unspents (list of Unspent) – The UTXOs to use as the inputs. By default Bitcash will communicate with the blockchain itself.

Returns:

JSON storing data required to create an offline transaction.

Return type:

str

property public_key

The public point serialized to bytes.

property public_point

The public point (x, y).

property scriptcode
send(outputs, fee=None, leftover=None, combine=True, message=None, unspents=None)

Creates a signed P2PKH transaction and attempts to broadcast it on the blockchain. This accepts the same arguments as create_transaction().

Parameters:
  • outputs (list of tuple) – A sequence of outputs you wish to send in the form (destination, amount, currency). The amount can be either an int, float, or string as long as it is a valid input to decimal.Decimal. The currency must be supported. To send CashToken, the list of output is made in the form (destination, amount, currency, category_id, nft_capability, nft_commitment, token_amount). The category_id is hex of tx-id as str. The nft_capability is the capability of non-fungible token in (“none”, “mutable”, “minting”). The nft_commitment is the commitment of the non-fungible token in bytes. The CashToken property nft_capability, nft_commitment, or the token_amount can be None if not to be sent. If category_id is tx-id of unspent with tx-index 0, then tx is treated as a genesis tx.

  • fee (int) –

    The number of satoshi per byte to pay to miners. By default Bitcash will poll https://bitcoincashfees.earn.com and use a fee that will allow your transaction to be confirmed as soon as possible.

  • leftover (str) – The destination that will receive any change from the transaction. By default Bitcash will send any change to the same address you sent from.

  • combine (bool) – Whether or not Bitcash should use all available UTXOs to make future transactions smaller and therefore reduce fees. By default Bitcash will consolidate UTXOs.

  • message (str) – A message to include in the transaction. This will be stored in the blockchain forever. Due to size limits, each message will be stored in chunks of 220 bytes.

  • unspents (list of Unspent) – The UTXOs to use as the inputs. By default Bitcash will communicate with the blockchain itself.

Returns:

The transaction ID.

Return type:

str

sign(data)

Signs some data which can be verified later by others using the public key.

Parameters:

data (bytes) – The message to sign.

Returns:

A signature compliant with BIP-62.

Return type:

bytes

sign_transaction(tx_data)

Creates a signed P2PKH transaction using previously prepared transaction data.

Parameters:

tx_data (str) – Output of prepare_transaction().

Returns:

The signed transaction as hex.

Return type:

str

to_bytes()
Return type:

bytes

to_der()
Return type:

bytes

to_hex()
Return type:

str

to_int()
Return type:

int

to_pem()
Return type:

bytes

to_wif()
verify(signature, data)

Verifies some data was signed by this private key.

Parameters:
  • signature (bytes) – The signature to verify.

  • data (bytes) – The data that was supposedly signed.

Return type:

bool

class bitcash.PrivateKeyTestnet(wif=None, network='test')

This class represents a testnet BitcoinCash private key. Note: coins on the test network have no monetary value!

Parameters:

wif (str) – A private key serialized to the Wallet Import Format. If the argument is not supplied, a new private key will be created. The WIF compression flag will be adhered to, but the version byte is disregarded. Compression will be used by all new keys.

Raises:

TypeError – If wif is not a str.

property address

The public address you share with others to receive funds.

balance_as(currency)

Returns your balance as a formatted string in a particular currency.

Parameters:

currency (str) – One of the Supported Currencies.

Return type:

str

property cashtoken_address

The public address you share with others to receive cashtokens.

create_transaction(outputs, fee=None, leftover=None, combine=True, message=None, unspents=None, custom_pushdata=False)

Creates a signed P2PKH transaction.

Parameters:
  • outputs (list of tuple) – A sequence of outputs you wish to send in the form (destination, amount, currency). The amount can be either an int, float, or string as long as it is a valid input to decimal.Decimal. The currency must be supported. To send CashToken, the list of output is made in the form (destination, amount, currency, category_id, nft_capability, nft_commitment, token_amount). The category_id is hex of tx-id as str. The nft_capability is the capability of non-fungible token in (“none”, “mutable”, “minting”). The nft_commitment is the commitment of the non-fungible token in bytes. The CashToken property nft_capability, nft_commitment, or the token_amount can be None if not to be sent. If category_id is tx-id of unspent with tx-index 0, then tx is treated as a genesis tx.

  • fee (int) –

    The number of satoshi per byte to pay to miners. By default Bitcash will poll https://bitcoincashfees.earn.com and use a fee that will allow your transaction to be confirmed as soon as possible.

  • leftover (str) – The destination that will receive any change from the transaction. By default Bitcash will send any change to the same address you sent from.

  • combine (bool) – Whether or not Bitcash should use all available UTXOs to make future transactions smaller and therefore reduce fees. By default Bitcash will consolidate UTXOs.

  • message (str) – A message to include in the transaction. This will be stored in the blockchain forever. Due to size limits, each message will be stored in chunks of 220 bytes.

  • unspents (list of Unspent) – The UTXOs to use as the inputs. By default Bitcash will communicate with the blockchain itself.

Returns:

The signed transaction as hex.

Return type:

str

classmethod from_bytes(bytestr)
Parameters:

bytestr (bytes) – A private key previously encoded as hex.

Return type:

PrivateKeyTestnet

classmethod from_der(der)
Parameters:

der (bytes) – A private key previously encoded as DER.

Return type:

PrivateKeyTestnet

classmethod from_hex(hexed)
Parameters:

hexed (str) – A private key previously encoded as hex.

Return type:

PrivateKeyTestnet

classmethod from_int(num)
Parameters:

num (int) – A private key in raw integer form.

Return type:

PrivateKeyTestnet

classmethod from_pem(pem)
Parameters:

pem (bytes) – A private key previously encoded as PEM.

Return type:

PrivateKeyTestnet

get_balance(currency='satoshi')

Fetches the current balance by calling get_balance() and returns it using balance_as().

Parameters:

currency (str) – One of the Supported Currencies.

Return type:

str

get_cashtokenbalance()

Fetches the current cashtoken balance by calling get_balance() and returns it as a token dictionary.

Return type:

dict

get_transactions()

Fetches transaction history.

Return type:

list of str transaction IDs

get_unspents()

Fetches all available unspent transaction outputs.

Return type:

list of Unspent

is_compressed()

Returns whether or not this private key corresponds to a compressed public key.

Return type:

bool

classmethod prepare_transaction(address, outputs, compressed=True, fee=None, leftover=None, combine=True, message=None, unspents=None)

Prepares a P2PKH transaction for offline signing.

Parameters:
  • address (str) – The address the funds will be sent from.

  • outputs (list of tuple) – A sequence of outputs you wish to send in the form (destination, amount, currency). The amount can be either an int, float, or string as long as it is a valid input to decimal.Decimal. The currency must be supported. To send CashToken, the list of output is made in the form (destination, amount, currency, category_id, nft_capability, nft_commitment, token_amount). The category_id is hex of tx-id as str. The nft_capability is the capability of non-fungible token in (“none”, “mutable”, “minting”). The nft_commitment is the commitment of the non-fungible token in bytes. The CashToken property nft_capability, nft_commitment, or the token_amount can be None if not to be sent. If category_id is tx-id of unspent with tx-index 0, then tx is treated as a genesis tx.

  • compressed (bool) – Whether or not the address corresponds to a compressed public key. This influences the fee.

  • fee (int) –

    The number of satoshi per byte to pay to miners. By default Bitcash will poll https://bitcoincashfees.earn.com and use a fee that will allow your transaction to be confirmed as soon as possible.

  • leftover (str) – The destination that will receive any change from the transaction. By default Bitcash will send any change to the same address you sent from.

  • combine (bool) – Whether or not Bitcash should use all available UTXOs to make future transactions smaller and therefore reduce fees. By default Bitcash will consolidate UTXOs.

  • message (str) – A message to include in the transaction. This will be stored in the blockchain forever. Due to size limits, each message will be stored in chunks of 220 bytes.

  • unspents (list of Unspent) – The UTXOs to use as the inputs. By default Bitcash will communicate with the blockchain itself.

Returns:

JSON storing data required to create an offline transaction.

Return type:

str

property public_key

The public point serialized to bytes.

property public_point

The public point (x, y).

property scriptcode
send(outputs, fee=None, leftover=None, combine=True, message=None, unspents=None)

Creates a signed P2PKH transaction and attempts to broadcast it on the blockchain. This accepts the same arguments as create_transaction().

Parameters:
  • outputs (list of tuple) – A sequence of outputs you wish to send in the form (destination, amount, currency). The amount can be either an int, float, or string as long as it is a valid input to decimal.Decimal. The currency must be supported. To send CashToken, the list of output is made in the form (destination, amount, currency, category_id, nft_capability, nft_commitment, token_amount). The category_id is hex of tx-id as str. The nft_capability is the capability of non-fungible token in (“none”, “mutable”, “minting”). The nft_commitment is the commitment of the non-fungible token in bytes. The CashToken property nft_capability, nft_commitment, or the token_amount can be None if not to be sent. If category_id is tx-id of unspent with tx-index 0, then tx is treated as a genesis tx.

  • fee (int) –

    The number of satoshi per byte to pay to miners. By default Bitcash will poll https://bitcoincashfees.earn.com and use a fee that will allow your transaction to be confirmed as soon as possible.

  • leftover (str) – The destination that will receive any change from the transaction. By default Bitcash will send any change to the same address you sent from.

  • combine (bool) – Whether or not Bitcash should use all available UTXOs to make future transactions smaller and therefore reduce fees. By default Bitcash will consolidate UTXOs.

  • message (str) – A message to include in the transaction. This will be stored in the blockchain forever. Due to size limits, each message will be stored in chunks of 220 bytes.

  • unspents (list of Unspent) – The UTXOs to use as the inputs. By default Bitcash will communicate with the blockchain itself.

Returns:

The transaction ID.

Return type:

str

sign(data)

Signs some data which can be verified later by others using the public key.

Parameters:

data (bytes) – The message to sign.

Returns:

A signature compliant with BIP-62.

Return type:

bytes

sign_transaction(tx_data)

Creates a signed P2PKH transaction using previously prepared transaction data.

Parameters:

tx_data (str) – Output of prepare_transaction().

Returns:

The signed transaction as hex.

Return type:

str

to_bytes()
Return type:

bytes

to_der()
Return type:

bytes

to_hex()
Return type:

str

to_int()
Return type:

int

to_pem()
Return type:

bytes

to_wif()
verify(signature, data)

Verifies some data was signed by this private key.

Parameters:
  • signature (bytes) – The signature to verify.

  • data (bytes) – The data that was supposedly signed.

Return type:

bool

class bitcash.wallet.BaseKey(wif=None, regtest=False)

This class represents a point on the elliptic curve secp256k1 and provides all necessary cryptographic functionality. You shouldn’t use this class directly.

Parameters:

wif (str) – A private key serialized to the Wallet Import Format. If the argument is not supplied, a new private key will be created. The WIF compression flag will be adhered to, but the version byte is disregarded. Compression will be used by all new keys.

Raises:

TypeError – If wif is not a str.

is_compressed()

Returns whether or not this private key corresponds to a compressed public key.

Return type:

bool

property public_key

The public point serialized to bytes.

property public_point

The public point (x, y).

sign(data)

Signs some data which can be verified later by others using the public key.

Parameters:

data (bytes) – The message to sign.

Returns:

A signature compliant with BIP-62.

Return type:

bytes

to_bytes()
Return type:

bytes

to_der()
Return type:

bytes

to_hex()
Return type:

str

to_int()
Return type:

int

to_pem()
Return type:

bytes

verify(signature, data)

Verifies some data was signed by this private key.

Parameters:
  • signature (bytes) – The signature to verify.

  • data (bytes) – The data that was supposedly signed.

Return type:

bool

CashAddress

class bitcash.cashaddress.Address(version, payload)

Class to handle CashAddr.

Parameters:
  • version (str) – Version of CashAddr

  • payload (list of int) – Payload of CashAddr as int list of the bytearray

cash_address()

Generate CashAddr of the Address

Return type:

str

classmethod from_script(scriptcode)

Generate Address from a locking script

Parameters:

scriptcode (bytes) – The locking script

Returns:

Instance of :class:~bitcash.cashaddress.Address

static from_string(address)

Generate Address from a cashadress string

Parameters:

scriptcode (str) – The cashaddress string

Returns:

Instance of :class:~bitcash.cashaddress.Address

property scriptcode

Generate the locking script of the Address

Return type:

bytes

bitcash.cashaddress.generate_cashaddress(address, params=None)

Generates cashaddress uri from address and params

Parameters:
  • address (str) – cashaddress

  • params (dict) – dictionary of parameters to be attached

Returns:

cashaddress uri

Return type:

str

>>> generate_cashaddress(
        "bitcoincash:qzfyvx77v2pmgc0vulwlfkl3uzjgh5gnmqk5hhyaa6",
        {
            "amount": 0.1,
        }
)
"bitcoincash:qzfyvx77v2pmgc0vulwlfkl3uzjgh5gnmqk5hhyaa6?amount=0.1"
>>> generate_cashaddress(
        "bitcoincash:",
        {"message": "Satoshi Nakamoto"}
)
"bitcoincash:?message=Satoshi%20Nakamoto"
bitcash.cashaddress.parse_cashaddress(data)

Parse CashAddress address URI, with params attached

Parameters:

data (str) – Cashaddress uri to be parsed

Returns:

cashaddress address, and parameters

Return type:

(str, dict)

>>> parse_cashaddress(
        'bchtest:qzvsaasdvw6mt9j2rs3gyps673gj86flev3z0s40ln?'
        'amount=0.1337&label=Satoshi-Nakamoto&message=Donation%20xyz'
    )
(<bitcash.cashaddress.Address>,
 {'amount': '0.1337',
  'label': 'Satoshi-Nakamoto',
  'message': 'Donation xyz'
 }
)
>>> parse_cashaddress(
        'bchtest:?label=Satoshi-Nakamoto&message=Donation%20xyz'
    )
(None,
 {'label': 'Satoshi-Nakamoto',
  'message': 'Donation xyz'
 }
)

CashTokens

bitcash.cashtoken.verify_cashtoken_output_data(category_id=None, nft_capability=None, nft_commitment=None, token_amount=None)

Verifies cashtoken data for an output

Parameters:
  • category_id (str) – Category hex of the cashtoken

  • nft_capability (str) – Capability of the non-fungible token

  • nft_commitment (bytes) – Commitment bytes of the non-fungible token

  • token_amount (int) – Fungible token amount of the cashtoken

Returns:

None

bitcash.cashtoken.parse_cashtoken_prefix(script)

Parses cashtoken prefix

Parameters:

script (bytes) – Token prefix with OP_TOKENPREFIX

Returns:

Tuple of category_id, nft_capability, nft_commitment, token_amount

Return type:

tuple

bitcash.cashtoken.generate_cashtoken_prefix(category_id=None, nft_capability=None, nft_commitment=None, token_amount=None)

Generates cashtoken prefix from cashtoken data

Parameters:
  • category_id (str) – Category hex of the cashtoken

  • nft_capability (str) – Capability of the non-fungible token

  • nft_commitment (bytes) – Commitment bytes of the non-fungible token

  • token_amount (int) – Fungible token amount of the cashtoken

Returns:

Cahstoken prefix

Return type:

bytes

bitcash.format.cashtokenaddress_to_address(address)

Converts cashtoken signalling cashaddress to regular cashaddress

Parameters:

address (str) – Cashtoken signalling cashaddress

Returns:

Cashaddress

Return type:

str

Network

class bitcash.network.NetworkAPI
IGNORED_ERRORS = (<class 'requests.exceptions.RequestException'>, <class 'requests.exceptions.HTTPError'>, <class 'requests.exceptions.ConnectionError'>, <class 'requests.exceptions.ProxyError'>, <class 'requests.exceptions.SSLError'>, <class 'requests.exceptions.Timeout'>, <class 'requests.exceptions.ConnectTimeout'>, <class 'requests.exceptions.ReadTimeout'>, <class 'requests.exceptions.TooManyRedirects'>, <class 'requests.exceptions.ChunkedEncodingError'>, <class 'requests.exceptions.ContentDecodingError'>, <class 'requests.exceptions.StreamConsumedError'>)
classmethod broadcast_tx(tx_hex, network='mainnet')

Broadcasts a transaction to the blockchain.

Parameters:

tx_hex (str) – A signed transaction in hex form.

Raises:

ConnectionError – If all API services fail.

classmethod get_balance(address, network='mainnet')

Gets the balance of an address in satoshi.

Parameters:

address (str) – The address in question.

Raises:

ConnectionError – If all API services fail.

Return type:

int

classmethod get_raw_transaction(txid, network='mainnet')

Gets the raw, unparsed transaction details.

Parameters:

txid (str) – The transaction id in question.

Raises:

ConnectionError – If all API services fail.

Return type:

Transaction

classmethod get_transaction(txid, network='mainnet')

Gets the full transaction details.

Parameters:

txid (str) – The transaction id in question.

Raises:

ConnectionError – If all API services fail.

Return type:

Transaction

classmethod get_transactions(address, network='mainnet')

Gets the ID of all transactions related to an address.

Parameters:

address (str) – The address in question.

Raises:

ConnectionError – If all API services fail.

Return type:

list of str

classmethod get_tx_amount(txid, txindex, network='mainnet')

Gets the amount of a given transaction output.

Parameters:
  • txid (str) – The transaction id in question.

  • txindex (int) – The transaction index in question.

Raises:

ConnectionError – If all API services fail.

Return type:

Decimal

classmethod get_unspent(address, network='mainnet')

Gets all unspent transaction outputs belonging to an address.

Parameters:

address (str) – The address in question.

Raises:

ConnectionError – If all API services fail.

Return type:

list of Unspent

class bitcash.network.meta.Unspent(amount, confirmations, script, txid, txindex, category_id=None, nft_capability=None, nft_commitment=None, token_amount=None)

Represents an unspent transaction output (UTXO) with CashToken

Parameters:
  • amount (int) – Amount in satoshi

  • confirmations (int) – Number of confirmations of the UTXO

  • script (str) – locking bytecode hex of the UTXO, with no cashtoken prefix

  • txid (str) – txid hex of the transaction of UTXO

  • txindex (int) – transaction output index of UTXO

  • category_id (str) – category_id of cashtoken attached to the UTXO

  • nft_capability (str) – nft_capability of the cashtoken attached

  • nft_commitment (bytes) – nft_commitment of the cashtoken attached

  • token_amount (int) – fungible token amount of the cashtoken attached

NFT_CAPABILITY = ['none', 'mutable', 'minting']
amount
category_id
confirmations
classmethod from_dict(d)
property has_amount
property has_cashtoken
property has_nft
nft_capability
nft_commitment
script
to_dict()
token_amount
txid
txindex

Exchange Rates

bitcash.network.currency_to_satoshi(amount, currency)

Converts a given amount of currency to the equivalent number of satoshi. The amount can be either an int, float, or string as long as it is a valid input to decimal.Decimal.

Parameters:
Return type:

int

bitcash.network.currency_to_satoshi_cached(amount, currency)

Converts a given amount of currency to the equivalent number of satoshi. The amount can be either an int, float, or string as long as it is a valid input to decimal.Decimal. Results are cached using a decorator for 60 seconds by default. See Cache Times.

Parameters:
Return type:

int

bitcash.network.satoshi_to_currency(num, currency)

Converts a given number of satoshi to another currency as a formatted string rounded down to the proper number of decimal places.

Parameters:
Return type:

str

bitcash.network.satoshi_to_currency_cached(num, currency)

Converts a given number of satoshi to another currency as a formatted string rounded down to the proper number of decimal places. Results are cached using a decorator for 60 seconds by default. See Cache Times.

Parameters:
Return type:

str

class bitcash.network.rates.RatesAPI

Each method converts exactly 1 unit of the currency to the equivalent number of satoshi.

ARS_RATES = [<bound method BitpayRates.ars_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
AUD_RATES = [<bound method BitpayRates.aud_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
BOB_RATES = [<bound method BitpayRates.bob_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
BRL_RATES = [<bound method BitpayRates.brl_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
CAD_RATES = [<bound method BitpayRates.cad_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
CHF_RATES = [<bound method BitpayRates.chf_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
CLP_RATES = [<bound method BitpayRates.clp_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
CNY_RATES = [<bound method BitpayRates.cny_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
COP_RATES = [<bound method BitpayRates.cop_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
CUP_RATES = [<bound method BitpayRates.cup_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
DKK_RATES = [<bound method BitpayRates.dkk_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
DOP_RATES = [<bound method BitpayRates.dop_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
EUR_RATES = [<bound method BitpayRates.eur_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
GBP_RATES = [<bound method BitpayRates.gbp_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
HKD_RATES = [<bound method BitpayRates.hkd_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
IGNORED_ERRORS = (<class 'requests.exceptions.ConnectionError'>, <class 'requests.exceptions.HTTPError'>, <class 'requests.exceptions.Timeout'>)
ISK_RATES = [<bound method BitpayRates.isk_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
JPY_RATES = [<bound method BitpayRates.jpy_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
KRW_RATES = [<bound method BitpayRates.krw_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
MXN_RATES = [<bound method BitpayRates.mxn_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
NZD_RATES = [<bound method BitpayRates.nzd_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
PEN_RATES = [<bound method BitpayRates.pen_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
PLN_RATES = [<bound method BitpayRates.pln_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
RUB_RATES = [<bound method BitpayRates.rub_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
SEK_RATES = [<bound method BitpayRates.sek_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
SGD_RATES = [<bound method BitpayRates.sgd_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
THB_RATES = [<bound method BitpayRates.thb_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
TWD_RATES = [<bound method BitpayRates.twd_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
USD_RATES = [<bound method BitpayRates.usd_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>, <bound method CoinbaseRates.usd_to_satoshi of <class 'bitcash.network.rates.CoinbaseRates'>>]
UYU_RATES = [<bound method BitpayRates.uyu_to_satoshi of <class 'bitcash.network.rates.BitpayRates'>>]
classmethod ars_to_satoshi()
classmethod aud_to_satoshi()
classmethod bob_to_satoshi()
classmethod brl_to_satoshi()
classmethod cad_to_satoshi()
classmethod chf_to_satoshi()
classmethod clp_to_satoshi()
classmethod cny_to_satoshi()
classmethod cop_to_satoshi()
classmethod cup_to_satoshi()
classmethod dkk_to_satoshi()
classmethod dop_to_satoshi()
classmethod eur_to_satoshi()
classmethod gbp_to_satoshi()
classmethod hkd_to_satoshi()
classmethod isk_to_satoshi()
classmethod jpy_to_satoshi()
classmethod krw_to_satoshi()
classmethod mxn_to_satoshi()
classmethod nzd_to_satoshi()
classmethod pen_to_satoshi()
classmethod pln_to_satoshi()
classmethod rub_to_satoshi()
classmethod sek_to_satoshi()
classmethod sgd_to_satoshi()
classmethod thb_to_satoshi()
classmethod twd_to_satoshi()
classmethod usd_to_satoshi()
classmethod uyu_to_satoshi()
class bitcash.network.rates.BitpayRates

API Documentation: https://bitpay.com/api/rates#rest-api-resources-rates

SINGLE_RATE = 'https://bitpay.com/rates/BCH/'
classmethod ars_to_satoshi()
classmethod aud_to_satoshi()
classmethod bob_to_satoshi()
classmethod brl_to_satoshi()
classmethod cad_to_satoshi()
classmethod chf_to_satoshi()
classmethod clp_to_satoshi()
classmethod cny_to_satoshi()
classmethod cop_to_satoshi()
classmethod cup_to_satoshi()
classmethod currency_to_satoshi(currency)
classmethod dkk_to_satoshi()
classmethod dop_to_satoshi()
classmethod eur_to_satoshi()
classmethod gbp_to_satoshi()
classmethod hkd_to_satoshi()
classmethod isk_to_satoshi()
classmethod jpy_to_satoshi()
classmethod krw_to_satoshi()
classmethod mxn_to_satoshi()
classmethod nzd_to_satoshi()
classmethod pen_to_satoshi()
classmethod pln_to_satoshi()
classmethod rub_to_satoshi()
classmethod sek_to_satoshi()
classmethod sgd_to_satoshi()
classmethod thb_to_satoshi()
classmethod twd_to_satoshi()
classmethod usd_to_satoshi()
classmethod uyu_to_satoshi()

Utilities

bitcash.verify_sig(signature, data, public_key)

Verifies some data was signed by the owner of a public key.

Parameters:
  • signature (bytes) – The signature to verify.

  • data (bytes) – The data that was supposedly signed.

  • public_key (bytes) – The public key.

Returns:

True if all checks pass, False otherwise.

Exceptions

exception bitcash.exceptions.InsufficientFunds