---
title: "Resource"
path: "/contents/tech/core-concepts/resources"
version: "1.0.0"
author: "Hydrate"
createdAt: "2026-05-03T09:53:56.119Z"
updatedAt: "2026-05-03T09:53:56.119Z"
---

# Resource

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

## Introduction

A **resource** is the Radix Engine's first-class representation of a digital asset. Unlike token contracts on EVM-style chains — where balances are bookkeeping entries inside an arbitrary smart contract — Radix resources are engine-level primitives: the engine itself enforces conservation, ownership transfer, and authorization at the kernel level. Resources come in two flavours: **fungible** (divisible, homogeneous quantities) and **non-fungible** (discrete units, each with structured per-unit data). Every resource is created and managed by a ResourceManager component and is held in a [vault, bucket, or proof](/contents/tech/core-concepts/buckets-proofs-and-vaults).

This [asset-oriented model](/contents/tech/core-concepts/asset-oriented-programming) is what eliminates entire vulnerability classes (re-entrancy, approve-and-drain, double-credit) at the protocol level rather than relying on application-level discipline.

## External Links

- [resource native package](https://github.com/radixdlt/radixdlt-scrypto/tree/main/radix-engine/src/blueprints/resource)

- [Radix Docs: Resources](https://docs.radixdlt.com/docs/resources)