What an entity is
An entity has three things:- An identity: an
EntityIDderived from the hash of a public key. The holder of the matching private key authorizes activations on the entity. The entity is encoded as a bech32m address (thegrd@…strings you see in the CLI and RPC). - Components: entity is a container of components; each component is a logic-and-state module installed inside the entity.
- Execution: an entity is the smallest unit of execution. An entity processes one activation at a time, and that activation can span the execution of a few components.
Coming from Ethereum
The closest analogue to an entity is an Ethereum account, but the Grid is built for distributed state. For example, on Ethereum a token usually keeps a single global balances map inside the token contract; here, each holder’s balance typically lives in the holder’s own entity, inside that holder’s component instance—so token state is naturally spread across many entities rather than centralized in one contract.One entity, many components
A single entity can hold many components. A wallet entity might hold:- A separate token-holder component for each stablecoin the user holds.
- An agent-related component (for example, recording what an agent is allowed to spend on the user’s behalf).
Why entities matter for performance
Entities are the execution unit and can be executed in parallel. Activations targeting entity A do not block activations targeting entity B. The runtime can process them concurrently. This is why a busy entity does not slow the rest of the chain. See Parallel execution.Related
- Address format: how an entity reference is encoded as a
grd@…address. - Components: the executable units that live inside an entity.
- Activations: the unit of work submitted to an entity.
- Parallel execution: how entities run concurrently.
