file icon

What are Components, Blueprints, and the Blueprint Catalog?

With the introduction of REv2 and Scrypto in our Alexandria and Babylon releases, Radix will deliver full programmable “smart contract” capability for developers, suitable for creating the full range of DeFi dApps and more. However, we split the concept of smart contacts into two parts: blueprints and components.

Components are created as “instances” of common on-ledger templates called blueprints, written in Scrypto. Blueprints define shared logic which will be used by every component instantiated from them. However, each instantiated component can  maintain its own configuration and manage its own private state. This means, for example, that a blueprint for a trading pool which swaps one token for another could be instantiated over and over again to create many independent trading pools, each able to manage different pairs of tokens and maintain their own internal balances.

Commonly-needed blueprints like accounts will be available as free blueprints released by the Radix Foundation. We expect that Radix community developers will rapidly implement all manner of DeFi functionality, from the simple to the highly complex, as blueprints.

In the Babylon release, blueprints will be deployed to an on-ledger Blueprint Catalog that will enable easy and transparent reuse, good community-driven standards, as well as the ability for developers to receive direct on-ledger per-usage payment for useful functionality they create via the Developer Royalty System

You can check out how blueprints and components work in our Scrypto docs.

Further reading: