POST
/
public
/
v1
/
submit
/
sign_transaction
Authorizations
Body
Enum options:
ACTIVITY_TYPE_SIGN_TRANSACTION_V2Timestamp (in milliseconds) of the request, used to verify liveness of user requests.
Unique identifier for a given Organization.
The parameters object containing the specific intent data for this activity.
Show details
Show details
A Wallet account address, Private Key address, or Private Key identifier.
Response
A successful response returns the following fields: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 signTransactionIntentV2 object
Show signTransactionIntentV2 details
Show signTransactionIntentV2 details
A Wallet account address, Private Key address, or Private Key identifier.
Raw unsigned transaction to be signed
A 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/sign_transaction \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <string> (see Authorizations)" \
--data '{
"type": "ACTIVITY_TYPE_SIGN_TRANSACTION_V2",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"signWith": "<string>",
"unsignedTransaction": "<string>",
"type": "<TRANSACTION_TYPE_ETHEREUM>"
}
}'
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().signTransaction({
signWith: "<string> (A Wallet account address, Private Key address, or Private Key identifier.)",
unsignedTransaction: "<string> (Raw unsigned transaction to be signed)",
type: "<TRANSACTION_TYPE_ETHEREUM>" // type field
});
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_SIGN_TRANSACTION_V2",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"id": "<string>",
"organizationId": "<string>",
"status": "<string>",
"type": "<string>",
"intent": {
"signTransactionIntentV2": {
"signWith": "<string>",
"unsignedTransaction": "<string>",
"type": "<TRANSACTION_TYPE_ETHEREUM>"
}
},
"result": {
"signTransactionResult": {
"signedTransaction": "<string>"
}
},
"votes": "<array>",
"fingerprint": "<string>",
"canApprove": "<boolean>",
"canReject": "<boolean>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
}
}
}