News & Articles

July 30, 2026

A new version of the SnapshotEngine for CMTAT (v0.5.0)


We are pleased to share the release of SnapshotEngine v0.5.0, the smart contract that brings on-chain snapshots to CMTAT-based tokens. This version builds on the previous release (v0.4.0) and incorporates a number of improvements.

Beyond the announcement itself, we wanted to take this opportunity to explain what a snapshot actually is, why it matters for tokenized securities, and how it fits into the wider CMTAT framework.

What is the SnapshotEngine?

The SnapshotEngine is a smart contract system designed to perform on-chain snapshots, making it easier to distribute dividends, interest payments or other entitlements directly on-chain. While it was built with CMTAT in mind, it is designed to work with any standard ERC-20 token.

A snapshot is simply a record of how many tokens were held by each address on the ledger at a specific point in time. That record can then be used as the basis for on-chain (or off-chain) transactions, without having to halt trading or freeze balances to take an accurate count.

Why snapshots matter for tokenized securities

When a company or fund carries out a corporate action (for example paying a dividend, distributing interest on a bond, or allocating rights to holders) it first needs to know who owned the security, and how much, at the relevant moment.

In traditional markets, this moment is known as the record date (or record time): the cut-off used to determine which holders are eligible for a given corporate action. Establishing it reliably is essential, because for an actively traded security, ownership at the time the action is executed (when the dividend is actually paid) can differ from ownership at the time the holder's rights arise (when the dividend becomes due). In traditional markets, settlement is typically T+1 or T+2. Whilst tokenization can reduce settlement time significantly, there could always be a difference. To avoid potential discrepancies, the snapshot captures the state of the ledger at a predetermined record time guaranteeing that each eligible token holder benefits correctly from a given corporate action.

In the CMTAT framework, the snapshot is defined as an optional functionality. It is not required for every token, but it becomes valuable wherever distributions, interest payments, or holder rights need to be tied to a precise moment in time.

How it works

The SnapshotEngine gives an issuer a clear set of controls over the snapshot lifecycle:

  • Schedule a snapshot. For a given token, the issuer can schedule a snapshot to be created at a chosen future time. The scheduled time must be in the future (it cannot be set in the past) and cannot fall before the latest already-scheduled (but not yet created) snapshot.
  • Reschedule a snapshot. The issuer can move a scheduled snapshot to a different time, provided the new time does not fall before the previous scheduled snapshot or after the next one. In other words, scheduled snapshots cannot be reordered.
  • Unschedule a snapshot. The issuer can cancel a previously scheduled snapshot, as long as it is the last one in the queue and its time is still in the future.
  • Read the snapshot times. Anyone can look up the scheduled time of pending snapshots and the times of those already created.
  • Read the total supply. For any created snapshot, anyone can see the total number of tokens that were in circulation at the snapshot time.
  • Read an individual balance. For any created snapshot and any ledger address, anyone can see how many tokens that address held at the snapshot time — individually or in batch, for efficient processing of many holders at once.

Flexible by design

One of the strengths of the SnapshotEngine is that it can be adopted in the way that best suits a given deployment. It can be used as an external engine bound to a token or the snapshot logic can be integrated directly into the token contract. To bind the SnapshotEngine, a token only needs to expose two standard ERC-20 functions (balanceOf and totalSupply), which is why it works not just with CMTAT but with standard ERC-20 tokens generally. The codebase is modular, so integrators can use or extend only the components they need.

A note on audit status

The SnapshotEngine is not yet audited. While its design follows recommendations made by ABDK during the audit of CMTAT v1.0.0 and the codebase has been run through Nethermind's AI AuditAgent tool and static-analysis tooling, anyone intending to use it in production should perform their own verification first. Questions can be directed to the CMTA secretariat at admin@cmta.ch.

Where this fits in the real world

CMTAT is already being used across the Swiss and international tokenization ecosystem, which makes tools for implementing corporate actions increasingly important.

The most direct illustration of what snapshots make possible is a prototype published by Taurus showing how to pay equity dividends on-chain using CMTAT. In that design, dividends are deposited in an escrow contract — the open-source CMTAT IncomeVault — and token holders claim their share directly, with each holder's entitlement calculated from their recorded balance at the relevant snapshot.

Acknowledgements

We would like to thank Dominik Bepple and Samuel Bisig (BX Digital / Seturion), as well as the CMTA Tech Committee, for their valuable feedback, and Ryan Sauge (Taurus) for the development of this release.

The SnapshotEngine, like the rest of the CMTAT framework, is open source and available through the CMTA GitHub account under the Mozilla Public License 2.0. We welcome comments and contributions from the community.

Links:

https://github.com/CMTA/SnapshotEngine