Skip to main content

Submit transaction

POST 

/transactions

This endpoint accepts transaction submissions in two formats.

To submit a transaction as JSON, you must submit a SubmitTransactionRequest. To build this request, do the following:

  1. Encode the transaction as BCS. If you are using a language that has native BCS support, make sure of that library. If not, you may take advantage of /transactions/encode_submission. When using this endpoint, make sure you trust the node you're talking to, as it is possible they could manipulate your request.
  2. Sign the encoded transaction and use it to create a TransactionSignature.
  3. Submit the request. Make sure to use the "application/json" Content-Type.

To submit a transaction as BCS, you must submit a SignedTransaction encoded as BCS. See SignedTransaction in types/src/transaction/mod.rs. Make sure to use the application/x.aptos.signed_transaction+bcs Content-Type.

Request

Body

required

    sender 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.

    sequence_number 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.

    max_gas_amount 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.

    gas_unit_price 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.

    expiration_timestamp_secs 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.

    payload

    object

    required

    An enum of the possible transaction payloads

    oneOf

    type stringrequired

    Possible values: [entry_function_payload]

    function EntryFunctionId (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.

    type_arguments MoveType (string)[]required

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

    Type arguments of the function

    arguments arrayrequired

    Arguments of the function

    signature

    object

    required

    An enum representing the different transaction signatures available

    oneOf

    type stringrequired

    Possible values: [ed25519_signature]

    public_key hexrequired

    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.

    signature hexrequired

    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.

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

    hash HashValue (string)required
    sender 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.

    sequence_number 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.

    max_gas_amount 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.

    gas_unit_price 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.

    expiration_timestamp_secs 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.

    payload

    object

    required

    An enum of the possible transaction payloads

    oneOf

    type stringrequired

    Possible values: [entry_function_payload]

    function EntryFunctionId (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.

    type_arguments MoveType (string)[]required

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

    Type arguments of the function

    arguments arrayrequired

    Arguments of the function

    signature

    object

    An enum representing the different transaction signatures available

    oneOf

    type stringrequired

    Possible values: [ed25519_signature]

    public_key hexrequired

    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.

    signature hexrequired

    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.

Loading...