Wevm - TypeScript devtools for Ethereum (Wagmi & Viem)

Project Description: The Wevm Stack (Viem, Wagmi, ABIType, etc) is a collection of TypeScript libraries for Ethereum. Purposed for building Web Applications, TypeScript Libraries, Wallets, Backends, Indexers, Scripts, and more. The libraries are used in production by most at-scale (and small scale!) projects like Uniswap, Stripe, Shopify, Coinbase, Polymarket, ENS, Optimism, Zora, Rainbow, and so much more.

The Wevm Stack includes libraries such as:

  • Viem (2.5M monthly downloads): TypeScript Interface for Ethereum
  • Wagmi (1.5M monthly downloads): Reactive APIs for Ethereum (React Hooks, Vue, Vanilla JS)
  • ABIType (3M monthly downloads): TypeScript Types for Ethereum ABIs
  • Ox: TypeScript Standard Library for Ethereum.
  • Vocs: Minimal Documentation Framework, powered by React + Vite
  • Prool: HTTP testing instances for Ethereum
  • mipd: TypeScript Utilities for EIP-6963: Multi Injected Provider Discovery.
  • View all of our projects on GitHub

All Wevm projects are OSS and MIT licensed. Wevm is an independent team of two full time maintainers. Thousands of devs, hundreds of thousands of users (maybe more?), and billions in value are flowing through our software every year.

Public Repository:

Budget Breakdown

The Wevm Stack has no concrete milestones as we aim to ship new features in our libraries often and fluidly to keep up with new trends in the Ethereum ecosystem.

On-going implicit milestones generally include:

  • General: supporting users (such as Coinbase, Stripe, Uniswap, etc) with integrating the Wevm Stack into their projects & libraries
  • Viem: implementing bleeding-edge EIPs & ERCs such as:
    • Blob Transactions (EIP-4844),
    • EOA Authorization Transactions (EIP-7702)
    • Wallet Send Calls API (EIP-5792)
    • Account Abstraction (ERC-4337)
    • Permissions (ERC-7715)
    • Readable Typed Signatures (ERC-7739)
    • and more
  • Viem: integrating extensions for our partners (e.g. Optimism, ZKsync, Celo, Linea, etc.)
  • Viem: refactoring implementation to be more performant
  • Viem: improvements to documentation
  • Viem: improvements to API & typing ergonomics
  • Wagmi: upstreaming changes made in Viem into Wagmi
  • Wagmi: adding Viem’s bleeding-edge features into Wagmi
  • Wagmi: adding support for more frameworks (e.g. Vue, Svelte, etc.)
  • Ox: Continuing development and adoption by other libraries (Term, Thirdweb, etc.)
  • General: resolving issues via GitHub (we aim to keep our GitHub issues backlog to 0)
  • General: providing support via GitHub Issues + Discussions, as well as Discord
  • General: scaling the Wevm community & ecosystem via events, partnerships, and more

Funding Requested: 50 ETH - This would allow us to spend more time executing against our roadmap instead of spending time looking for new sponsors and applying to grants programs.

We have a proven track record of shipping and are often the first client library team to support new protocol features. Improvements we make to our libraries impact the entire industry and support thousands of developers (Uniswap, Coinbase, Brave, Stripe, Zora, Polymarket, Rainbow, Farcaster/Warpcast, WalletConnect, Gitcoin, ENS, Optimism, and many more).

As our projects are now more mature and used by the entire industry, we would love to perform a third-party audit for at least Viem (and this is expensive unfortunately).

Plans should you fall below, reach or exceed funding goals:
Nothing. We will keep building our libraries. The industry depends on them.

Impact Measurement and Reporting

Inputs > Activities > Outputs > Outcomes > Long Term Impact

Short-term Outcomes (0-3 months):

Short-term outcomes we would like to achieve for the Wevm Stack within the next 3 months include:

  • Viem: add support for more bleeding-edge EIPs & ERCs
  • Viem: update EIP & ERC implementations to match the latest specs
  • Viem: assist our users with their Viem integrations:
  • Viem: improve and add more extensions in Viem:
    • integrating Actions & Utilities for OP Stack’s Interop abstraction
    • adding support for more ZKsync Actions & Utilities (deposits & withdrawals)
    • adding support for Linea Actions & Utilities
  • Wagmi: add support for Account Abstraction (ERC-4337)
  • Wagmi: add support for Authorization Transactions (EIP-7702)
  • Wagmi: upstream EIP & ERC updates from Viem into Wagmi
  • Ox: continue work on development and adoption
  • General: support via GitHub Issues & Discussions, and aim get the GitHub issue backlog to zero
  • General: fund contributors of our projects

Mid-term Outcomes (3-6+ months):

