---
title: "Component"
path: "/contents/tech/core-concepts/components"
version: "1.0.0"
author: "Hydrate"
createdAt: "2026-05-03T09:53:56.172Z"
updatedAt: "2026-05-03T09:53:56.172Z"
---

# Component

<Infobox>
| Core Primitive |
| Core Primitive |
| `scrypto, radix-engine-interface` |
| [radixdlt-scrypto](https://github.com/radixdlt/radixdlt-scrypto) |
</Infobox>

## Introduction

A **component** is a runtime instance of a [blueprint](/contents/tech/core-concepts/blueprints-and-packages), with its own persistent state, its own globally-addressable identity, and its own configured [access rules](/contents/tech/core-concepts/access-rules-and-auth-zones). If a blueprint is the class, a component is the instance. Components own [vaults](/contents/tech/core-concepts/buckets-proofs-and-vaults), expose methods callable from manifests or other components, and emit events. Their state lives as engine [substates](/contents/tech/core-concepts/substate-model), which is how composability and atomic cross-component calls remain safe.

## External Links

- [Component model in scrypto](https://github.com/radixdlt/radixdlt-scrypto/tree/main/scrypto/src/component)

- [Radix Docs: Components](https://docs.radixdlt.com/docs/components)