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:
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.
"0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 "
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.
"32425224034"
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.
"32425224034"
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.
"32425224034"
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.
"32425224034"
An enum of the possible transaction payloads
"entry_function_payload"
Entry function id is string representation of a entry function defined on-chain.
Format: {address}::{module name}::{function name}
Both module name
and function name
are case-sensitive.
"0x1::aptos_coin::transfer"
Type arguments of the function
String representation of an on-chain Move type tag that is exposed in transaction payload.
Values:
- bool
- u8
- u16
- u32
- u64
- u128
- u256
- address
- signer
- vector: vector<{non-reference MoveTypeId}>
- struct: {address}::{module_name}::{struct_name}::<{generic types}>
Vector type value examples:
- `vector<u8>`
- `vector<vector<u64>>`
- `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>`
Struct type value examples:
- `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>
- `0x1::account::Account`
Note:
1. Empty chars should be ignored when comparing 2 struct tag ids.
2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding).
^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$
Arguments of the function
Secondary signer accounts of the request for Multi-agent
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.
"0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 "
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.
"0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 "