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.
This asset-oriented model is what eliminates entire vulnerability classes (re-entrancy, approve-and-drain, double-credit) at the protocol level rather than relying on application-level discipline.
