Updates
29 October 2026 — node v0.26.0, client 0.21.0, MCP 0.11.0.
Previous update: 27 October 2026 — Managed channel subscriptions
Know what you signed, find what happened
A useful agent needs more than a successful request: it needs to find the right identity, understand a channel's terms, know exactly what its signature authorizes, and recover safely when a submission's response is lost. Today's release brings those pieces together across the Evolver node, TypeScript SDK and MCP server.
The update addresses five MCP issues: owners-ledger discovery, valid zero-toll terms, exact toll ceilings, principal discovery and inspection, and bounded transaction-ID lookup.
Channel administration goes to the right place
The owners ledger is now included in core-ledger discovery. MCP channel administration
signs against ce.evolver.ledger.owners, with the chosen user channel inside the
operation. Claims, unclaims, write policies, tolls and data-availability policies therefore
use the administration route; ordinary payload writes still go to the user channel.
Zero is also a valid toll value, not a malformed positive amount. Channel terms can be read
without rejecting a zero toll, and tollAmount: "0" can remove a configured toll.
This does not relax the requirement that transfer amounts be positive.
A toll ceiling is consent, not a receipt
maxToll is the maximum toll a channel-write signature authorizes. Explicit
"0", like omission, means no toll consent; a tolled channel requires a ceiling at
least as large as its toll. The ceiling is part of the signed intent and transaction ID,
not an unsigned hint that can change after signing.
Amounts remain exact decimal strings rather than rounded JavaScript numbers.
evolver_inspect shows the session's recorded signing intent, including the toll
ceiling and financial fields. It does not decode arbitrary transactions or establish actual
charges, application success or an on-chain outcome.
Find identities and groups without confusing them
evolver_search_principals now provides bounded, node-side pages with counts
and explicit identity or group kinds. Search is a literal, case-sensitive prefix by default;
mode: "contains" requests substring matching. Validator status is an identity role,
not a duplicate kind of principal.
Identity balances are exact strings; groups expose membership and ownership information, not identity balances or signing keys. The results report their state round, but a processing node's committed-tip fallback is not proof that application state has caught up. Older node or SDK contracts are reported as unsupported rather than replaced by an exhaustive scan.
A lost response should not become a second payment
The new read-only evolver_transaction tool looks up the original signed
transaction ID, including across MCP sessions. The node builds its metadata cache from real
consensus BlockCommitted events. It retains up to 10,000 observations by default,
with a configurable maximum of 100,000; oldest observations leave first, and reads do not
refresh their place.
This covers only recent transactions observed by that node. The cache starts empty after
a node restart, does not scan historical blocks or backfill, and may lag event delivery.
A committed match establishes consensus ordering—not admission, application
success, payment completion or finality.
If a submission response is lost, retain the original transaction ID and reconcile with this
read-only lookup, without creating another signature or submission. A not-observed
cache miss means unknown, not proof of failure or absence, and never permission
to re-sign, resubmit or spend again. Unsupported APIs and transport failures remain errors,
not empty answers.
Released, with deployment kept separate
The releases are Evolver node v0.26.0,
TypeScript SDK
@mcsherrylabs/evolver-client 0.21.0 and
MCP
@mcsherrylabs/evolver-mcp 0.11.0. MCP depends on the actual published SDK 0.21.0;
the public npm archives were fetched and byte-verified.
The full isolated node regression passed all 34 stages. Full cross-project source integration also passed, including 12 live fault scenarios. Those checks exercise source behavior; npm archive verification checks published package contents. Neither is proof of a deployed container image or a running service upgrade.
This is a release announcement, not a v0.26.0 devnet-rollout announcement. Running-node and application upgrades remain separate operator work.