schedule

Call v133 → v148, v149 → current #0

Anonymously schedule a call for future execution at a specific block .

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: developersanalytics

The Big Picture

The Scheduler pallet enables time-delayed execution essential for governance and timelocks.

Use Cases

  • Schedule governance actions
  • Automate time-delayed operations
  • Set up recurring tasks

From Chain Metadata

See [`Pallet::schedule`].

Input Parameters

#NameTypeDescription
0
when
u32 BlockNumberFor<T>when: Block number
1
maybe_periodic
Option Option<schedule::Period<BlockNumberFor<T>>>maybe_periodic (Option)
2
priority
u8 schedule::Prioritypriority (u8)
3
call
RuntimeCall Box<<T as Config>::RuntimeCall>call (RuntimeCall)

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Caller has schedule permission
  • Target block in future
  • Agenda has capacity

Effects

Events Emitted

Storage Modified

Postconditions

  • Call added to Agenda
  • Task will execute at specified block

Side Effects

  • Deposit may be reserved
  • If periodic, task will reschedule after execution

Code Examples

// ----------------------------------------------------------------------
// HEADS UP: 1 arg below has a complex type with no usable default.
// Look for `undefined as any` and replace it with real value
// before running — the snippet compiles, but will fail at runtime as-is.
// ----------------------------------------------------------------------
import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Build schedule call (typed, named args)
const when = 0;
const maybe_periodic = undefined;
const priority = 0;
const call = undefined as any /* RuntimeCall — replace with real value */;

const tx = api.tx.Scheduler.schedule({
  when,
  maybe_periodic,
  priority,
  call,
});

Version History

v133 block 1,404,224 4 args
v149 block 3,014,339 4 args Current

Runtime Info

Pallet Index
15
Call Index
0
First Version
v133
Current Version
v411