Encode a timelock schedule transaction for a vault operation

Generates encoded transactions to schedule an operation through the vault's
TimelockController. Supports role management, PDG policy changes, tier changes,
and ERC20 recovery/collection. Returns both the schedule
transaction (submit now) and a pre-computed execute transaction (submit after
the timelock delay). The vault must have a registered timelock.

Path Params
string
required

The unique identifier of the Lido staking contracts

Body Params

Request to encode a timelock schedule transaction. The operation field determines
which fields are required in params.

Supported operations and their required params:

  • grantRoles / revokeRoles: { assignments: [{ role, account, target? }] } — batch role grant/revoke on dashboard, pool, or withdrawal queue. target defaults to "dashboard", can be "pool" or "wq". On pool (STV / STV_STETH) vaults the following roles cannot be granted: NODE_OPERATOR_UNGUARANTEED_DEPOSIT_ROLE, NODE_OPERATOR_PROVE_UNKNOWN_VALIDATOR_ROLE, NODE_OPERATOR_FEE_EXEMPT_ROLE, VOLUNTARY_DISCONNECT_ROLE.
  • setPDGPolicy: { policy: 0 | 1 | 2 } — set the PDG policy on the dashboard (0=STRICT, 1=ALLOW_PROVE, 2=ALLOW_DEPOSIT_AND_PROVE). Policy 2 cannot be set on pool (STV / STV_STETH) vaults.
  • changeTier: { tierId: "...", requestedShareLimit: "..." } — change the vault tier on the dashboard (bigint strings).
  • syncTier: {} — sync the vault tier on the dashboard (no params needed).
  • setFeeRate: { feeRate: "..." } — set the node operator fee rate on the dashboard (basis points as bigint string, max 10000).
  • recoverERC20: { token: "0x...", recipient: "0x...", amount: "..." } — recover ERC20 tokens from the dashboard contract.
  • collectERC20: { token: "0x...", recipient: "0x...", amount: "..." } — collect ERC20 tokens from the staking vault via the dashboard.

string
enum
required

The operation to schedule through the timelock.

params
object
required

Operation-specific parameters. See the operation descriptions above for required fields per operation.

string
^0x[a-fA-F0-9]{40}$

Optional Ethereum address to simulate the schedule transaction from.

Responses

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json