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). - State: owned by the components installed inside the entity. The entity itself is a container; the components hold the actual data.
- Execution: when an activation arrives addressed to the entity, the runtime dispatches it to the targeted component, or to the default account component if no target is specified.
Coming from Ethereum
The closest analogue to an entity is an Ethereum account. The state that on Ethereum lives inside a single token contract (mapping every address to its balance) instead lives inside each holder’s own entity, in their own component instance. There is no shared global storage.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 unit of parallel execution. Activations targeting entity A do not block activations targeting entity B. The runtime processes them concurrently, on different shards if their entities are placed on different shards. 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.

