POST
 /transactions/encode_submission
             Select target C C# Clojure Dart Go HTTP Java JavaScript Kotlin Node.js Objective-C OCaml PHP PowerShell Python R Ruby Rust Shell Swift Select client Curl Wget HTTPie  CURL  * hnd  =   curl_easy_init (); 
curl_easy_setopt (hnd, CURLOPT_CUSTOMREQUEST,  " POST " ); 
curl_easy_setopt (hnd, CURLOPT_URL,  " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ); 
CURLcode ret  =   curl_easy_perform (hnd); 
    using   System . Net . Http . Headers ; 
var  client  =   new  HttpClient(); 
var  request  =   new  HttpRequestMessage 
     Method  =   HttpMethod . Post , 
     RequestUri  =   new  Uri( " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ), 
using  ( var  response  =   await   client . SendAsync (request)) 
     response . EnsureSuccessStatusCode (); 
     var  body  =   await   response . Content . ReadAsStringAsync (); 
    var  client  =   new  RestClient( " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ); 
var  request  =   new  RestRequest( Method . POST ); 
IRestResponse response  =   client . Execute (request); 
    ( require  '[clj-http.client  :as  client]) 
( client/post   " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ) 
    import   'package:http/http.dart'   as  http; 
   final  response  =   await  http. post ( Uri . parse ( 'https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission' )); 
       url   :=   " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " 
   req ,  _   :=   http . NewRequest ( " POST " ,  url ,  nil ) 
   res ,  _   :=   http . DefaultClient . Do ( req ) 
   body ,  _   :=   io . ReadAll ( res . Body ) 
   fmt . Println ( string ( body )) 
    POST  /v1/transactions/encode_submission  HTTP / 1.1 
Host :   api.mainnet.aptoslabs.com 
    AsyncHttpClient   client   =   new   DefaultAsyncHttpClient () ; 
client . prepare ( " POST " ,  " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ) 
   . thenAccept ( System . out :: println ) 
    HttpRequest   request   =   HttpRequest . newBuilder () 
     . uri ( URI . create ( " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " )) 
     . method ( " POST " ,  HttpRequest . BodyPublishers . noBody ()) 
HttpResponse < String >  response   =   HttpClient . newHttpClient () . send ( request,  HttpResponse . BodyHandlers . ofString ()) ; 
System . out . println ( response . body ()) ; 
    OkHttpClient   client   =   new   OkHttpClient () ; 
Request   request   =   new  Request. Builder () 
   . url ( " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ) 
Response   response   =   client . newCall ( request ) . execute () ; 
    HttpResponse < String >  response   =   Unirest . post ( " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ) 
    fetch ( ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' , { 
    import  axios  from   ' axios ' ; 
   url:  ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' 
   const {  data  } = await  axios . request ( options ); 
    import  { ofetch }  from   ' ofetch ' 
ofetch ( ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' , { 
       url:  ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' , 
$ . ajax ( settings ) . done ( function   ( response )  { 
    const  xhr  =  new   XMLHttpRequest (); 
xhr . withCredentials   =   true ; 
xhr . addEventListener ( ' readystatechange ' ,  function   ()  { 
   if  ( this . readyState   ===   this . DONE ) { 
     console . log ( this . responseText ); 
xhr . open ( ' POST ' ,  ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' ); 
    val  client  =   OkHttpClient () 
val  request  =  Request. Builder () 
   . url ( "https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission" ) 
val  response  =  client. newCall (request). execute () 
    fetch ( ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' , { 
    const  axios  =  require ( ' axios ' ) . default ; 
   url:  ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' 
   const {  data  } = await  axios . request ( options ); 
    import  { ofetch }  from   ' ofetch ' 
ofetch ( ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' , { 
    import  { request }  from   ' undici ' 
const {  statusCode ,  body  } = await  request ( ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' , { 
    #import   < Foundation/Foundation.h > 
NSMutableURLRequest   * request  =  [ NSMutableURLRequest   requestWithURL : [ NSURL   URLWithString : @" https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ] 
                                                        cachePolicy : NSURLRequestUseProtocolCachePolicy 
[request  setHTTPMethod : @" POST " ]; 
NSURLSession  * session  =  [NSURLSession  sharedSession ]; 
NSURLSessionDataTask  * dataTask  =  [session  dataTaskWithRequest : request 
                                             completionHandler : ^ ( NSData   * data,  NSURLResponse   * response,  NSError   * error) { 
                                                     NSHTTPURLResponse   * httpResponse  =  ( NSHTTPURLResponse   * ) response; 
                                                     NSLog ( @" %@ " , httpResponse); 
    let   uri   =   Uri . of_string  "https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission"  in 
>>= fun (res, body_stream) -> 
   (* Do stuff with the result *) 
    $ch   =   curl_init ( " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ); 
curl_setopt ($ ch ,  CURLOPT_POST ,  true ); 
    $client   =   new  GuzzleHttp\ Client (); 
$response   =   $client -> request ( ' POST ' ,  ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission ' ); 
    $response   =   Invoke-WebRequest   - Uri  ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission '   - Method POST 
    $response   =   Invoke-RestMethod   - Uri  ' https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission '   - Method POST 
    conn  =  http.client. HTTPSConnection ( " api.mainnet.aptoslabs.com " ) 
conn. request ( " POST " ,   " /v1/transactions/encode_submission " ) 
print ( data. decode ( " utf-8 " )) 
         " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " 
         " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " 
    with  httpx. AsyncClient ()  as  client: 
         " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " 
    url  <-   " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " 
response  <-   VERB ( " POST " , url, content_type ( " application/octet-stream " )) 
content ( response,  " text " ) 
    url   =   URI ( " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ) 
http   =   Net :: HTTP . new (url. host , url. port ) 
request   =   Net :: HTTP :: Post . new (url) 
response   =  http. request (request) 
    let   client   =  reqwest :: Client :: new (); 
let   request   =   client . post ( " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ); 
let   response   =   request . send () . await ? ; 
    curl   https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission   \ 
       -   https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission 
    http   POST   https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission 
    let  request  =   NSMutableURLRequest ( url :  NSURL ( string :  " https://api.mainnet.aptoslabs.com/v1/transactions/encode_submission " ) !   as  URL, 
                                         cachePolicy : . useProtocolCachePolicy , 
request. httpMethod   =   " POST " 
let  session  =  URLSession. shared 
let  dataTask  =  session. dataTask ( with : request  as  URLRequest,  completionHandler : { (data, response, error)  ->   Void   in 
     let  httpResponse  =  response  as?  HTTPURLResponse 
     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
     
    application/json 
   Request to encode a submission
  object        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.
string   format: hex   
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.
string   format: uint64   
        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.
string   format: uint64   
        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.
string   format: uint64   
       expiration_timestamp_secs  required
      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.
string   format: uint64   
         One of:    discriminator: type    
     An enum of the possible transaction payloads
  object         string 
Allowed values:  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.
string 
0x1::aptos_coin::transfer 
       Type arguments of the function
Array<string> 
        Arguments of the function
Array 
              An enum of the possible transaction payloads
  object         string 
Allowed values:  script_payload   
          object        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.
string   format: hex   
0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 
      abi     
    object         string 
Allowed values:  private     public     friend   
        Whether the function can be called as an entry function directly in a transaction
boolean 
        Whether the function is a view function or not
boolean 
       generic_type_params  required
      Generic type params associated with the Move function
Array<object> 
Move function generic type param
  object        Move abilities tied to the generic type param and associated with the function that uses it
Array<string> 
                  Parameters associated with the move function
Array<string> 
        Return type of the function
Array<string> 
                            Type arguments of the function
Array<string> 
        Arguments of the function
Array 
              An enum of the possible transaction payloads
  object         string 
Allowed values:  module_bundle_payload   
              An enum of the possible transaction payloads
  object         string 
Allowed values:  multisig_payload   
       multisig_address  required
      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.
string   format: hex   
0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 
      transaction_payload     
   One of:    discriminator: type    
       object         string 
Allowed values:  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.
string 
0x1::aptos_coin::transfer 
       Type arguments of the function
Array<string> 
        Arguments of the function
Array 
                                           replay_protection_nonce     
  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.
string   format: uint64   
       secondary_signers     
  Secondary signer accounts of the request for Multi-agent
Array<string> 
                      Responses  200    
     Select media type application/json application/x-bcs  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.
string   format: hex   
0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 
              X-APTOS-CHAIN-ID  required
      integer   format: uint8   
Chain ID of the current chain
      X-APTOS-LEDGER-VERSION  required
      integer   format: uint64   
Current ledger version of the chain
      X-APTOS-LEDGER-OLDEST-VERSION  required
      integer   format: uint64   
Oldest non-pruned ledger version of the chain
      X-APTOS-LEDGER-TIMESTAMPUSEC  required
      integer   format: uint64   
Current timestamp of the chain
       integer   format: uint64   
Current epoch of the chain
      X-APTOS-BLOCK-HEIGHT  required
      integer   format: uint64   
Current block height of the chain
      X-APTOS-OLDEST-BLOCK-HEIGHT  required
      integer   format: uint64   
Oldest non-pruned block height of the chain
      X-APTOS-GAS-USED     
  integer   format: uint64   
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.
                400    
      application/json 
   This is the generic struct we use for all API errors, it contains a string
message and an Aptos API specific error code.
  object        A message describing the error
string 
        These codes provide more granular error information beyond just the HTTP
status code of the response.
string 
Allowed values:  account_not_found     resource_not_found     module_not_found     struct_field_not_found     version_not_found     transaction_not_found     table_item_not_found     block_not_found     state_value_not_found     version_pruned     block_pruned     invalid_input     invalid_transaction_update     sequence_number_too_old     vm_error     rejected_by_filter     health_check_failed     mempool_is_full     internal_error     web_framework_error     bcs_not_supported     api_disabled   
       vm_error_code     
  A code providing VM error details when submitting transactions to the VM
integer   format: uint64   
                         X-APTOS-CHAIN-ID     
  integer   format: uint8   
Chain ID of the current chain
      X-APTOS-LEDGER-VERSION     
  integer   format: uint64   
Current ledger version of the chain
      X-APTOS-LEDGER-OLDEST-VERSION     
  integer   format: uint64   
Oldest non-pruned ledger version of the chain
      X-APTOS-LEDGER-TIMESTAMPUSEC     
  integer   format: uint64   
Current timestamp of the chain
      X-APTOS-EPOCH     
  integer   format: uint64   
Current epoch of the chain
      X-APTOS-BLOCK-HEIGHT     
  integer   format: uint64   
Current block height of the chain
      X-APTOS-OLDEST-BLOCK-HEIGHT     
  integer   format: uint64   
Oldest non-pruned block height of the chain
      X-APTOS-GAS-USED     
  integer   format: uint64   
The cost of the call in terms of gas
                403    
      application/json 
   This is the generic struct we use for all API errors, it contains a string
message and an Aptos API specific error code.
  object        A message describing the error
string 
        These codes provide more granular error information beyond just the HTTP
status code of the response.
string 
Allowed values:  account_not_found     resource_not_found     module_not_found     struct_field_not_found     version_not_found     transaction_not_found     table_item_not_found     block_not_found     state_value_not_found     version_pruned     block_pruned     invalid_input     invalid_transaction_update     sequence_number_too_old     vm_error     rejected_by_filter     health_check_failed     mempool_is_full     internal_error     web_framework_error     bcs_not_supported     api_disabled   
       vm_error_code     
  A code providing VM error details when submitting transactions to the VM
integer   format: uint64   
                         X-APTOS-CHAIN-ID     
  integer   format: uint8   
Chain ID of the current chain
      X-APTOS-LEDGER-VERSION     
  integer   format: uint64   
Current ledger version of the chain
      X-APTOS-LEDGER-OLDEST-VERSION     
  integer   format: uint64   
Oldest non-pruned ledger version of the chain
      X-APTOS-LEDGER-TIMESTAMPUSEC     
  integer   format: uint64   
Current timestamp of the chain
      X-APTOS-EPOCH     
  integer   format: uint64   
Current epoch of the chain
      X-APTOS-BLOCK-HEIGHT     
  integer   format: uint64   
Current block height of the chain
      X-APTOS-OLDEST-BLOCK-HEIGHT     
  integer   format: uint64   
Oldest non-pruned block height of the chain
      X-APTOS-GAS-USED     
  integer   format: uint64   
The cost of the call in terms of gas
                500    
      application/json 
   This is the generic struct we use for all API errors, it contains a string
message and an Aptos API specific error code.
  object        A message describing the error
string 
        These codes provide more granular error information beyond just the HTTP
status code of the response.
string 
Allowed values:  account_not_found     resource_not_found     module_not_found     struct_field_not_found     version_not_found     transaction_not_found     table_item_not_found     block_not_found     state_value_not_found     version_pruned     block_pruned     invalid_input     invalid_transaction_update     sequence_number_too_old     vm_error     rejected_by_filter     health_check_failed     mempool_is_full     internal_error     web_framework_error     bcs_not_supported     api_disabled   
       vm_error_code     
  A code providing VM error details when submitting transactions to the VM
integer   format: uint64   
                         X-APTOS-CHAIN-ID     
  integer   format: uint8   
Chain ID of the current chain
      X-APTOS-LEDGER-VERSION     
  integer   format: uint64   
Current ledger version of the chain
      X-APTOS-LEDGER-OLDEST-VERSION     
  integer   format: uint64   
Oldest non-pruned ledger version of the chain
      X-APTOS-LEDGER-TIMESTAMPUSEC     
  integer   format: uint64   
Current timestamp of the chain
      X-APTOS-EPOCH     
  integer   format: uint64   
Current epoch of the chain
      X-APTOS-BLOCK-HEIGHT     
  integer   format: uint64   
Current block height of the chain
      X-APTOS-OLDEST-BLOCK-HEIGHT     
  integer   format: uint64   
Oldest non-pruned block height of the chain
      X-APTOS-GAS-USED     
  integer   format: uint64   
The cost of the call in terms of gas
                503    
      application/json 
   This is the generic struct we use for all API errors, it contains a string
message and an Aptos API specific error code.
  object        A message describing the error
string 
        These codes provide more granular error information beyond just the HTTP
status code of the response.
string 
Allowed values:  account_not_found     resource_not_found     module_not_found     struct_field_not_found     version_not_found     transaction_not_found     table_item_not_found     block_not_found     state_value_not_found     version_pruned     block_pruned     invalid_input     invalid_transaction_update     sequence_number_too_old     vm_error     rejected_by_filter     health_check_failed     mempool_is_full     internal_error     web_framework_error     bcs_not_supported     api_disabled   
       vm_error_code     
  A code providing VM error details when submitting transactions to the VM
integer   format: uint64   
                         X-APTOS-CHAIN-ID     
  integer   format: uint8   
Chain ID of the current chain
      X-APTOS-LEDGER-VERSION     
  integer   format: uint64   
Current ledger version of the chain
      X-APTOS-LEDGER-OLDEST-VERSION     
  integer   format: uint64   
Oldest non-pruned ledger version of the chain
      X-APTOS-LEDGER-TIMESTAMPUSEC     
  integer   format: uint64   
Current timestamp of the chain
      X-APTOS-EPOCH     
  integer   format: uint64   
Current epoch of the chain
      X-APTOS-BLOCK-HEIGHT     
  integer   format: uint64   
Current block height of the chain
      X-APTOS-OLDEST-BLOCK-HEIGHT     
  integer   format: uint64   
Oldest non-pruned block height of the chain
      X-APTOS-GAS-USED     
  integer   format: uint64   
The cost of the call in terms of gas