Method: projects.locations.endpoints.submitOperationalTransaction

Submits an operational transaction to the network. This method returns only after the transaction has been replicated across a majority of validators in the network, or if the transaction fails.

HTTP request


POST https://universalledger.googleapis.com/v1/{endpoint=projects/*/locations/*/endpoints/*}:submitOperationalTransaction

The URLs use gRPC Transcoding syntax.

Path parameters

Parameters
endpoint

string

Required. The endpoint to serve the request. Format: projects/{project}/locations/{location}/endpoints/{endpoint} The location is a region.

Request body

The request body contains data with the following structure:

JSON representation
{
  "serializedSignedOperationalTransaction": string
}
Fields
serializedSignedOperationalTransaction

string (bytes format)

Required. A protobuf serialized SignedTransaction to submit to the ledger. The enclosed client transaction must be an operational transaction, and the sender must be the platform operator. Using a serialized format ensures that all validators compute the same transaction ID as the SHA-256 digest of the serialized bytes.

A base64-encoded string.

Response body

Response message for endpoints.submitOperationalTransaction.

If successful, the response body contains data with the following structure:

JSON representation
{
  "transactionDigestHex": string
}
Fields
transactionDigestHex

string

Identifier that uniquely represents the submitted operational transaction. It is the hexadecimal representation of the SHA-256 digest of the serializedSignedOperationalTransaction. This transaction ID is provided so that a client can track the transaction without needing to implement the hashing logic itself. The identifier can be directly used in subsequent API calls, for example to query the transaction state.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.