Skip to content
GitHub

Tooling — @monolythium/core-sdk

Testnet

The monolythium/mono-core-sdk repository contains TypeScript and Rust SDK implementations for native Monolythium types, cryptography, addresses, RPC/API clients, and application helpers.

The two languages share protocol concepts, but do not assume their package versions or distribution channels are lockstep.

Artifact Current documented availability
@monolythium/core-sdk Published to npm at 0.6.8
monolythium-core-sdk Source crate under crates/core-sdk/; pin a Git revision or workspace path
Browser-wallet wallet-auth support Included in the v0.4.5 GitHub prerelease; compatible store release pending
Stele commerce plans/economic execution Not released; economic writes remain disabled

This page does not claim a crates.io release. Verify registry provenance before replacing a source pin with any Rust package downloaded under a similar name.

Terminal window
pnpm add --save-exact @monolythium/[email protected]

The package is ESM-first, supports Node 22+, and exposes its main API at @monolythium/core-sdk. Crypto convenience exports also live at @monolythium/core-sdk/crypto.

No Rust dependency snippet is published here because this docs repository does not continuously compile one against a released crates.io artifact. Any source-pinned example remains unreleased and must be tested at an exact audited revision.

TypeScript 0.6.8 exports the canonical wallet-auth contract:

import {
canonicalWalletAuthChallengeJsonV1,
createWalletAuthProofV1,
decodeWalletAuthChallengeV1,
decodeWalletAuthProofV1,
encodeWalletAuthChallengeV1,
encodeWalletAuthNonceV1,
encodeWalletAuthProofV1,
parseWalletAuthChallengeV1,
parseWalletAuthProofV1,
verifyWalletAuthProofV1,
type WalletAuthChallengeV1,
type WalletAuthProofV1,
} from "@monolythium/core-sdk";

The signed WalletAuthChallengeV1 contains canonical domain, origin, URI, address, chain ID, genesis hash, nonce, issue time, expiration time, and scopes. Proofs use ML-DSA-65 and bind the public key back to the typed mono1… address.

verifyWalletAuthProofV1 verifies structure, freshness, signature, and key/address binding. The relying application must still compare the proof with the exact challenge it issued, enforce origin/network/scopes, and atomically consume the nonce before creating a session.

In the browser-wallet source implementation, approving authentication also creates a persistent connected-site grant that can expose the selected address while the wallet is unlocked. Proof expiry, application-session revocation, and wallet connected-site revocation are independent. See Wallet-auth integration and Sign in with Monolythium.

An SDK type is not proof that a backing node feature, wallet release, or product action is available. Public documentation must identify all four:

  1. SDK package and version;
  2. node or application release containing the backing implementation;
  3. network and genesis identity;
  4. activation or deployment status.

In particular, do not document generic commerce encoders/readers, event cursors, RunbookPlanV1, Stele escrow, or agent economic signing as shipped until their owning SDK and protocol work is released and the product gates are enabled.

The SDK is the shared encoding and verification seam used by wallets, Monoscan, the standalone Stele web app, and other Monolythium clients. It does not hold keys on behalf of an application and it does not turn an authentication proof into transaction authority.

For Stele, the live hosted service remains keyless. A future local economic MCP may use SDK signing APIs only with a dedicated encrypted agent wallet and separately released economic policy controls.

Source: monolythium/mono-core-sdk. Licence: Apache-2.0.