force_batch
Call v120 → current #4Sends multiple calls, ignoring failures entirely.
View calls on chainCall Workflow
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
| # | Name | Type | Description |
|---|---|---|---|
| 0 | calls | Vec<RuntimeCall> Vec | calls (Vec<RuntimeCall>) |
Permissions
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
Primary protocol calls
#19 most used call
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