Skip to main content

Encode submission

POST 

/transactions/encode_submission

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.

Request

Body

required

    senderhexrequired

    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_numberuint64required

    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_amountuint64required

    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_priceuint64required

    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_secsuint64required

    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

    payload

    object

    required

    An enum of the possible transaction payloads

    oneOf

    typestringrequired

    Possible values: [entry_function_payload]

    Example: entry_function_payload
    functionEntryFunctionId (string)required

    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.

    Example: 0x1::aptos_coin::transfer
    type_argumentsMoveType (string)[]required

    Type arguments of the function

    Possible values: Value must match regular expression ^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$

    argumentsarrayrequired

    Arguments of the function

    secondary_signershex[]

    Secondary signer accounts of the request for Multi-agent

Responses

Response Headers

  • X-APTOS-CHAIN-ID

    integer

    Chain ID of the current chain

  • X-APTOS-LEDGER-VERSION

    integer

    Current ledger version of the chain

  • X-APTOS-LEDGER-OLDEST-VERSION

    integer

    Oldest non-pruned ledger version of the chain

  • X-APTOS-LEDGER-TIMESTAMPUSEC

    integer

    Current timestamp of the chain

  • X-APTOS-EPOCH

    integer

    Current epoch of the chain

  • X-APTOS-BLOCK-HEIGHT

    integer

    Current block height of the chain

  • X-APTOS-OLDEST-BLOCK-HEIGHT

    integer

    Oldest non-pruned block height of the chain

  • X-APTOS-GAS-USED

    integer

    The cost of the call in terms of gas

  • X-APTOS-CURSOR

    string

    Cursor to be used for endpoints that support cursor-based pagination. Pass this to the start field of the endpoint on the next call to get the next page of results.

Schema

    string