Encode Submission

This method will use 15 Compute Units.


Encode submission

post

This endpoint accepts an EncodeSubmissionRequest, which internally is a UserTransactionRequestInner (and optionally secondary signers) encoded as JSON, validates the request format, and then returns that request encoded in BCS. The client can then use this to create a transaction signature to be used in a SubmitTransactionRequest, which it then passes to the /transactions POST endpoint.

To be clear, this endpoint makes it possible to submit transaction requests to the API from languages that do not have library support for BCS. If you are using an SDK that has BCS support, such as the official Rust, TypeScript, or Python SDKs, you do not need to use this endpoint.

To sign a message using the response from this endpoint:

  • Decode the hex encoded string in the response to bytes.
  • Sign the bytes to create the signature.
  • Use that as the signature field in something like Ed25519Signature, which you then use to build a TransactionSignature.
Body

Request to encode a submission

senderstring · hexRequired

A hex encoded 32 byte Aptos account address.

This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x.

For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.

Example: 0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1
sequence_numberstring · uint64Required

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

Example: 32425224034
max_gas_amountstring · uint64Required

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

Example: 32425224034
gas_unit_pricestring · uint64Required

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

Example: 32425224034
expiration_timestamp_secsstring · uint64Required

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

Example: 32425224034
payloadone ofRequired

An enum of the possible transaction payloads

all ofOptional
and
or
all ofOptional
and
or
all ofOptional
or
all ofOptional
and
secondary_signersstring · hex[]Optional

Secondary signer accounts of the request for Multi-agent

Example: 0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1
Responses
200Success
Responsestring · hex

All bytes (Vec) data is represented as hex-encoded string prefixed with 0x and fulfilled with two hex digits per byte.

Unlike the Address type, HexEncodedBytes will not trim any zeros.

Example: 0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1
post
POST /v1/<YOUR_API_KEY_HERE>/v1/transactions/encode_submission HTTP/1.1
Host: mainnet.aptos.validationcloud.io
Content-Type: application/json
Accept: */*
Content-Length: 432

{
  "sender": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 ",
  "sequence_number": "32425224034",
  "max_gas_amount": "32425224034",
  "gas_unit_price": "32425224034",
  "expiration_timestamp_secs": "32425224034",
  "payload": {
    "type": "entry_function_payload",
    "function": "0x1::aptos_coin::transfer",
    "type_arguments": [
      "text"
    ],
    "arguments": []
  },
  "secondary_signers": [
    "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 "
  ]
}
0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 

Last updated

Was this helpful?