Passkey-native smart wallet for Mantle L2. Features ๐ Seedless Authentication - Use device biometrics instead of seed phrases ๐ฑ WebAuthn/FIDO2 - Industry-standard passkey protocol โฝ ERC-4337
๐ Seedless Authentication - Use device biometrics instead of seed phrases
๐ฑ WebAuthn/FIDO2 - Industry-standard passkey protocol
โฝ ERC-4337 Compatible - Account abstraction ready
๐ Multi-Owner Support - Add backup passkeys for recovery
โก Mantle Optimized - Built for low gas costs on Mantle L2
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ User Device โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โ
โ โ Biometric โโโโโถโ Passkey โโโโโถโ Wallet โ โ
โ โ Prompt โ โ (WebAuthn) โ โ SDK โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Sign Transaction
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Mantle L2 โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ MantissaFactoryโโโโโถโ MantissaWallet (Clone) โ โ
โ โ (Deploys Wallets)โ โ โข P-256 Signature Verify โ โ
โ โโโโโโโโโโโโโโโโโโโ โ โข Execute Transactions โ โ
โ โ โข Multi-Owner Support โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Package | Description |
|---|---|
| Solidity smart contracts (Foundry) |
| TypeScript SDK for passkey + wallet integration |
| Next.js demo application |
# Clone the repo
git clone https://github.com/subh/keymantle.git
cd keymantle
# Install dependencies
npm install
# Build all packages
npm run build# Terminal 1: Start local Mantle forkcd packages/contracts
anvil --fork-url https://rpc.sepolia.mantle.xyz
# Terminal 2: Deploy contracts
PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 \
forge script script/Deploy.s.sol --rpc-url http://127.0.0.1:8545 --broadcast
# Terminal 3: Run demo appcd packages/demo
npm run devOpen http://localhost:3000 and click "Create Passkey Wallet"!
The core contracts implement a passkey-authenticated smart wallet:
MantissaWallet.sol - Smart wallet with P-256 signature verification
MantissaFactory.sol - Factory for deploying wallets (CREATE2)
WebAuthnVerifier.sol - On-chain WebAuthn signature verification
See packages/contracts/DEPLOYMENT.md for deployment instructions.
import { MantissaClient } from '@mantlepass/sdk';
// Initialize clientconst client = new MantissaClient({
rpcUrl: 'https://rpc.sepolia.mantle.xyz',
factoryAddress: '0x...',
});
// Create wallet with passkeyconst wallet = await client.createWallet({
name: 'My Wallet',
});
// Sign and send transactionconst txHash = await client.sendTransaction({
to: '0x...',
value: 1000000000000000000n, // 1 MNTdata: '0x',
});Network | Chain ID | Factory Address |
|---|---|---|
Mantle Sepolia | 5003 |
|
Mantle Mainnet | 5000 |
|
Local (Anvil) | 5003 |
|
# Run contract testscd packages/contracts
forge test -vvv
# Run SDK testscd packages/sdk
npm testkeymantle/
โโโ packages/
โ โโโ contracts/ # Solidity contracts
โ โ โโโ src/ # Contract source files
โ โ โโโ test/ # Foundry tests
โ โ โโโ script/ # Deployment scripts
โ โโโ sdk/ # TypeScript SDK
โ โ โโโ src/
โ โ โโโ client/ # MantissaClient
โ โ โโโ webauthn/ # Passkey utilities
โ โ โโโ utils/ # Helpers
โ โโโ demo/ # Next.js demo app
โโโ package.json # Monorepo root
โโโ README.md
# Build everything
npm run build
# Build specific package
npm run build --workspace=packages/sdk
# Run tests
npm testP-256 (secp256r1) - Hardware-backed elliptic curve cryptography
WebAuthn - W3C standard for passwordless authentication
On-chain verification - All signatures verified by smart contracts
No private key exposure - Keys never leave secure hardware
โ ๏ธ Not audited - This is experimental software. Use at your own risk.
Core smart contracts
TypeScript SDK
Demo application
ERC-4337 Bundler integration
Social recovery module
Session keys for dApps
Mobile SDK (React Native)
Hardware wallet backup
Team Bio:
Eric:
Audio Visual Professional with over a decade of history working in the corporate event and film production services. Played a vital role in producing over 420+ corporate events. Strong arts and design professional, skilled in Photography, Adobe Creative Cloud, Autodesk, Microsoft computers, and software. Working capabilities with HTML5, CSS, Java, JavaScript, React. Focused on VR/AR, Blockchain, and game development in Unity and Unreal Engines in my free time.
Shub:
I like building things in Rust,
mostly tools and experiments
that solve problems I face myself. I believe the best way to
learn is by doing, breaking things, and rebuilding them
better.
My PRs are in Surfpool and Scilla.
Ivc:
Over the past few years, I've had the privilege of working with incredible people on projects that pushed boundaries. We've won hackathons, earned grants, and built things people actually use.
But here's what I've learned: the real win isn't the prize money or the recognition. It's finding the right people who stick around after the confetti falls.
I create digital experiences that blend art with technologyโfrom immersive audio-visual pieces to interactive NFTs and Web3 applications. Every project is an opportunity to push creative boundaries and build something meaningful.
We used tools such as Foundry. Got to learn Solidity concepts to integrate the tech with Mantle, used the documentation. Also studied WebAuthn Protocol.