Creating an Enterprise Wallet
To create an enterprise wallet, you first need an app. Start by visiting our Developer Portal, then click New App and enter your details.
After you create your app, you can then create your Enterprise Wallet:
- Go to the developer portal.
- Navigate to your app details.
- Select the Accounts tab.
- Click New Account to generate an ethereum account.
You will then see your account’s address and current balance across our supported networks.
Create your credentials
You will need to create credentials in order to actually use your Enterprise Wallet in your code. These credentials are exchanged with our OAuth server for an access token, which is then used to access your accounts.
To create a credential, go to the developer portal, then to your app details page. Next, select the Backend Credentials tab, and click New Credential.
Bitski will display your credential id and client secret in a modal. Make sure to download the credentials or copy these down somewhere, as the secret cannot be retrieved later. If you lose the secret, you will have to regenerate it on this screen.
Currently, each credential can access all of the accounts under your app. We recommend creating one credential per app or service that uses it. That way you can remove access as needed with as little interruption as possible.
Important: Since these credentials allow you to send transactions from your enterprise wallet without any prompt, you should treat them as a username and password. Be careful not to share them with any untrusted parties.
Fund your Enterprise Wallet
This is currently a manual process. We recommend buying ETH from a third-party such as Coinbase and sending it to your enterprise wallet’s address.
For additional security, we allow you to create rules around what transactions should be signed. These rules are specific to each individual address for additional flexibility. You can find these settings in the Accounts tab under your app. Click Edit on the account you want to set rules for.
Restrict To Addresses
This rule allows you to lock your Enterprise Wallet to only sign transactions where the recipient matches the list. When enabled, Bitski will check transactions for their “to” field and will only approve transactions that match. This is a good feature to enable for use cases where your account is only used to execute calls on a particular contract.
We currently have SDKs for both Node.js and Python applications. These SDKs take your credentials and give you a web3 provider that is ready to use. If you would like to use Enterprise Wallet on another platform, please contact us and we will consider creating an SDK for it.
- Node SDK
- Python SDK
Deploy Contracts with Truffle
We also have a simple Truffle plugin that makes deploying contracts from your Enterprise Wallet easy. Read more about it here.
Get an Access Token
Use your credential id and secret to request an access token using OAuth. Most
platforms have a library that can handle this step for you. Your token has a
relatively short lifespan, so you should store the expiration date and request a
new one when it expires. You must request the scope
eth_sign in order to sign
Get an Access Token
You are now ready to send Overview requests.