For the complete documentation index, see llms.txt. This page is also available as Markdown.

author_submitAndWatchExtrinsic - Bittensor

Example code for the author_submitAndWatchExtrinsic JSON-RPC method. Complete guide on how to use author_submitAndWatchExtrinsic JSON-RPC in GetBlock Web3 documentation.

Submits a signed extrinsic and watches it through inclusion and finalization. Returns a subscription ID; status updates (ready, inBlock, finalized, etc.) arrive as separate WebSocket messages.

Substrate native JSON-RPC method. Call against a GetBlock endpoint configured for the Substrate interface. For typed SDK access, use Polkadot.js (TypeScript) or substrateinterface (Python).

Parameters

Parameter
Type
Required
Description

extrinsic

string

Yes

Hex-encoded SCALE-serialized signed extrinsic

Request Example

# WebSocket-only method. Use wscat (or similar) to connect first:
wscat -c 'wss://go.getblock.io/<ACCESS-TOKEN>/'

# Then send:
{"jsonrpc": "2.0", "method": "author_submitAndWatchExtrinsic", "params": ["0x4502840022df56fa4a52f1eb96d4f1a9cdfb4cfbe5e7eb4..."], "id": "getblock.io"}
import WebSocket from 'ws';

const ws = new WebSocket('wss://go.getblock.io/<ACCESS-TOKEN>/');

ws.on('open', () => {
    ws.send(JSON.stringify({
    "jsonrpc": "2.0",
    "method": "author_submitAndWatchExtrinsic",
    "params": [
        "0x4502840022df56fa4a52f1eb96d4f1a9cdfb4cfbe5e7eb4..."
    ],
    "id": "getblock.io"
}));
});

ws.on('message', (data) => {
    console.log(JSON.parse(data.toString()));
});

Response Example

{
    "jsonrpc": "2.0",
    "id": "getblock.io",
    "result": "B5cD6eF7gH8iJ9kL0m"
}

Response Parameters

Field
Type
Description

result

string

Subscription ID — incoming notifications carry status transitions

Use Cases

  • Wallet UIs showing real-time transaction progress (pending → inBlock → finalized)

  • Server-side relayers that need to confirm extrinsic outcomes

  • Replacing inefficient polling for receipts

Error Handling

Status Code
Error Message
Cause

403

Forbidden

Missing or invalid <ACCESS-TOKEN>

-32602

Invalid params

Request parameters are missing or malformed

-32601

Method not found

Method does not exist on this interface — check whether you're calling a Substrate method on an EVM endpoint or vice versa

-32603

Internal error

Server-side error while processing the request

429

Too Many Requests

Rate limit exceeded for your plan

SDK Integration

Last updated

Was this helpful?