Authentication and credentials
Can I sign up for Turnkey multiple times with the same email?
Can I sign up for Turnkey multiple times with the same email?
Why do you require a public / private key pair to access Turnkey API?
Why do you require a public / private key pair to access Turnkey API?
- Turnkey cannot leak your API private keys, even if compromised, because Turnkey only knows your API public keys.
- Your API private key stays on the server you generated it for. This means there’s a lower risk of key exfiltration compared to other methods where an API key, or API credentials in general, are generated in one place (web browser, company server), transported via a second (copy/paste, email, PDF document) and used in a third place (your server).
Why do I need to sign the whole POST body?
Why do I need to sign the whole POST body?
- That you are in possession of your API key (because we can verify the signature you attach to requests).
- That the person or program signing is approving the current request (not just any request).
- The original request you sent: this is achieved by simply receiving the HTTP request and its body
- That your API key was used to approve the request: this is achieved by checking the signature contained in the
X-Stamp
header. For this verification we need the serialized POST body, your API public key, and the signature. This is all contained in the header value. - That the request is legitimate: this is achieved by parsing the serialized request to make sure the intent is correct. This happens all the way down in our Secure Enclaves. For example, when you send a request to create a new Private Key, our policy engine parses your original request to independently derive the type of request, the payload to sign, etc. This guards against man-in-the-middle attacks.
How is a Turnkey API key different from a crypto public / private key?
How is a Turnkey API key different from a crypto public / private key?
What happens if I lose my API key? Do I lose my crypto?
What happens if I lose my API key? Do I lose my crypto?
- By default, your API key is not able to move funds
- If you’ve changed policies so that your API key is allowed to unilaterally move funds, you may be at risk. Leverage the Turnkey UI to revoke your API key as soon as possible.
How long is a signed activity request valid for?
How long is a signed activity request valid for?
timestampMs
field for each new activity submission.Our secure enclaves have their own, independent, secure source of time. We currently require request timestamps to be less than an hour old, and up to 5 minutes in the future.Can I use my existing crypto private key as a Turnkey API key?
Can I use my existing crypto private key as a Turnkey API key?
How can I safely rotate API key credentials?
How can I safely rotate API key credentials?
- At sub-org creation, create your root user with 2+ API keys. One for day-to-day signing, and the other(s) securely stored.
- If the day-to-day key is leaked, then you can use one of the secure, additional keys to remove it from all impacted sub-orgs via
ACTIVITY_TYPE_DELETE_API_KEYS
.
Limits
Are there limits on how many resources I can create, or activities I can execute?
Are there limits on how many resources I can create, or activities I can execute?
Do you have any rate limits in place in your public API?
Do you have any rate limits in place in your public API?
- Free: 1 request per second (RPS)
- Pay-as-you-go: 1 RPS
- Pro: 3 RPS
- Enterprise: 60 RPS
ratelimit-limit
: your plan’s total RPS limitratelimit-remaining
: current quota remainingx-rate-limit-request-forwarded-for
andx-rate-limit-request-remote-addr
: echo back request IPs for debugging purposes
Too many requests. Please wait and try again in a few seconds
.This limit is on a per IP address basis: if you have multiple servers making requests to the turnkey API under a different IP address, each server is subject to the 60 RPS limit individually.Please get in touch with us (help@turnkey.com) if you need this limit adjusted for your use-case.Supported functionality
Does Turnkey support Ethereum (EVM)?
Does Turnkey support Ethereum (EVM)?
Does Turnkey support Solana (SVM)?
Does Turnkey support Solana (SVM)?
Does Turnkey support Bitcoin?
Does Turnkey support Bitcoin?
Which cryptographic curves do you support?
Which cryptographic curves do you support?
Which ecosystems and chains do you support?
Which ecosystems and chains do you support?
Do you support transaction construction and broadcast?
Do you support transaction construction and broadcast?
ethers.js
to help you with basic transaction construction.You can use any blockchain node provider, like Infura or Alchemy, to broadcast your transactions.What does `HASH_FUNCTION_NO_OP` mean?
What does `HASH_FUNCTION_NO_OP` mean?
HASH_FUNCTION_KECCAK256
and HASH_FUNCTION_SHA256
(for Ethereum and Bitcoin ecosystems respectively). If your message had already been hashed, you should use the HASH_FUNCTION_NO_OP
option to sign the raw hash, in which case Turnkey will sign the payload as is. HASH_FUNCTION_NO_OP
also has privacy implications: if a raw hashed message is passed in, Turnkey has no knowledge of the underlying pre-image.As an example, in our Viem package, the message is hashed before signing.What is `HASH_FUNCTION_NOT_APPLICABLE` and how does it differ from `HASH_FUNCTION_NO_OP`?
What is `HASH_FUNCTION_NOT_APPLICABLE` and how does it differ from `HASH_FUNCTION_NO_OP`?
“Ed25519 is EdDSA instantiated with: …H(x) = SHA-512"
). As a result, we have a special HASH_FUNCTION_NOT_APPLICABLE
option for when you use ed25519/EdDSA.An example for this case can be found in our Solana signer.Guidance
Do you have a status page?
Do you have a status page?
How do you recommend testing the Turnkey API and functionality safely?
How do you recommend testing the Turnkey API and functionality safely?
firstname@domain.com
is your email, you can sign up for a new Turnkey organization with firstname+test@domain.com
to have a test playground.If you need many test organizations or if you have specific questions, our team is happy to help you get set up.How do pricing and billing work?
How do pricing and billing work?
Where else can I get help with my Turnkey implementation?
Where else can I get help with my Turnkey implementation?
What is your data deletion policy?
What is your data deletion policy?
Is my country supported?
Is my country supported?
Where can I learn more about Turnkey's internal architecture?
Where can I learn more about Turnkey's internal architecture?