# Canton Ledger Pruning

**URL:** <https://forum.canton.network/t/canton-ledger-pruning/4031>\
**Category:** App Development\
**Tags:** canton\
**Created:** [March 1, 2022, 7:41am UTC](https://forum.canton.network/t/canton-ledger-pruning/4031 "2022-03-01T07:41:32Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![meet](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/meet/32/198_2.png) [@meet](https://forum.canton.network/u/meet)\
**Post date:** [March 1, 2022, 7:41am UTC](https://forum.canton.network/t/canton-ledger-pruning/4031/1 "2022-03-01T07:41:32Z")

</div>

I see the command reference for ledger pruning [here](https://www.canton.io/docs/stable/user-manual/usermanual/console.html#ledger-pruning).

But where can I read details about the Pruning Service, details on the pruning process and how it works on Canton? Apologies if I’ve missed it, but couldn’t seem to find it in the [Canton Admin APIs](https://www.canton.io/docs/stable/user-manual/usermanual/administration.html#) or the [Operations Processes](https://www.canton.io/docs/stable/user-manual/usermanual/operational_processes.html#) sections.

---

<div class="post-metadata">

**Author:** ![bernhard](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/bernhard/32/356_2.png) [@bernhard](https://forum.canton.network/u/bernhard)\
**Post date:** [March 1, 2022, 2:12pm UTC](https://forum.canton.network/t/canton-ledger-pruning/4031/2 "2022-03-01T14:12:01Z")

</div>

Daml participant pruning is not Canton-specific and documented [here](https://docs.daml.com/ops/index.html).  
[Pruning API docs](https://docs.daml.com/app-dev/grpc/proto-docs.html#com-daml-ledger-api-v1-admin-participantpruningservice) are linked from there.

---

<div class="post-metadata">

**Author:** ![Ratko\_Veprek](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/ratko_veprek/32/206_2.png) [@Ratko\_Veprek](https://forum.canton.network/u/Ratko_Veprek)\
**Post date:** [March 1, 2022, 3:16pm UTC](https://forum.canton.network/t/canton-ledger-pruning/4031/3 "2022-03-01T15:16:56Z")

</div>

@bernhard’s answer is correct. However, there are some Canton specific details documented in the Canton subset of the documentation. These have not yet been published with a stable release and are right now available in the `dev` preview documentation: [Operational Processes — Canton 2.0.0-SNAPSHOT documentation](https://www.canton.io/docs/dev/user-manual/usermanual/operational_processes.html#ledger-pruning)

---

<div class="post-metadata">

**Author:** ![fabio.tudone](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/fabio.tudone/32/3264_2.png) [@fabio.tudone](https://forum.canton.network/u/fabio.tudone)\
**Post date:** [April 8, 2022, 6:58am UTC](https://forum.canton.network/t/canton-ledger-pruning/4031/4 "2022-04-08T06:58:25Z")

</div>

What happens if a sequencer is attempted to be pruned at a later point than a participant has caught up? Are there mechanisms to prevent that or must there be an agreed upon minimum participant availability? And how can a participant be recovered if it doesn’t comply?

---

<div class="post-metadata">

**Author:** ![MatthiasSchmalz](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/matthiasschmalz/32/243_2.png) [@MatthiasSchmalz](https://forum.canton.network/u/MatthiasSchmalz)\
**Post date:** [April 8, 2022, 7:17am UTC](https://forum.canton.network/t/canton-ledger-pruning/4031/5 "2022-04-08T07:17:59Z")

</div>

I think this is already answered here:  
[https://www.canton.io/docs/dev/user-manual/usermanual/console.html#sequencer-pruning-prune-1](https://www.canton.io/docs/dev/user-manual/usermanual/console.html#sequencer-pruning-prune-1)

I.e., by default the prune command will only prune events that have been read and acknowledged by all recipients. There are also variants of the prune command that allow you to forcefully prune a sequencer.

If you forcefully prune a sequencer and you happen to prune “too much” some participants will permanently be unable to connect to the sequencer.
