DApp developer Offline
About the role
A DApp lives or dies on what happens when a transaction goes wrong. That's where we want your attention.
You'd build the interfaces between users and our contracts: wallet connection, signing, and the status and error states around every on-chain action. A rejected transaction, the wrong network, a contract that isn't deployed yet, a call that's guaranteed to revert and should have been caught before the user paid gas, all of that is the actual job, not an edge case to hand-wave.
Expect React and TypeScript with viem or wagmi, plus a healthy instinct for which values should never be trusted from the client. If you've shipped a production DApp and carry a few scars from transaction UX, we'd like to talk.
Responsibilities
Build decentralized application interfaces that connect wallets and call smart contracts
Implement mint, sign, approve, and transaction flows with clear status and error states
Handle failure modes: rejected transactions, wrong network, undeployed contracts, and reverts
Read onchain state to validate actions before users pay gas
Integrate contract reads and writes using viem, wagmi, or ethers.js
Collaborate with contract engineers on integration and trust boundaries
Required skills
4+ years of frontend development experience, including production DApps
Strong TypeScript and React skills with EVM wallet integration experience
Deep understanding of transaction lifecycles, gas, and common failure modes
Judgment about client-side trust and onchain verification
Attention to transaction UX and error handling
Preferred skills
Experience with account abstraction, WalletConnect, or multi-chain apps
Familiarity with EAS, signatures, or verifiable credentials
Contributions to open-source Web3 tooling