PROPELOO

WEB3 / DECENTRALIZED PRODUCTS

Build products where users own what they interact with.

PROPELOO engineers Web3 products — from dApp architecture and wallet integration to token systems, smart contract interaction layers and the account abstraction infrastructure that makes decentralised products usable by people who don't understand blockchains.

The hardest part of Web3 development is not the blockchain. It is building products that work for people who don't understand blockchains.

Web3 products have all the complexity of Web2 products plus the irreversibility of financial transactions. Users can permanently lose assets through bad UX. Wallet connection flows, transaction confirmation UX, failed transaction error handling, gas estimation under load — each requires different engineering thinking. PROPELOO designs Web3 products with the same product discipline as consumer software, because that's what users hold you to.

What sits underneath a production Web3 product.

A Web3 product is not a smart contract wrapped in a React app. It is a full product stack with blockchain-specific complexity at every layer.

System Layers

  • Frontend / dApp Layer: React/Next.js frontend, wallet connection UX, transaction signing flows, real-time on-chain state, error handling
  • Web3 Integration Layer: ethers.js / viem, contract ABIs, event listeners, transaction management, gas estimation, multicall optimisation
  • Smart Contract Layer: Business logic contracts, access control, upgrade patterns, proxy architecture, on-chain state management
  • Indexing & Data Layer: The Graph subgraphs, custom indexers, event stream processing, off-chain data storage, real-time WebSocket feeds
  • Wallet & Identity Layer: WalletConnect v2, ERC-4337 smart accounts, social login, gasless transactions, session keys, multi-sig integration

Core Technical Capabilities

  • dApp Architecture & Development

    Full-stack decentralised application development — React/Next.js frontend, Web3 integration layer, contract interaction, real-time on-chain data and performance-optimised multi-call patterns.

  • Wallet Integration & ERC-4337

    WalletConnect v2 integration for broad wallet support, ERC-4337 account abstraction for smart contract wallets, social login embedded wallets, session keys and gasless transaction infrastructure.

  • Token System Design

    ERC-20 / ERC-721 / ERC-1155 token integration, token-gated access, staking mechanics, vesting displays, governance participation UI and token distribution dashboards.

  • Smart Contract Integration Layer

    Type-safe contract interaction with viem/ethers.js, ABI management, contract event listeners, transaction lifecycle management and error state handling for all failure modes.

  • Web3 Authentication & Identity

    SIWE (Sign-In with Ethereum) authentication, ENS name resolution, did:ethr identity, cross-chain identity management and wallet-based session management.

  • Cross-chain Architecture

    Multi-chain product support, chain switching UX, cross-chain bridge integration, unified portfolio views across chains and chain-specific optimisation for gas and UX.

How we think about Web3 product development.

Web3 products have all the complexity of Web2 products plus the irreversibility of financial transactions. That combination requires a different approach to design and testing.

  • Users do not think about blockchains

    A Web3 product that requires users to understand gas, confirmations and transaction hashes has failed at UX design. Account abstraction, gasless transactions and clear transaction status are engineering requirements, not polish.

    Axiom:

  • Failed transactions are product failures

    A failed Ethereum transaction still costs gas. A failed transaction with no clear explanation destroys user trust. Every failure mode — insufficient gas, slippage exceeded, contract reverted — must have a specific, actionable error state in the UI.

    Axiom:

  • On-chain is permanent

    Contract deployments and transactions on mainnet are immutable. Design and testing on testnet must be exhaustive. Edge cases that appear in production cannot be patched — only worked around.

    Axiom:

  • UX governs adoption

    Web3 products compete for mainstream adoption against Web2 alternatives. Every extra click, every unexplained approval request, every wallet pop-up without context is an adoption barrier. UX testing is not optional.

    Axiom:

The decisions that define a Web3 product.

