@noble/curves is a secure and audited JavaScript library for elliptic curve cryptography, emphasizing high security, minimal dependencies, and ease of audit.
Built on top is the JAM ElizaOS Plugin - an open-source integration module designed to connect ElizaOS—an AI operating system—with the JAM chain. The plugin provides a standardized set of actions and providers for agents to access on-chain data and interact with primitives such as the PVM, RPC server, and wallets. This project will leverage the Bandersnatch curve for keypair generation, message signing, and verification.
The streamlined design and comprehensive feature set of the noble curves suite make it an ideal choice for enabling AI-agent interactions on JAM.
Paul is the founding developer behind the @noble packages which are used across multiple Web3 ecosystems. He is well known for his contributions via @noble/curves and @noble/hashes, packages directly or indirectly utilized by the majority of modern Web3 protocols, toolings, and platforms. His work includes the highly regarded sr25519 implementation for Polkadot.
The JAM ecosystem currently lacks a robust, TypeScript-based implementation of the Bandersnatch curve and related cryptographic primitives. While @noble packages like ed25519
and sr25519
exist, there is no native implementation for Bandersnatch, message signing, and VRF verification in JavaScript/TypeScript.
This gap presents a challenge for developers and researchers working with JAM nodes, particularly for wallet management, on-chain data interaction, and cryptographic operations. The JAM ElizaOS Plugin addresses these challenges by providing:
We came across the @noble packages while preparing for our JAM integration. Seeing the lack of Bandersnatch support, we initiated this collaboration with Paul to build the JAM ElizaOS Plugin.
In this process, the Esscrypt (or contributors) will handle coordination, documentation, and reporting. Esscrypt and its Founder Mihail will handle all M2 deliverables.