Software Engineer - Wallets
Design and lead secure, scalable wallet infrastructure spanning custody, key management, signing, authorization, and recovery. The role requires deep expertise in wallet or cryptographic security infrastructure, distributed systems architecture, and modern blockchain account models.
About the job
Responsibilities
- Own the architecture of wallet infrastructure for custody, key management, transaction signing, authorization, and recovery.
- Design flexible signing infrastructure supporting MPC, HSMs, secure enclaves, TEEs, and emerging cryptographic approaches.
- Build and evolve wallet systems across EOAs, smart contract wallets, account abstraction, ERC-4337, embedded wallets, and multichain infrastructure.
- Define boundaries between cryptography and wallet orchestration, including keys, signing authority, transaction policies, permissions, and authorization.
- Architect key management systems for key generation, distributed key generation, storage, rotation, backup, recovery, and hardware-backed isolation.
- Build highly available signing and transaction infrastructure for high-value customer assets with reliable developer APIs.
- Set technical direction for wallet security, threat modeling, policy engines, secrets management, account recovery, authentication, and programmable authorization.
- Make build-versus-buy decisions across cryptography, custody, wallet, and security infrastructure.
Requirements
- Deep expertise in wallet, custody, cryptography, or security infrastructure, with strong distributed systems and architecture fundamentals.
- Experience designing or building production wallet, custody, signing, or key management systems securing high-value assets.
- Strong knowledge of applied cryptography, including MPC, threshold cryptography, threshold signatures, distributed key generation, ECDSA, EdDSA, or secure multiparty computation.
- Experience with HSMs, secure enclaves, TEEs, confidential computing, hardware-backed key isolation, or similar security-critical infrastructure.
- Strong understanding of modern wallet and blockchain account architecture, including EOAs, smart contract wallets, account abstraction, ERC-4337, transaction orchestration, and multichain systems.
- Experience designing authentication, authorization, policy, permissions, recovery, or secrets-management systems where security and correctness are critical.
- Track record of making architectural decisions in complex distributed systems while balancing security, reliability, developer experience, and extensibility.
- Ability to communicate technical tradeoffs and own architecture from first principles through production.
Compensation and Benefits
- Salary: $220,000–$270,000 annually.
- Unlimited time off, with a minimum of 10 days taken annually.
- Flexible work arrangements and a home-office setup stipend.
- US health, dental, and vision coverage, plus company-subsidized life insurance.
- 401(k) with a 4% company match.
- Equity option plan.
- Monthly health and wellness stipend.
- In-office meals and team/company summits.
Skills
Mpc, Hsms, Secure Enclaves, Tees, Confidential Computing, Threshold Cryptography, Ecdsa, Eddsa, Distributed Key Generation, Account Abstraction, Erc-4337, Smart Contract Wallets, Multichain Systems, Distributed Systems, Secrets Management
Similar jobs
Backend Engineering jobsBuild and scale distributed backend systems powering Perplexity’s realtime voice and multimodal AI experiences. The role requires 4+ years of backend or distributed-systems experience and strong Rust, Python, or Go skills, with opportunities to work across SDKs, infrastructure, models, and agent orchestration.
Build foundational backend and data systems that detect, track, and enforce against harm and abuse on AI platforms. The role requires at least five years of software engineering experience, trust and safety expertise, and strong cross-functional collaboration skills.
Build foundational infrastructure platforms and operational tooling for global data center operations, including CMDB, DCIM, asset management, automation, and observability systems. Requires 3+ years of production software development experience and strong Python or Go skills.
Develop and improve Ray Core’s C++ distributed-systems backend, focusing on performance, reliability, fault tolerance, and scalability. The role requires at least five years of experience with distributed systems, C/C++, low-level operating systems, algorithms, and system design.
Build and operate backend and financial infrastructure supporting pricing, payments, billing, subscriptions, entitlements, and invoicing. The role requires 5+ years of software engineering experience with distributed systems, transactional workflows, and highly reliable, auditable platforms.