These choices determine the user experience, the technical constraints and the security model. Most affect every layer of the system.

  • EVM vs Solana vs Cosmos

    Impact: Chain selection determines the wallet ecosystem, developer tooling, gas economics and available DeFi/NFT integrations. Migrating a live product is effectively a rebuild.

    • EVM (Ethereum/Arbitrum/Base/Polygon) — largest ecosystem, Solidity, familiar tooling, broad wallet support
    • Solana — high throughput, low fees, different programming model, Rust contracts, different wallet ecosystem
    • Cosmos — app-specific chains, IBC interoperability, full sovereignty, highest build complexity
  • On-chain vs off-chain data balance

    Impact: On-chain data is expensive to store and slow to query. Product features that require fast reads must use an indexing layer — The Graph or custom indexer.

    • Maximum on-chain — trustless, expensive, slow queries
    • Hybrid — ownership and settlement on-chain, product data off-chain with indexing
    • Minimal on-chain — only final settlement, all product logic off-chain
  • EOA vs account abstraction (ERC-4337)

    Impact: Account abstraction enables consumer-grade UX but requires a paymaster for gas sponsorship and bundler infrastructure. The consumer experience improvement justifies the engineering cost for most products targeting mainstream adoption.

    • EOA wallets — universal compatibility, requires ETH for gas, no programmable logic
    • ERC-4337 smart accounts — gasless, session keys, social recovery, batch transactions, higher deployment cost
    • Hybrid — EOA for existing users, smart accounts for new onboarding
  • Custodial vs non-custodial UX

    Impact: Custodial wallets require regulatory compliance in most jurisdictions. Non-custodial wallets require users to manage keys. Account abstraction with social recovery is increasingly the right answer for consumer products.

    • Non-custodial — user controls keys, maximum trustlessness, higher UX friction
    • Embedded custodial wallet — seamless UX, company controls keys, limits Web3 trust properties
    • MPC-based embedded — user experience of custodial with security of non-custodial, higher engineering cost
  • L1 vs L2 deployment

    Impact: Gas cost determines whether your product is usable. A product where each interaction costs $20 gas has a hard ceiling on adoption. L2 is the right default for most new products.

    • Ethereum L1 — maximum security, $5-200 per transaction, widest ecosystem
    • Arbitrum / Base / Optimism — 10-100x cheaper, Ethereum security, growing ecosystem
    • Polygon PoS — EVM compatible, very low fees, different trust model
    • App-specific L3 (using OP Stack or zkStack) — custom fees, own sequencer, isolated environment
  • Gasless (paymaster) vs user-pays gas

    Impact: Gas sponsorship is a significant ongoing cost. Must be scoped to specific actions with daily limits per user to prevent exploitation. Critical for consumer products targeting non-crypto-native users.

    • User pays gas — simple, requires users to hold native token, adoption friction
    • Paymaster-sponsored gas (ERC-4337) — seamless UX, platform subsidises gas, requires cost management
    • Gas rebate post-transaction — middle ground, still requires ETH upfront

What Web3 product development becomes.

  • DeFi Application Frontend

    dApp interface for AMM, lending or yield protocol — real-time pool data, transaction flows, portfolio dashboard, gas optimisation and mobile-responsive wallet connection.

  • NFT Platform

    NFT minting, gallery, marketplace and holder portal — wallet-gated access, reveal mechanics, trait filtering, royalty display and secondary sale integration.

  • DAO Interface & Governance

    Governance portal with proposal creation, on-chain voting, treasury visibility, delegation management and historical governance analytics.

  • GameFi Product

    Web3 game frontend with wallet-based item ownership, in-game token economy, marketplace integration, play session authentication and mobile-optimised dApp UX.

  • Social / Creator Platform

    Token-gated content, on-chain subscription mechanics, creator token launch infrastructure, holder benefits management and social identity via ENS or SIWE.

  • Enterprise Blockchain Interface

    Enterprise dApp for supply chain, provenance tracking or private blockchain interaction — with SSO integration, role-based access and audit-ready transaction logging.

The Web3 product stack.

Web3 product engineering combines standard frontend tooling with blockchain-specific infrastructure at every layer.

  • Frontend

    Stack: React, Next.js, TypeScript, TailwindCSS, Wagmi, RainbowKit

  • Web3 Integration

    Stack: viem, ethers.js, Wagmi Hooks, WalletConnect v2, MetaMask SDK, Privy / Dynamic

  • Account Abstraction

    Stack: ERC-4337 (AA), Alchemy Account Kit, Biconomy, ZeroDev, Paymasters, Bundlers

  • Indexing & Data

    Stack: The Graph, Custom Subgraphs, Moralis, Alchemy NFT API, PostgreSQL, Redis

  • Smart Contracts

    Stack: Solidity, Hardhat, Foundry, OpenZeppelin, Tenderly, Etherscan Verification

  • Infrastructure

    Stack: AWS / Vercel, Alchemy / Infura, IPFS / Arweave, Datadog, Docker, CI/CD Pipelines

Web3 product security combines smart contract risk with consumer application attack surfaces.

