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 I need to sign the whole POST body?
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.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?
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?
How can I safely rotate API key credentials?
ACTIVITY_TYPE_DELETE_API_KEYS
.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?
ratelimit-limit
: indicates the total quota (60)ratelimit-remaining
: indicates the current quotax-rate-limit-request-forwarded-for
and x-rate-limit-request-remote-addr
: echo back your remote IP and forwarded-for IP for debugging purposesToo 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.Does Turnkey support Ethereum (EVM)?
Does Turnkey support Solana (SVM)?
Does Turnkey support Bitcoin?
Which cryptographic curves do you support?
Which ecosystems and chains do you support?
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?
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`?
“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.Do you have a status page?
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?
Where else can I get help with my Turnkey implementation?
What is your data deletion policy?
Is my country supported?
Where can I learn more about Turnkey's internal architecture?