There are no explicit mid-term outcomes for Viem/Wagmi being a fluid projects, however, some high-level outcomes we have in mind are:

  • Viem + Wagmi: releasing the next major version of Viem (v3) and Wagmi (v3) with a focus on ergonomical improvements (both API and types) with backwards compatibility
  • Viem: integrate the Ethereum Standard Library (mentioned in short-term outcomes), which will substantially reduce the codebase of Viem.
  • Viem: further improve and add more extensions (where appropriate)
  • General: further assist consumers via GitHub Issues & Discussions
  • General: further assist partners with their Viem + Wagmi integrations
  • General: further fund contributors of our projects

Long-term Impact (5+ years):

As mentioned above, there are no explicit long-term outcomes for the Wevm Stack. We want to focus on building the most robust, reliable, and friendly software for Ethereum that can be trusted by every type of project, and we want to continue doing so for the next 5+ years and beyond.

Outcomes Measurement:

We typically measure the impact & outcomes of Viem (on a weekly basis) via:

  • GitHub Activity such as:
    • stars & forks trends
    • community contribution trends
    • resolved issues & PRs
    • repository traffic & clones
    • code frequency
    • etc
  • Documentation Analytics (views, engagements, and time on site over the past 3, 6, 12 months) via Fathom
  • Package Manager Downloads via NPM
  • Analytics (views, reposts, likes, engagements) from Social Media posts (X, Warpcast)
  • Consumer feedback via Social Media (X Search, Warpcast Search), GitHub Search, and GitHub Discussions

Interim Reporting

Regular Updates:

We will aim to provide quarterly updates of progress on the Octant discussion forum.

Milestone Verification:

Verifying milestones for our libraries will be trivial as all of our work is open-source. Milestones can be verified via the commit & release history of our libraries as well as other public stats.

Sustainability Plan

Libraries of the Wevm Stack aim to be indefinitely self-sustainable public goods.

We currently receive all of our funding via sponsors (monthly) and one-off grants throughout the year. Our sponsor tiers range from $500/month to $3k/month. Viem (and other Wevm projects) have no “subscription” model, or models that involve exclusive access to features / projects that we work on.

We want all of our work to be accessible and open to everyone, whether they sponsor or not. This is why grants are crucial to make up the different between the opportunity cost between working on Wevm OSS projects and working in the industry.

Case Studies and Testimonials

Gathering Feedback:

We typically gather feedback (on a daily basis) for our libraries via:

  • global GitHub search on keywords (e.g. “viem”, “wagmi”, etc)
  • global X/Warpcast search on keywords (e.g. “viem”, “wagmi”, etc)
  • GitHub Issues & Discussions
  • Discord

Showcasing Success:

We showcase success of our libraries mainly via posts on Social Media (X, Warpcast). Testimonials, like new users or feedback from well-known devs, are generally reposted via our accounts.

Advancing Values of Freedom and Privacy

Libraries of the Wevm Stack do not have any type of telemetry or tracking built in, nor do we collect any Personally Identifiable Information on our websites.

Supporting Decentralization

We build open-source libraries for Ethereum with a permissive license (MIT).

Team Information

Wevm has two full time maintainers:

Social Proof

Our libraries are used by the most well-known and respected projects in Ethereum, including Uniswap, Coinbase, Brave, Stripe, Zora, Polymarket, Rainbow, Farcast/Warpcast, WalletConnect, Gitcoin, ENS, Optimism, and many more. Octant even uses Wagmi/Viem on it’s website. Pretty much anywhere you “Connect Wallet,” send transactions, sign messages, etc. developers are using Wevm software.

  • Our libraries are sponsored by some of the most well-known projects in Ethereum. GitHub Sponsors list (includes: Stripe, Uniswap, Brave, Zora, Rainbow, Polymarket, etc)
  • “Used by” public repositories on GitHub
    • Viem: 41.3k public repositories
    • Wagmi: 54.6k public repositories
    • ABIType: 70.4k public repositories
  • NPM dependents (libraries built on top of our libraries):
    • Viem: 1.3k dependents
    • Wagmi: 557 dependents
    • ABIType: 271 dependents

Transparency

Funding received (via grants, sponsorships, etc) is generally used to pay salaries for core contributors of the Wevm Stack, as well as continuing to fund external contributions to our libraries.

We swap and convert tokens to USDC or USD to pay for expenses and contributors.

Other funding

  • Grant funding received since the last Epoch (e.g., RetroPGF, Gitcoin, etc.), including funding amounts:
    • 11/12/2024 - Wagmi, Gitcoin Round 22, $1,189.84
    • 11/12/2024 - Wagmi, Gitcoin Round 22 Match, $15,925.81
    • 11/12/2024 - Viem, Gitcoin Round 22, $538.71
    • 11/12/2024 - Viem, Gitcoin Round 22 Match, $16,999.42
  • Other non-grant funding sources (like user payments, donations, staking or LP contributions to treasury, VC investments, etc.): Wevm receives ~$15k-20k monthly from crypto and fiat sponsors https://github.com/sponsors/wevm. View all sponsors on our website.
1 Like