Patchwork – Onchain {data} for the new internet

Onchain {data} for the new internet.
Blog /

Hello World

Mar 25 2024

Posted by @patchwork

Patchwork is a fresh new protocol and accompanying set of tools & standards designed to supercharge onchain entities both new & old with fully onchain data. Patchwork makes your data mutable, transferable, interactable by smart contracts, and expressible through a variety of different ownership models.

Patchwork aims to open a new frontier of data-richness for the EVM, where secondary markets can spring up for the exchange of valuable data records, creators can seamlessly and permissionlessly extend existing onchain IP with their own fresh data, users can swap traits and attributes with their peers, projects can collaborate on and share core pools of data, and creators can continually add to and grow the flavors of data available to their users.

Patchwork—built by five Coinbase alums with early backing from IDEO CoLab Ventures and Coinbase Ventures' Base Ecosystem Fund—is a complete re-think of how we build and interact in the new internet, empowering tokens, contracts, and addresses with rich, interactive, and interconnected layers of vibrant onchain data.

How Patchwork works

Patchwork works by extending ERC721 with a standardized onchain metadata format and data interaction utilities, effectively turning NFT contracts into database tables where each token represents a row of data. Multiple contracts can be hooked together to create rich datasets with complex relationships between them.

Additionally, individual pieces of data from a token can be further encapsulated as a separate NFT altogether, allowing for added secondary utility where granular bits can be traded, pooled, loaned, and all the other NFT verbs. Schemas and datasets are dynamic and mutable, ensuring projects can continually grow and adapt their onchain IP.

Patchwork also introduces the ability to permissionlessly soulbind—or “Patch”—these datasets to other existing onchain entities. Any developer can annotate and extend the onchain world with their own vibrant data, and anyone else can do the same to that developer’s data.

Key features

  • Fully onchain data that can be interacted with by any smart contract

  • Data is efficiently packed to ensure a low gas footprint, and standardized to maximize interoperability between Patchwork apps

  • Data lives in ERC-721s that have been extended with Patchwork interfaces; data schemas/"columns" and getters/setters live in the contract, and each "row" of data lives in a token

  • Granular pieces of data can be discretely encapsulated in their own tokens, allowing for fully-dynamic NFT traits, shared core data pools between projects, etc.

  • Data can be permissionlessly soulbound to existing onchain entities, allowing anyone to annotate and extend their favorite projects with their own unique datasets

  • Multiple ownership models that let you dictate nuanced relationships between data, contracts, and users

  • Fully-audited smart contract extensions + Patchwork Development Kit codegen makes it easy to start building

  • Data orchestration handled by Patchwork Protocol to ensure the integrity of your data and adherence to your app rules when that data is interacted with by others

  • Much, much more!

What's under the hood?

Patchwork includes several important parts that work in tandem to allow developers to quickly build rich onchain applications.

Metadata standard

The future is onchain, metadata should live onchain too. Currently this is rarely the case, and when it is the case, the lack of standardization hurts composability. The Patchwork Metadata Standard makes it easy to read and write gas-efficient onchain metadata that other contracts can consume and interact with. This is generated for developers for free by the Patchwork Development Kit (PDK).

Contract extensions

Patchwork provides a number of Patchwork-flavored ERC-721 extensions that bake in archetypes for different modalities of Patchwork data and entity relationships. These extensions, especially when used with PDK, make it straightforward to build a wide variety of use cases with varied data lifecycles.

Entity relationships & application rules

Onchain entity relationships can be 1:N, N:1, or 1:1. Additionally, entity ownership can be defined as strong (ownership gets transferred when the parent gets transferred), weak (an entity references another with no ownership implications), or soulbound (an attached entity is not transferable). Additionally, Patchwork provides a permission system that sits on top and allows publishers to define rules for what is allowed to attach to or mutate state within their application.

Patchwork Protocol

The protocol orchestrates all of the above, providing a secure and robust foundation for developers to enforce application-specific rules and interactions within the Patchwork ecosystem. It facilitates the dynamic and programmable nature of Patchwork's onchain metadata, enabling entities to evolve and adapt over time.

What's launching?

We have a few exciting things live today:

Patchwork Protocol

Patchwork is live on Base at 0x00000000001616E65bb9FdA42dFBb7155406549b.

Patchwork Development Kit (PDK)

One of the key advantages of a rule-based protocol like Patchwork is that it allows us to create low/no-code tooling. Our PDK is a CLI tool for developers that allows you to specify your application entities, metadata fields, permissions, and rules in simple JSON, then generates your Patchwork-powered smart contracts.

Patchwork-flavored ERC-721 Extensions

Enhance your projects with our open-sourced interfaces, designed for building Patchwork-compatible projects that manage metadata hierarchies and ownership efficiently. Using PDK? You’ll get these for free.

Elephants 🐘

See one of Patchwork’s ownership models at work. Mint and collect attributes, then assign them to an Elephant to equip. When assigned, they can’t be transferred and ownership is proxied to the owner of the Elephant. When the Elephant is transferred, the entire ownership tree is transferred as well.

Canvas 🫧

Celebrate Patchwork's launch by minting your own commemorative Bubble. You can own and transfer your Bubble, but it remains irreversibly assigned to the Canvas. Have an idea for what the next Canvas should be? Reach out!

Take a look at our documentation and join us on Discord. First and foremost, Patchwork was built for developers, so please reach out if you have questions or need help getting started. We can’t wait to build onchain with you.

Join our Discord and start building with us!

Published on Arweave and Base with