Web3 users hold real assets in wallets connected to your product. The security responsibility extends beyond the application layer.

  • Wallet Draining via Approvals

    Unlimited ERC-20 approvals allow malicious contracts to drain wallets at any future time. Transaction simulation before signing, approval revocation tooling, default limited approvals and clear UI disclosure of approval scope protect users.

  • Phishing & Blind Signing

    Users signing transaction payloads they cannot read are the primary Web3 exploit vector. Human-readable transaction simulation, domain verification (EIP-4361), clear display of all approval parameters and warning prompts for unusual requests are required.

  • Frontend Injection Attacks

    Compromised CDN assets or injected scripts can replace wallet addresses in transaction payloads. Subresource integrity (SRI) checks, Content Security Policy headers, self-hosted critical assets and frontend monitoring for unexpected script loading are required defences.

  • Oracle & Price Feed Dependency

    dApps that display or act on price data must source it from manipulation-resistant feeds. A dApp that executes trades based on a manipulable price feed inherits the oracle manipulation risk of the underlying protocol.

  • Smart Contract Interaction Security

    Every contract interaction from the frontend must validate input parameters, handle all revert cases with specific error messages, enforce slippage and deadline parameters, and never trust user-supplied contract addresses.

  • Consumer Key Management Risks

    Users connecting wallets containing significant assets are phishing targets. Fake wallet popups, signature request spoofing and session hijacking are active attack vectors against Web3 products. Security headers, domain verification and anomalous session detection protect users.

From Web3 product concept to mainnet launch.

  1. 01. Technical Discovery

    Chain selection, wallet UX strategy, account abstraction decision, on-chain vs off-chain boundary design and smart contract integration specification.

  2. 02. Architecture & Design

    System architecture, data model, indexing strategy, contract integration layer design, wallet connection flow design and transaction state machine specification.

  3. 03. Contract Development

    Smart contract development with Foundry, full test coverage, security review and testnet deployment before frontend integration begins.

  4. 04. dApp Engineering

    Frontend + Web3 integration development — wallet connection, contract interaction, real-time data, transaction flows and error states.

  5. 05. Testing & Security Review

    End-to-end user flow testing on testnet, contract security review, frontend security audit, wallet UX testing and approval flow review.

  6. 06. Audit & Mainnet Prep

    Third-party smart contract audit (if applicable), frontend security review, mainnet deployment scripts, monitoring configuration and go-live checklist.

  7. 07. Launch & Iteration

    Staged mainnet launch, real-time monitoring, on-chain event alerting, post-launch UX analysis and feature velocity roadmap.

Web3 products we have shipped to production.

Three Web3 applications with real on-chain users and transaction volume.

  • Yield aggregator protocol routing $32M TVL across 6 DeFi strategies

    Challenge: DeFi fund manager needed a yield aggregator where depositors get auto-optimised yield — the protocol routes deposits to the highest-yielding strategy across Aave, Compound, Curve, and Lido, rebalancing automatically as rates change.

    Architecture: ERC-4626 vault, strategy registry for pluggable yield sources, Chainlink automation for rebalancing triggers, harvest bot claiming and reinvesting rewards, governance contract for strategy whitelisting.

    Outcome: $32M TVL at peak, average APY 8.4% vs 5.1% for single-protocol deposit, 3 security audits with no critical findings, 99.9% uptime.

  • Creator-owned NFT marketplace with on-chain royalties and lazy minting

    Challenge: Creator platform needed an NFT marketplace where artists retain on-chain royalties on secondary sales, can mint without gas cost (lazy minting), and buyers get provable authenticity from the creator platform.

    Architecture: ERC-721 with ERC-2981 royalties, lazy minting with signed vouchers redeemed at first purchase, IPFS metadata pinning, secondary marketplace with royalty enforcement via smart contract, creator dashboard.

    Outcome: 12,000 NFTs minted, £800K creator earnings distributed, 95% royalty compliance rate on secondary sales, 0 gas cost for creators.

  • On-chain governance platform for a 40,000-member DAO with quadratic voting

    Challenge: DAO with 40,000 token holders needed an on-chain governance platform — proposal creation, quadratic voting to reduce whale dominance, timelock execution, delegation, and Snapshot off-chain signalling for gas-free polling.

    Architecture: OpenZeppelin Governor with quadratic voting extension, timelock controller for execution delay, ERC20Votes token for snapshot-based voting power, Snapshot integration for off-chain polls, proposal archive with The Graph.

    Outcome: 40,000 eligible voters, 68% average proposal participation (vs 12% industry average), 0 governance attacks, 3 major protocol upgrades executed via governance.

Frequently Asked Questions

Should we build on EVM or Solana?

