Skip to main content
POST
/
public
/
v1
/
submit
/
sign_transaction
Sign Transaction
curl --request POST \
  --url https://api.turnkey.com/public/v1/submit/sign_transaction \
  --header 'Content-Type: application/json' \
  --header 'X-Stamp: <api-key>' \
  --data '
{
  "type": "ACTIVITY_TYPE_SIGN_TRANSACTION_V2",
  "timestampMs": "<string>",
  "organizationId": "<string>",
  "parameters": {
    "signWith": "<string>",
    "unsignedTransaction": "<string>",
    "type": "TRANSACTION_TYPE_ETHEREUM"
  }
}
'
{
  "activity": {
    "id": "<string>",
    "organizationId": "<string>",
    "status": "ACTIVITY_STATUS_CREATED",
    "type": "ACTIVITY_TYPE_CREATE_API_KEYS",
    "intent": {
      "createReadOnlySessionIntent": {},
      "deleteSubOrganizationIntent": {
        "deleteWithoutExport": true
      }
    },
    "result": {
      "updateRootQuorumResult": {},
      "updateAllowedOriginsResult": {},
      "signRawPayloadsResult": {
        "signatures": [
          {
            "r": "<string>",
            "s": "<string>",
            "v": "<string>"
          }
        ]
      }
    },
    "votes": [
      {
        "id": "<string>",
        "userId": "<string>",
        "user": {
          "userId": "<string>",
          "userName": "<string>",
          "authenticators": [
            {
              "transports": [
                "AUTHENTICATOR_TRANSPORT_BLE"
              ],
              "attestationType": "<string>",
              "aaguid": "<string>",
              "credentialId": "<string>",
              "model": "<string>",
              "credential": {
                "publicKey": "<string>",
                "type": "CREDENTIAL_TYPE_WEBAUTHN_AUTHENTICATOR"
              },
              "authenticatorId": "<string>",
              "authenticatorName": "<string>",
              "createdAt": {
                "seconds": "<string>",
                "nanos": "<string>"
              },
              "updatedAt": {
                "seconds": "<string>",
                "nanos": "<string>"
              }
            }
          ],
          "apiKeys": [
            {
              "credential": {
                "publicKey": "<string>",
                "type": "CREDENTIAL_TYPE_WEBAUTHN_AUTHENTICATOR"
              },
              "apiKeyId": "<string>",
              "apiKeyName": "<string>",
              "createdAt": {
                "seconds": "<string>",
                "nanos": "<string>"
              },
              "updatedAt": {
                "seconds": "<string>",
                "nanos": "<string>"
              },
              "expirationSeconds": "<string>"
            }
          ],
          "userTags": [
            "<string>"
          ],
          "oauthProviders": [
            {
              "providerId": "<string>",
              "providerName": "<string>",
              "issuer": "<string>",
              "audience": "<string>",
              "subject": "<string>",
              "createdAt": {
                "seconds": "<string>",
                "nanos": "<string>"
              },
              "updatedAt": {
                "seconds": "<string>",
                "nanos": "<string>"
              }
            }
          ],
          "createdAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          },
          "updatedAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          },
          "userEmail": "<string>",
          "userPhoneNumber": "<string>"
        },
        "activityId": "<string>",
        "selection": "VOTE_SELECTION_APPROVED",
        "message": "<string>",
        "publicKey": "<string>",
        "signature": "<string>",
        "scheme": "<string>",
        "createdAt": {
          "seconds": "<string>",
          "nanos": "<string>"
        }
      }
    ],
    "fingerprint": "<string>",
    "canApprove": true,
    "canReject": true,
    "createdAt": {
      "seconds": "<string>",
      "nanos": "<string>"
    },
    "updatedAt": {
      "seconds": "<string>",
      "nanos": "<string>"
    },
    "failure": {
      "code": 123,
      "message": "<string>",
      "details": [
        {
          "@type": "<string>"
        }
      ]
    }
  }
}

Authorizations

X-Stamp
string
header
required

Body

application/json
type
enum<string>
required
Available options:
ACTIVITY_TYPE_SIGN_TRANSACTION_V2
timestampMs
string
required

Timestamp (in milliseconds) of the request, used to verify liveness of user requests.

organizationId
string
required

Unique identifier for a given Organization.

parameters
object
required

Response

200 - application/json

A successful response.

activity
object
required