> ## Documentation Index
> Fetch the complete documentation index at: https://www.agentworldprotocol.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Embodiments

> Binding, releasing, transferring, and observer sessions.

* Binding occurs at `session.open`; a non-shared embodiment already bound elsewhere yields `AWP_EMBODIMENT_UNAVAILABLE`. `[AWP-EMB-001]`
* On session close or reconnect-window expiry, the world MUST release the embodiment after it has entered its declared safe state (`safety_policy.safe_state.behavior`, e.g. `hold`, `safe_stop`, `park`). Safe-state entry itself is triggered earlier, by the watchdog (AWP-SAF-003/004), not by window expiry; release is the last step. `[AWP-EMB-002]`
* **Transfer.** Worlds MAY support handoff: the receiving session calls `session.open` with `takeover: true` and a transfer token minted by the current holder via `session.transfer`. In-flight actions transition to `preempted`. `[AWP-EMB-003]`
* **Observer sessions.** A session with no embodiment binds observation grants only; action submission returns `AWP_FORBIDDEN`. `[AWP-EMB-004]`
* Multiple embodiments per session are permitted when they share a `multi_bind_group` in the manifest; `session.open` then names them in `embodiments` (instead of `embodiment`) and every action submission carries `embodiment_id`. Binding embodiments from different groups in one session MUST be rejected with `AWP_EMBODIMENT_UNAVAILABLE`. `[AWP-EMB-005]`
