Skip to main content

Ambisafe KeyServer client library

Project description


Use pip

pip install ambisafe


Create client

Import Client and create client object

from ambisafe import Client

client = Client(ambisafe_server_url, secret, api_key, api_secret)

You can set prefix for account id

client = Client(ambisafe_server_url, secret, api_key, api_secret, account_id_prefix='prefix')

You can provide read and connect timeout (in seconds)

client = Client(ambisafe_server_url, secret, api_key, api_secret, connect_timeout=2.5, read_timeout=5)

Create account

Simple security schema

account = client.create_simple_account(account_id, currency='BTC')

Wallet4 security schema

Generate operator container using secret and create user container from public_key, data (encrypted private key), iv and salt

from ambisafe import Container

operator_container = Container.generate(client.secret)
user_container = Container(public_key, data, iv, salt)

Create account for security schema “Wallet4” and “BTC” currency

account = client.create_wallet4_account(account_id, user_container=user_container,

Update Wallet4 account

Create new containers and update account

account = client.update_wallet4_account(account_id, user_container=user_container,

Get balance

Get balance in float

balance = client.get_balance(account_id, 'BTC')

Get account

account = client.get_account(account_id, 'BTC')

Make payment

For Simple account

Build and submit transaction

transaction = client.build_transaction(account_id, 'BTC', address, amount)
result = client.submit(account_id, transaction, 'BTC')

For Wallet4 accounts

Build transaction

transaction = client.build_transaction(account_id, 'BTC', address, amount)

Sign this transaction by user, then sing by operator and submit it

transaction = client.sign_wallet4_transaction(transaction, account_id, 'BTC')
client.submit(account_id, transaction, 'BTC')

# or

result = client.cosign_wallet4_and_submit(transaction, account_id, 'BTC')

Build recovery transaction

transaction = client.build_recovery_transaction(account_id, currency, old_address)


The library still in BETA. There can be changes without backward compatibility.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ambisafe-0.28.2.tar.gz (12.7 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page