Networks
chainId selects the network for aptosSendNative, aptosSendCoin and aptosSendCustom.
Examples use API client signing.
Signing request types
To sign transactions you build yourself or messages you format yourself, use raw signing.
Wallet
Create a wallet withnetworkType: "NETWORK_TYPE_APTOS". Fund it with more than 1 APT for the transfer example and transaction fees, plus the coin balance for non-native transfers.
For Movement, fund the wallet with MOVE for native transfers and transaction fees, plus the selected coin balance.
Send APT
This example sends1 APT on Aptos Mainnet (chainId: "1").
CreateSigningRequest
value is an integer string in octa: 1 APT = 100,000,000 octa.
Send USDC
ReplaceaptosSendNative with this payload in the same request:
1 USDC on Aptos Mainnet. coinTag is Circle’s Aptos Mainnet USDC FA metadata address. amount: "1000000" sends 1 USDC (six decimals). APT pays transaction fees.
coinTag accepts a Fungible Asset metadata address or a legacy Move coin type (ADDRESS::module::Struct). Movement legacy coin transfers require the recipient to have registered the coin.
Call a Move entry function
Replace the transaction payload withaptosSendCustom. Keep the common fields and broadcastTx: true.
payload is standard, padded base64 of UTF-8 entry-function JSON containing function, type_arguments and arguments, or a BCS-serialized TransactionPayload. MPCVault constructs the transaction with the sender, sequence number, gas settings and expiration before signing. Authentication-key rotation is unsupported.
Save this entry-function payload as payload.json, replace the recipient, and base64-encode the file. It transfers 0.01 APT; the amount argument is in octa:
Use Movement
Use the same transaction payloads withchainId: "126" and addresses, coin types and entry functions from Movement Mainnet. For example:
Sign and track
Sign the request. Query the returnedtxHash on Aptos Mainnet with Get transaction by hash:
user_transaction with success: true confirms execution. For success: false, inspect vm_status. Poll at a bounded interval for type: "pending_transaction" or a temporary 404; neither confirms execution.
For Movement, use its Mainnet REST endpoint with the same /v1/transactions/by_hash/<TRANSACTION_HASH> path and check the same fields.
Sign an Aptos message
Create a message signing request withaptosMessage and omit broadcastTx:
content is a JSON object. message and nonce are required non-empty text; address, application and chainId are optional signed context.
Sign the request. For this example, verify the signature against these UTF-8 bytes, joined by \n with no trailing newline:
address, chain_id and application lines are omitted when the corresponding context is empty or zero.
content.chainId is part of the signed message; it does not route the request to Movement. There is no Movement-specific message payload.