A developer toolchain that auto generates application layer interfaces for smart contract protocols.


Smart contracts are not optimized for application development.

Currently, protocols build their own language-specific wrappers to make their smart contracts accessible to dApp developers. Developers usually utilize web3.js to write a wrapper for their smart contract protocols. These wrappers aim to define common read and write patterns for application developers to use. As a result, dApp developers are dependent on protocol developers to maintain these wrappers.

So the question becomes, how can smart contract developers easily maintain highly-usable and language-independent APIs for their protocols?


We created the Protocol Object Model (POM) - a standard for publishing smart contract metadata which describes semantics for reading and writing to/from a contract protocol. This standard defines the logical structure of a protocol, and the way data is accessed and manipulated through queries & actions.

The Web3Bindings Generator (API Generator) takes in the smart contract ABIs and associated metadata (POM), then outputs a complete API for application to use in their language of choice.

Together, the Web3Bindings POM and API Generator makes contract protocols accessible across any language & framework via API generation. Generators can be made for any language or framework. This makes the Web3 development pipeline more efficient while making it more accessible for application developers across domains.

Design Goals

  1. Separation of Concerns: Seperate protocol development from application development.
  2. Abstraction: Complex queries and actions at the protocol layer are abstracted into simple methods at the application layer.
  3. Extendable: Through developing an open-standard, it leaves it open for community extensibility.
  4. Interoperable: Application layer run-times provide outside service connections (IPFS, Swarm, etc).

Built With

Share this project: