---
title: "tool si.act.keep_ladder"
description: "its ordered rungs, each a predicate over the population, and the rung that qualifies; the rungs' predicates in full where they are not yet kept: the ladder with its version, not ready while a rung's predicate is not kept or does not compile."
section: reference
address: /reference/tools/si-act-keep_ladder
contract: 0476e35e6e275db5
---

# tool si.act.keep_ladder

its ordered rungs, each a predicate over the population, and the rung that qualifies; the rungs' predicates in full where they are not yet kept: the ladder with its version, not ready while a rung's predicate is not kept or does not compile.

[figure: Over MCP, si.act.keep_ladder takes KeepLadderInput and returns a card whose body is Ladder.]

the ladder with its version, not ready while a rung's predicate is not kept or does not compile. The call needs the act grant at the brand rung.



| | |
|---|---|
| input | [KeepLadderInput](/concepts/keepladderinput) |
| result | a card whose body is [Ladder](/concepts/ladder) |
| read-only | no |
| destructive | yes |
| card address | `ui://scale-intelligence/cards/Ladder` |
| HTTP route | [`/v1/act/keep_ladder`](/reference/act/keep_ladder) |





| field | type | required | note |
|---|---|---|---|
| `ladder` | [Ladder](/concepts/ladder) | yes | the rungs carry their predicates by hash; a rung whose predicate is given in full under `predicates` is kept first |
| `predicates` | [Predicate](/concepts/predicate) | no | the rungs' predicates in full, kept by their hashes before the ladder |
