force_batch

Call v120 → current #4

Sends multiple calls, ignoring failures entirely.

View calls on chain

Click items to navigate. Pan and zoom to explore.

From Chain Metadata

Send a batch of dispatch calls. Unlike `batch`, it allows errors and won't interrupt. May be called from any origin except `None`. `calls`: The calls to be dispatched from the same origin. The number of call must not exceed the constant: `batched_calls_limit` (available in constant metadata). If origin is root then the calls are dispatch without checking origin filter. (This includes bypassing `frame_system::Config::BaseCallFilter`). ## Complexity O(C) where C is the number of calls to be batched.

Input Parameters

#NameTypeDescription
0
calls
Vec<RuntimeCall> Veccalls (Vec<RuntimeCall>)

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Calls array is not empty
  • Calls count <= batched_calls_limit

Effects

Postconditions

  • All calls attempted regardless of failures

Side Effects

  • Never reverts, even on call failures
  • ItemCompleted/ItemFailed events for each

Code Examples

import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";

const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });

// Build force_batch call
const calls = 0 as any /* Vec<RuntimeCall> */;

const call = api.tx[stringCamelCase("Utility")][stringCamelCase("force_batch")](
  calls
);

On-Chain Activity

Usage Frequency
●●●●●○ Core 1M–10M extrinsics

Primary protocol calls

#19 most used call

Success Rate Near-certain

Over 95% of submissions succeed

As of block 7,429,232

Runtime Info

Pallet Index
11
Call Index
4
First Version
v120
Current Version
v393