Patchwork is an Ethereum protocol and set of standards designed to supercharge onchain entities new & old with fully onchain data.
Patchwork allows metadata to be mutable and transferable, permits new data schemas to be attached to tokens, contracts, and addresses long after their creation, and enables projects to be permissionlessly extended by others. Patchwork operates entirely onchain and is fully interactable by smart contracts.Patchwork delivers fresh utility around mutability, interoperability, and extensibility. Use it for games, provenance, attestiation, PFPs, and any domain where evolution, collaboration, and data-richness is valued.
Get aquainted with Patchwork →
Learn about Patchwork and how it works in 10 minutes.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Patchwork Docs","colors":{"primary":"#000","light":"#fff","dark":"#000"},"favicon":"/icon.svg","logo":{"light":"https://mintcdn.com/runiclabs/pBoNL0BpwwCwyXHV/logo/light.svg?fit=max\u0026auto=format\u0026n=pBoNL0BpwwCwyXHV\u0026q=85\u0026s=954e1fde40720c569f3c63ee40b389c6","dark":"https://mintcdn.com/runiclabs/pBoNL0BpwwCwyXHV/logo/dark.svg?fit=max\u0026auto=format\u0026n=pBoNL0BpwwCwyXHV\u0026q=85\u0026s=95dae9a824e755b0b20f65fce9913a18"},"background":{"decoration":null,"color":{"light":"#fff","dark":"#030712"}},"navbar":{"links":[{"label":"Patchwork Home","href":"https://patchwork.dev"}],"primary":null},"footer":{"socials":{"github":"https://github.com/runic-inc/patchwork-docs"}},"navigation":{"global":{"anchors":[{"anchor":"GitHub","href":"https://github.com/runic-inc/patchwork","icon":"github"},{"anchor":"Patchwork Wizard","href":"https://wizard.patchwork.dev/","icon":"wand-magic-sparkles"},{"anchor":"Join our Discord","href":"https://discord.gg/vq43ss25Bu","icon":"discord"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"runiclabs","hasAudioNarration":false,"actualSubdomain":"runiclabs","customDomains":["docs.patchwork.dev"],"gitSource":{"type":"github","owner":"runic-inc","repo":"patchwork-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e621bd0a90f91cb4440a","collectionId":"3807bd93-45e7-43e5-abb4-53bbe467219a","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e621bd0a90f91cb4440a:success","clientVersion":"0.0.3902","searchFilterCounts":[{"language":"default","tag":"Example Projects","count":29},{"language":"default","tag":"Patchwork Development Kit","count":16},{"language":"default","tag":"Patchwork Protocol","count":16},{"language":"default","tag":"Contracts Reference","count":13},{"language":"default","tag":"Patchwork Project examples","count":11},{"language":"default","tag":"Working with Patchwork","count":8},{"language":"default","tag":"Core Interfaces","count":4},{"language":"default","tag":"Get Started","count":4},{"language":"default","tag":"Info","count":4},{"language":"default","tag":"Fragment extensions","count":3}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"teamspace","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"protocol/getting-started/introduction","slug":"/protocol/getting-started/introduction","pageMetadata":{"title":"Introduction","description":"Patchwork is an Ethereum protocol and set of standards designed to supercharge onchain entities new \u0026 old with fully onchain data.","icon":"hand-wave","href":"/protocol/getting-started/introduction"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Patchwork is an Ethereum protocol and set of standards designed to supercharge onchain entities new \u0026 old with fully onchain data.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={hr:`hr`,p:`p`,..._provideComponents(),...props.components},{Card}=_components;if(!Card)_missingMdxReference(`Card`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Patchwork allows metadata to be mutable and transferable, permits new data schemas to be attached to tokens, contracts, and addresses long after their creation, and enables projects to be permissionlessly extended by others. Patchwork operates entirely onchain and is fully interactable by smart contracts.`}),`\n`,_jsx(_components.p,{children:`Patchwork delivers fresh utility around mutability, interoperability, and extensibility. Use it for games, provenance, attestiation, PFPs, and any domain where evolution, collaboration, and data-richness is valued.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Card,{title:`Get aquainted with Patchwork →`,icon:`graduation-cap`,href:`/protocol/getting-started/101`,children:_jsx(_components.p,{children:`Learn about Patchwork and how it works in 10 minutes.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Introduction","description":"Patchwork is an Ethereum protocol and set of standards designed to supercharge onchain entities new \u0026 old with fully onchain data.","icon":"hand-wave","href":"/protocol/getting-started/introduction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"runiclabs","siteName":"Patchwork Docs","title":"Introduction - Patchwork Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T01:41:18.022Z","originalFileLocation":"protocol/getting-started/introduction.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Patchwork is an Ethereum protocol and set of standards designed to supercharge onchain entities new \u0026amp; old with fully onchain data.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Patchwork Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Introduction - Patchwork Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Patchwork is an Ethereum protocol and set of standards designed to supercharge onchain entities new \u0026amp; old with fully onchain data.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Patchwork Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.patchwork.dev/protocol/getting-started/introduction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Introduction - Patchwork Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Patchwork is an Ethereum protocol and set of standards designed to supercharge onchain entities new \u0026amp; old with fully onchain data.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/runiclabs/iKEP9_80QnaRXhjJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Patchwork Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.patchwork.dev/protocol/getting-started/introduction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/protocol/getting-started/introduction.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.patchwork.dev/#organization\",\"name\":\"Patchwork Docs\",\"url\":\"https://docs.patchwork.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/runiclabs/pBoNL0BpwwCwyXHV/logo/light.svg?fit=max\u0026auto=format\u0026n=pBoNL0BpwwCwyXHV\u0026q=85\u0026s=954e1fde40720c569f3c63ee40b389c6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.patchwork.dev#website\",\"name\":\"Patchwork Docs\",\"url\":\"https://docs.patchwork.dev\",\"publisher\":{\"@id\":\"https://docs.patchwork.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.patchwork.dev/protocol/getting-started/introduction#webpage\",\"url\":\"https://docs.patchwork.dev/protocol/getting-started/introduction\",\"name\":\"Introduction\",\"description\":\"Patchwork is an Ethereum protocol and set of standards designed to supercharge onchain entities new \u0026 old with fully onchain data.\",\"dateModified\":\"2026-01-07T01:41:18.022Z\",\"isPartOf\":{\"@id\":\"https://docs.patchwork.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.patchwork.dev/protocol/getting-started/introduction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.patchwork.dev/protocol/getting-started/introduction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Patchwork Docs\",\"item\":\"https://docs.patchwork.dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introduction\",\"item\":\"https://docs.patchwork.dev/protocol/getting-started/introduction\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.patchwork.dev/protocol/getting-started/introduction#article\",\"headline\":\"Introduction\",\"name\":\"Introduction\",\"description\":\"Patchwork is an Ethereum protocol and set of standards designed to supercharge onchain entities new \u0026 old with fully onchain data.\",\"url\":\"https://docs.patchwork.dev/protocol/getting-started/introduction\",\"mainEntityOfPage\":{\"@id\":\"https://docs.patchwork.dev/protocol/getting-started/introduction#webpage\"},\"dateModified\":\"2026-01-07T01:41:18.022Z\",\"publisher\":{\"@id\":\"https://docs.patchwork.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.patchwork.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Patchwork Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Patchwork Docs","nav":{"global":{"anchors":[{"anchor":"GitHub","href":"https://github.com/runic-inc/patchwork","icon":"github"},{"anchor":"Patchwork Wizard","href":"https://wizard.patchwork.dev/","icon":"wand-magic-sparkles"},{"anchor":"Join our Discord","href":"https://discord.gg/vq43ss25Bu","icon":"discord"}]},"tabs":[{"tab":"Patchwork Protocol","groups":[{"group":"Get Started","pages":[{"title":"Introduction","icon":"hand-wave","href":"/protocol/getting-started/introduction"},{"title":"Patchwork 101","description":"A 10 minute primer to help you understand how Patchwork works at a high level","icon":"graduation-cap","href":"/protocol/getting-started/101"},{"title":"Quickstart","icon":"rabbit-running","href":"/protocol/getting-started/quickstart"},{"title":"Deploying your first app","icon":"paper-plane","href":"/protocol/getting-started/hello-world"}]},{"group":"Working with Patchwork","pages":[{"title":"Scopes","href":"/protocol/guide/scopes"},{"title":"Data modeling","href":"/protocol/guide/data-modeling"},{"title":"Fragment assignments","href":"/protocol/guide/assignments"},{"title":"Patching","href":"/protocol/guide/patches"},{"title":"Freezing \u0026 locking","href":"/protocol/guide/freezing-locking"},{"title":"Events","href":"/protocol/guide/events"},{"title":"Handling fees","href":"/protocol/guide/fees"},{"title":"Metadata Standard","href":"/protocol/guide/metadata-standard"}]},{"group":"Info","pages":[{"title":"Networks","icon":"globe","href":"/protocol/info/networks"},{"group":"Changelogs","icon":"code-merge","pages":[{"title":"Protocol changelog","href":"/protocol/info/changelog-protocol"},{"title":"Contracts changelog","href":"/protocol/info/changelog-contracts"}]},{"title":"Audit history","icon":"shield-check","href":"/protocol/info/audits"}]}]},{"tab":"Patchwork Development Kit","pages":[{"title":"Patchwork Development Kit","href":"/pdk/overview"}]},{"tab":"Contracts Reference","pages":[{"title":"Contracts Reference","href":"/contracts/core/IPatchworkProtocol"}]},{"tab":"Example Projects","pages":[{"title":"Example Projects","href":"/projects"}]}]},"title":"Introduction - Patchwork Docs","buildId":"dpl_C3fsfi1EcrBns9Vx91gUSN1X3Hi4","deploymentId":"dpl_C3fsfi1EcrBns9Vx91gUSN1X3Hi4","dynamics":[],"chunks":[]}