Build on EVM (Ethereum, Arbitrum, Base, Polygon) if: you need maximum wallet ecosystem compatibility (MetaMask, WalletConnect support every EVM chain), you are integrating with existing DeFi protocols, or your team has Solidity experience. Build on Solana if: you need very high throughput at very low cost, your product requires sub-second confirmation times, or you are targeting a Solana-native user community. The decision should follow where your target users and liquidity already exist.

What is account abstraction and should we use it?

Account abstraction (ERC-4337) replaces standard Ethereum accounts (EOAs) with smart contract wallets. This enables: gasless transactions (paymaster sponsors gas), session keys (users approve once, execute many), social recovery (recover wallet via email or guardians), batch transactions and custom security rules. For consumer-facing products targeting non-crypto-native users, account abstraction is increasingly the correct default. It adds engineering complexity but dramatically improves the onboarding experience.

How do we handle users who lose their wallet or private key?

For EOA wallets: private key loss means permanent loss of access — there is no recovery. This is why consumer Web3 products should use account abstraction with social recovery built in. ERC-4337 smart accounts support guardian-based recovery (email, other trusted wallets) and can be designed with time-locked recovery to prevent theft. Embedded wallet providers (Privy, Dynamic) add email-linked key backup. This decision must be made at architecture time — recovery mechanisms cannot be added to deployed EOA wallets.

How do we make Web3 transactions gasless for users?

Gasless transactions require ERC-4337 account abstraction with a paymaster. The paymaster is a smart contract that sponsors gas fees for whitelisted transaction types. Implementation: deploy a paymaster (or use a managed one from Alchemy, Biconomy, ZeroDev), fund it with ETH, whitelist the transaction types you want to sponsor, implement per-user daily limits to prevent exploitation. The cost of gas sponsorship must be factored into your unit economics — typically $0.01-0.20 per transaction on L2s.

What is the best way to connect wallets in a Web3 product?

WalletConnect v2 (via RainbowKit or ConnectKit) provides the broadest wallet compatibility for both desktop and mobile — supporting MetaMask, Coinbase Wallet, Trust Wallet and hundreds more. For embedded wallet experiences without browser extensions, Privy or Dynamic provide social login + embedded wallet for new users. The architecture should support both: WalletConnect for power users with existing wallets, embedded wallet for new users onboarding without prior crypto experience.

How do you query on-chain data fast enough for a good UX?

Direct RPC calls for every piece of on-chain data produce slow, expensive dApps. Production Web3 apps use: The Graph subgraphs for historical indexed data (millisecond query times), Alchemy/Moralis APIs for NFT and token data, WebSocket subscriptions for real-time event updates and multicall contracts for batching multiple reads into one RPC call. The indexing strategy must be designed before frontend development — retrofitting an indexer changes the data model and every query that depended on it.

How do we handle transaction failures gracefully?

Every transaction can fail: insufficient gas, slippage exceeded, contract reverted with a specific error, network congestion, wallet rejection. Each failure mode requires a specific UI state with an actionable explanation. Implementation: simulate transactions before submission (Tenderly/Alchemy simulation API), parse contract revert reasons from the error data, display gas estimates with a buffer, handle wallet rejection (user cancelled) separately from transaction revert, and implement retry flows for network failures.

Do we need a smart contract audit?

Yes — for any contract that holds user funds, executes financial logic, or manages access rights. A smart contract audit by a specialist firm (Trail of Bits, OpenZeppelin, Spearbit, Code4rena) is required before mainnet deployment of any contract holding real value. The audit process requires: comprehensive test coverage, natspec documentation and an invariant specification. Internal security review (Slither, Foundry fuzzing) should precede the third-party audit.

Can we build a Web3 product for mobile?

Yes — mobile Web3 products are increasingly common. Options: React Native with WalletConnect v2 (broad wallet support, deep links for wallet connection), in-app embedded wallet (Privy/Dynamic React Native SDKs, no external wallet required), or a mobile-optimised web app (PWA) with WalletConnect. Mobile Web3 requires careful wallet connection UX — deep link handling for wallet redirects, session persistence and mobile-specific gas UX. Native iOS/Android dApp browsers (MetaMask Mobile, Coinbase Wallet) have specific integration requirements.

How long does a Web3 product take to build?

A Web3 product with smart contracts, dApp frontend, wallet integration, indexing and security review takes 12-24 weeks from architecture to mainnet launch. Products reusing existing audited contracts (OpenZeppelin standards, existing DeFi protocols) are faster than products with custom contract systems. The smart contract audit cycle (4-6 weeks) typically gates the mainnet launch. We deliver in milestone-based sprints with testnet deployments at each stage.