POST
/
public
/
v1
/
submit
/
create_private_keys
Authorizations
Body
enum<string>
required
Enum options:
ACTIVITY_TYPE_CREATE_PRIVATE_KEYS_V2string
required
Timestamp (in milliseconds) of the request, used to verify liveness of user requests.
string
required
Unique identifier for a given Organization.
object
required
The parameters object containing the specific intent data for this activity.
Show details
Show details
array
required
A list of Private Keys.
Show item details
Show item details
Enum options:
CURVE_SECP256K1, CURVE_ED25519, CURVE_P256array
required
A list of Private Key Tag IDs. This field, if not needed, should be an empty array in your request body.
Show item details
Show item details
Array item type: string
item field
Enum options:
ADDRESS_FORMAT_UNCOMPRESSED, ADDRESS_FORMAT_COMPRESSED, ADDRESS_FORMAT_ETHEREUM, ADDRESS_FORMAT_SOLANA, ADDRESS_FORMAT_COSMOS, ADDRESS_FORMAT_TRON, ADDRESS_FORMAT_SUI, ADDRESS_FORMAT_APTOS, ADDRESS_FORMAT_BITCOIN_MAINNET_P2PKH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2SH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2WPKH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2WSH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2TR, ADDRESS_FORMAT_BITCOIN_TESTNET_P2PKH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2SH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2WPKH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2WSH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2TR, ADDRESS_FORMAT_BITCOIN_SIGNET_P2PKH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2SH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2WPKH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2WSH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2TR, ADDRESS_FORMAT_BITCOIN_REGTEST_P2PKH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2SH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2WPKH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2WSH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2TR, ADDRESS_FORMAT_SEI, ADDRESS_FORMAT_XLM, ADDRESS_FORMAT_DOGE_MAINNET, ADDRESS_FORMAT_DOGE_TESTNET, ADDRESS_FORMAT_TON_V3R2, ADDRESS_FORMAT_TON_V4R2, ADDRESS_FORMAT_TON_V5R1, ADDRESS_FORMAT_XRPboolean
Enable to have your activity generate and return App Proofs, enabling verifiability.
Response
A successful response returns the following fields:object
required
The activity object containing type, intent, and result
Show activity details
Show activity details
The intent of the activity
Show intent details
Show intent details
The createPrivateKeysIntentV2 object
Show createPrivateKeysIntentV2 details
Show createPrivateKeysIntentV2 details
A list of Private Keys.
Show privateKeys details
Show privateKeys details
Human-readable name for a Private Key.
curve fieldEnum options:
CURVE_SECP256K1, CURVE_ED25519, CURVE_P256Cryptocurrency-specific formats for a derived address (e.g., Ethereum).
Show addressFormats details
Show addressFormats details
item fieldEnum options:
ADDRESS_FORMAT_UNCOMPRESSED, ADDRESS_FORMAT_COMPRESSED, ADDRESS_FORMAT_ETHEREUM, ADDRESS_FORMAT_SOLANA, ADDRESS_FORMAT_COSMOS, ADDRESS_FORMAT_TRON, ADDRESS_FORMAT_SUI, ADDRESS_FORMAT_APTOS, ADDRESS_FORMAT_BITCOIN_MAINNET_P2PKH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2SH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2WPKH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2WSH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2TR, ADDRESS_FORMAT_BITCOIN_TESTNET_P2PKH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2SH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2WPKH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2WSH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2TR, ADDRESS_FORMAT_BITCOIN_SIGNET_P2PKH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2SH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2WPKH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2WSH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2TR, ADDRESS_FORMAT_BITCOIN_REGTEST_P2PKH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2SH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2WPKH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2WSH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2TR, ADDRESS_FORMAT_SEI, ADDRESS_FORMAT_XLM, ADDRESS_FORMAT_DOGE_MAINNET, ADDRESS_FORMAT_DOGE_TESTNET, ADDRESS_FORMAT_TON_V3R2, ADDRESS_FORMAT_TON_V4R2, ADDRESS_FORMAT_TON_V5R1, ADDRESS_FORMAT_XRPThe result of the activity
Show result details
Show result details
The createPrivateKeysResultV2 object
Show createPrivateKeysResultV2 details
Show createPrivateKeysResultV2 details
A list of Private Key IDs and addresses.
Show privateKeys details
Show privateKeys details
addresses field
Show addresses details
Show addresses details
format fieldEnum options:
ADDRESS_FORMAT_UNCOMPRESSED, ADDRESS_FORMAT_COMPRESSED, ADDRESS_FORMAT_ETHEREUM, ADDRESS_FORMAT_SOLANA, ADDRESS_FORMAT_COSMOS, ADDRESS_FORMAT_TRON, ADDRESS_FORMAT_SUI, ADDRESS_FORMAT_APTOS, ADDRESS_FORMAT_BITCOIN_MAINNET_P2PKH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2SH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2WPKH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2WSH, ADDRESS_FORMAT_BITCOIN_MAINNET_P2TR, ADDRESS_FORMAT_BITCOIN_TESTNET_P2PKH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2SH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2WPKH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2WSH, ADDRESS_FORMAT_BITCOIN_TESTNET_P2TR, ADDRESS_FORMAT_BITCOIN_SIGNET_P2PKH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2SH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2WPKH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2WSH, ADDRESS_FORMAT_BITCOIN_SIGNET_P2TR, ADDRESS_FORMAT_BITCOIN_REGTEST_P2PKH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2SH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2WPKH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2WSH, ADDRESS_FORMAT_BITCOIN_REGTEST_P2TR, ADDRESS_FORMAT_SEI, ADDRESS_FORMAT_XLM, ADDRESS_FORMAT_DOGE_MAINNET, ADDRESS_FORMAT_DOGE_TESTNET, ADDRESS_FORMAT_TON_V3R2, ADDRESS_FORMAT_TON_V4R2, ADDRESS_FORMAT_TON_V5R1, ADDRESS_FORMAT_XRPA list of objects representing a particular User’s approval or rejection of a Consensus request, including all relevant metadata.
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/create_private_keys \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <string> (see Authorizations)" \
--data '{
"type": "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS_V2",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"privateKeys": [
{
"privateKeyName": "<string>",
"curve": "<CURVE_SECP256K1>",
"privateKeyTags": [
"<string>"
],
"addressFormats": [
"<ADDRESS_FORMAT_UNCOMPRESSED>"
]
}
]
}
}'
import { Turnkey } from "@turnkey/sdk-server";
const turnkeyClient = new Turnkey({
apiBaseUrl: "https://api.turnkey.com",
apiPublicKey: process.env.API_PUBLIC_KEY!,
apiPrivateKey: process.env.API_PRIVATE_KEY!,
defaultOrganizationId: process.env.ORGANIZATION_ID!,
});
const response = await turnkeyClient.apiClient().createPrivateKeys({
privateKeys: [{ // A list of Private Keys.,
privateKeyName: "<string> (Human-readable name for a Private Key.)",
curve: "<CURVE_SECP256K1>" // curve field,
privateKeyTags: ["<string>"] // A list of Private Key Tag IDs. This field, if not needed, should be an empty array in your request body.,
addressFormats: "<ADDRESS_FORMAT_UNCOMPRESSED>" // Cryptocurrency-specific formats for a derived address (e.g., Ethereum).,
}]
});
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS_V2",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"id": "<string>",
"organizationId": "<string>",
"status": "<string>",
"type": "<string>",
"intent": {
"createPrivateKeysIntentV2": {
"privateKeys": [
{
"privateKeyName": "<string>",
"curve": "<CURVE_SECP256K1>",
"privateKeyTags": [
"<string>"
],
"addressFormats": [
"<ADDRESS_FORMAT_UNCOMPRESSED>"
]
}
]
}
},
"result": {
"createPrivateKeysResultV2": {
"privateKeys": [
{
"privateKeyId": "<string>",
"addresses": [
{
"format": "<ADDRESS_FORMAT_UNCOMPRESSED>",
"address": "<string>"
}
]
}
]
}
},
"votes": "<array>",
"fingerprint": "<string>",
"canApprove": "<boolean>",
"canReject": "<boolean>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
}
}
}