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.