Encode submission
POST
This API accepts unsigned transaction information in JSON format and converts it to BCS (Binary Canonical Serialization) format. You can use the converted result to sign the transaction and then submit it via the Submit Transaction API.That is, this endpoint enables you to submit transaction requests to the API even in languages that do not have BCS-supporting libraries. You do not need to use this endpoint when using an SDK that supports BCS, such as the official Rust, TypeScript, or Python SDK.To sign a transaction using this endpoint's response:
- Decode the hex-encoded string from the response into bytes.
- Sign the decoded bytes.
- Convert the signed bytes to Ed25519 signature format and use it to create the final transaction signature.
Path Parameters
chainstringrequired
Parameter specifying the target chain to query.networkstringrequired
Parameter specifying the network of the target chain.Request Body
senderstringrequired
A field representing the address of the account that sent the transaction.When expressed as a string, it is displayed as a 64-character hexadecimal string, and may be abbreviated by omitting leading zeros and adding 0x.sequence_numberstringrequired
A field representing the transaction occurrence order.Represents a 64-bit unsigned integer as a string.max_gas_amountstringrequired
A field representing the maximum amount of gas to use when the transaction occurs.Represents a 64-bit unsigned integer as a string.gas_unit_pricestringrequired
A field representing the gas price to use when the transaction occurs.Represents a 64-bit unsigned integer as a string.expiration_timestamp_secsstringrequired
A field representing the transaction expiration time.Represents a 64-bit unsigned integer as a string.payloadobjectrequired
A field representing the payload to use when the transaction occurs.Payload that executes a single Entry Functiontypestringrequired
The type of the payloadfunctionstringrequired
String representation of the Entry Function identifier defined on-chain.type_argumentsarrayrequired
Field representing the generic type arguments of the Entry function.argumentsarrayrequired
Field representing the arguments of the Entry function.replay_protection_noncestringrequired
A field representing the nonce used to prevent transaction replay attacks.Represents a 64-bit unsigned integer as a string.signatureobjectrequired
A field representing the transaction signature.One of Ed25519, MultiEd25519, MultiAgent, FeePayer, Account, or NoAccount can be selected.Represents a single Ed25519 signature.typestringrequired
The type of the signaturepublic_keystringrequired
All byte (Vec) data is expressed as a hex-encoded string starting with 0x, with two hex digits per byte.Unlike the Address type, HexEncodedBytes does not omit any zeros.signaturestringrequired
All byte (Vec) data is expressed as a hex-encoded string starting with 0x, with two hex digits per byte.Unlike the Address type, HexEncodedBytes does not omit any zeros.header
acceptstring
The content type that the client can receive. The API works correctly only when application/x-bcs is specified.Responses
codestringrequired
Code identifying the cause of the failed request.messagestringrequired
Detailed message including the name and value of the invalid parameter.{"code": "ERROR_CODE","message": "Bad Request"}
cURL
curl -X POST 'https://aptos-mainnet.nodit.io/v1/transactions/encode_submission' \-H 'Content-Type: application/json' \-H 'X-API-KEY: nodit-demo' \-d '{"sender": "0x1","sequence_number": "1234567890","max_gas_amount": "1000000","gas_unit_price": "1","expiration_timestamp_secs": "1634567890","replay_protection_nonce": "590"}'