Overview
Sardis uses Multi-Party Computation (MPC) to provide non-custodial wallet infrastructure for AI agents. Private keys never exist in a single location—instead, they’re split across multiple independent parties, ensuring that no single entity (including Sardis) can access agent funds.Key Principle: Sardis never has custody of your agent’s private keys. All signing operations happen through distributed MPC protocols with Turnkey or Circle.
Supported MPC Providers
Sardis integrates with two production-grade MPC providers:Turnkey
- Type: Enterprise MPC-as-a-Service
- Key Management: Hardware-backed distributed key generation
- Signing: P-256 ECDSA authentication with API stamps
- Chains: Ethereum, Base, Polygon, Arbitrum, Optimism, Solana
- Use Case: High-security production deployments
Circle Programmable Wallets
- Type: Developer-controlled MPC wallets
- Key Management: Circle’s W3S infrastructure
- Signing: Entity secret encryption
- Chains: Base, Ethereum, Polygon, Arbitrum, Optimism, Solana
- Smart Contract Accounts: Native support for account abstraction
- Use Case: Rapid prototyping, USDC-native applications (free for under 1,000 wallets)
Non-Custodial Architecture
Key Generation
- Distributed Generation: Keys are generated using threshold cryptography
- No Single Point of Failure: Key shares are stored across geographically distributed HSMs
- Zero-Knowledge: Sardis never sees the full private key at any point
Transaction Signing Flow
Policy Validation
Sardis spending policy engine validates the transaction against agent-specific rules
MPC Signing Request
Sardis forwards the unsigned transaction to the MPC provider with authenticated credentials
Distributed Signing
MPC nodes coordinate to generate a signature without reconstructing the private key
Security Guarantees
No Private Key Exposure
Threshold Security
Private keys are split using Shamir’s Secret Sharing—no single party holds enough information to sign
HSM Protection
All key shares are stored in FIPS 140-2 Level 3 Hardware Security Modules
Encrypted Transit
All MPC communication uses TLS 1.3 with mutual authentication
Audit Logs
Every signing operation is logged with cryptographic proofs
Authentication & Authorization
Turnkey: Uses P-256 ECDSA stamps—every API request is signed with your private keyRecovery & Continuity
Key Rotation
Sardis supports scheduled and emergency key rotation:packages/sardis-wallet/src/sardis_wallet/key_rotation.py
Social Recovery
Multi-guardian recovery for lost access:packages/sardis-wallet/src/sardis_wallet/social_recovery.py
Code References
- Turnkey Client:
packages/sardis-wallet/src/sardis_wallet/turnkey_client.py - Circle Client:
packages/sardis-wallet/src/sardis_wallet/circle_client.py - Wallet Manager:
packages/sardis-wallet/src/sardis_wallet/manager.py - Key Rotation:
packages/sardis-wallet/src/sardis_wallet/key_rotation.py - Social Recovery:
packages/sardis-wallet/src/sardis_wallet/social_recovery.py
Production Checklist
Environment Configuration
Environment Configuration
Security Hardening
Security Hardening
- Store MPC credentials in AWS Secrets Manager / HashiCorp Vault
- Rotate API keys every 90 days
- Enable IP allowlisting on MPC provider dashboards
- Set up monitoring for unusual signing activity
- Configure webhooks for key rotation events
Backup Strategy
Backup Strategy
- Export wallet metadata (NOT private keys) to encrypted storage
- Store recovery guardian contact information securely
- Document key rotation procedures
- Test recovery flow in staging environment
Next Steps
Policy Enforcement
Learn how spending policies act as a firewall before MPC signing
Threat Model
Understand attack surfaces and mitigation strategies