This quickstart will guide you through Turnkey’s onboarding, adding an API key, creating a wallet, and signing your first Ethereum transaction.
All API requests require an organization ID. Yours can be located in the user dropdown menu at the top right corner of the dashboard.
For convenience, it’s worth setting this as a permanent shell variable:
Turnkey API Keys are generic public / private key pairs that allow you to make requests to our API. To generate a new key pair, we’ll use the Turnkey CLI.
turnkey
We are employing Homebrew in this guide as a quick and easy install path. For an installation path that requires no trust in external parties, refer to our CLI repo.
When you run this command, Turnkey’s CLI generates an API key pair and stores the API private key locally. Copy the publicKey
field in the output. In the next step, we’ll add this to our User.
Navigate to your user page by clicking on “User Details” in the user dropdown menu.
Click on “Create API keys” and follow the prompts to add the generated public API key. You’ll be required to authenticate with the same authenticator used during onboarding. After this succeeds, you should be all set to interact with our API.
NOTES:
key.public
, key.private
), you will have to save the files without newlines (which occupy extra bytes). For example, for VIM, use :set binary noeol
or :set binary noendofline
before writing.Wallets are collections of cryptographic key pairs typically used for sending and receiving digital assets. To create one, we need to provide a name:
To create a cryptographic key pair on our new Wallet, we need to pass our desired address format:
This command will produce an Ethereum address (e.g. 0x08cb1216C95149DF66978b574E484869512CE2bF
) that we’ll need to sign a transaction. You can see your new Wallet account with:
Now you can sign an Ethereum transaction with this new address with our sign_transaction
endpoint. Make sure to replace the unsignedTransaction
below with your own. You can use our simple transaction generator if you need a quick transaction for testing:
If you’d like to broadcast your transaction, you can easily do so via Etherscan.
This quickstart will guide you through Turnkey’s onboarding, adding an API key, creating a wallet, and signing your first Ethereum transaction.
All API requests require an organization ID. Yours can be located in the user dropdown menu at the top right corner of the dashboard.
For convenience, it’s worth setting this as a permanent shell variable:
Turnkey API Keys are generic public / private key pairs that allow you to make requests to our API. To generate a new key pair, we’ll use the Turnkey CLI.
turnkey
We are employing Homebrew in this guide as a quick and easy install path. For an installation path that requires no trust in external parties, refer to our CLI repo.
When you run this command, Turnkey’s CLI generates an API key pair and stores the API private key locally. Copy the publicKey
field in the output. In the next step, we’ll add this to our User.
Navigate to your user page by clicking on “User Details” in the user dropdown menu.
Click on “Create API keys” and follow the prompts to add the generated public API key. You’ll be required to authenticate with the same authenticator used during onboarding. After this succeeds, you should be all set to interact with our API.
NOTES:
key.public
, key.private
), you will have to save the files without newlines (which occupy extra bytes). For example, for VIM, use :set binary noeol
or :set binary noendofline
before writing.Wallets are collections of cryptographic key pairs typically used for sending and receiving digital assets. To create one, we need to provide a name:
To create a cryptographic key pair on our new Wallet, we need to pass our desired address format:
This command will produce an Ethereum address (e.g. 0x08cb1216C95149DF66978b574E484869512CE2bF
) that we’ll need to sign a transaction. You can see your new Wallet account with:
Now you can sign an Ethereum transaction with this new address with our sign_transaction
endpoint. Make sure to replace the unsignedTransaction
below with your own. You can use our simple transaction generator if you need a quick transaction for testing:
If you’d like to broadcast your transaction, you can easily do so via Etherscan.