Skip to main content

author_submitExtrinsic - JSON-RPC Method

Description#

Submits a signed, SCALE-encoded extrinsic to the Acala network for broadcast and inclusion in an upcoming block. This is the standard method for executing transactions on Acala, including token transfers, DeFi operations, governance votes, and smart contract interactions. The method performs immediate validation and adds the extrinsic to the transaction pool if valid, where it awaits selection by validators for block inclusion. This is a "fire and forget" approach that returns immediately after submission without providing status updates.

Request Example#

curl -s https://api-acala.n.dwellir.com/YOUR_API_KEY \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"author_submitExtrinsic","params":["0x450284..."]}'

Parameters#

ParameterTypeDescription
extrinsicstringSCALE-encoded signed extrinsic in hexadecimal format, including signature and all call data

Response Format#

Returns the extrinsic hash (32-byte Blake2 hash) as a hexadecimal string on successful submission. This hash serves as the unique identifier for tracking the transaction and can be used to query its status or locate it once included in a block.

Validation Process#

The node performs several validation checks before accepting the extrinsic:

  • Signature Verification: Ensures the extrinsic is properly signed by the claimed sender
  • Nonce Validation: Confirms the nonce is correct for the sender's account
  • Balance Check: Verifies sufficient balance for fees and operation costs
  • Call Validity: Checks that the call format and parameters are valid
  • Runtime Rules: Applies any runtime-specific validation logic

Failed validation results in an error response without pool inclusion.

Use Cases#

  • Token Transfers: Send ACA or other tokens to recipients on the network
  • DeFi Operations: Execute swaps, provide liquidity, or manage lending positions
  • Staking: Delegate tokens or manage validator nominations
  • Governance: Submit proposals or cast votes on network decisions
  • Batch Transactions: Execute multiple operations atomically in a single extrinsic

Best Practices#

Always construct extrinsics using proper Substrate client libraries (Polkadot.js API, SubXT, etc.) to ensure correct SCALE encoding and signature generation. Never attempt to manually construct the hexadecimal format. After submission, use the returned hash with block monitoring to verify inclusion. Consider using author_submitAndWatchExtrinsic for applications requiring real-time status feedback.

Common Errors#

  • Invalid Transaction: Signature, nonce, or balance issues
  • Pool Too Full: Transaction pool at capacity during high network activity
  • Priority Too Low: Transaction fee insufficient for current network congestion