# Agent World Protocol > An open protocol for how AI agents perceive and act in worlds — virtual or physical. - [What is the Agent World Protocol?](https://www.agentworldprotocol.com/index.md): AWP is an open protocol defining how an autonomous agent discovers, perceives, and acts within a world — virtual or physical. - [Quickstart: connect an agent](https://www.agentworldprotocol.com/quickstart-agent.md): Not published yet. - [Quickstart: expose a world](https://www.agentworldprotocol.com/quickstart-world.md): Not published yet. - [Why AWP](https://www.agentworldprotocol.com/why-awp.md): The gap between tool-calling protocols, RL environment APIs, and robot middleware — and why a standard agent–world boundary matters. - [Architecture](https://www.agentworldprotocol.com/concepts/architecture.md): Four layers over one channel model. - [Worlds and embodiments](https://www.agentworldprotocol.com/concepts/worlds-and-embodiments.md): Why the agent's presence in a world is a first-class object, separate from the agent itself. - [Observations](https://www.agentworldprotocol.com/concepts/observations.md): Typed, timestamped, multi-channel percepts — pulled per tick or pushed as streams. - [Actions](https://www.agentworldprotocol.com/concepts/actions.md): Actions are typed intents with duration and a lifecycle — not fire-and-forget RPCs. - [Time models](https://www.agentworldprotocol.com/concepts/time-models.md): Lockstep and streaming — the make-or-break design axis that lets one agent run in simulation and on hardware. - [Sessions and capabilities](https://www.agentworldprotocol.com/concepts/sessions-and-capabilities.md): The handshake: initialize, manifest exchange, negotiation, and session.ready. - [Safety model](https://www.agentworldprotocol.com/concepts/safety-model.md): Scoped grants, server-side envelopes, approval hooks, and a normative audit log — built into the protocol, not bolted on. - [Grounding](https://www.agentworldprotocol.com/concepts/grounding.md): Shared conventions — units, frames, clocks, encodings — so payloads mean the same thing in every world. - [Build an LLM agent](https://www.agentworldprotocol.com/guides/build-an-agent.md): Render the world manifest into an LLM context and drive the perception–action loop. - [Wrap a simulator](https://www.agentworldprotocol.com/guides/wrap-a-simulator.md): A lockstep adapter over an existing sim, with seeding, snapshot, and replay. - [Wrap a robot](https://www.agentworldprotocol.com/guides/wrap-a-robot.md): A streaming adapter over ROS 2 with envelopes, e-stop, clock synchronization, and latency reporting. - [Wrap a GUI](https://www.agentworldprotocol.com/guides/wrap-a-gui.md): The browser or desktop as an AWP world. - [Multi-agent worlds](https://www.agentworldprotocol.com/guides/multi-agent-worlds.md): Many sessions in one world, and where A2A takes over. - [Record and replay](https://www.agentworldprotocol.com/guides/record-and-replay.md): The audit log as debugger, benchmark, and dataset. - [Sim to real](https://www.agentworldprotocol.com/guides/sim-to-real.md): One agent binary, two worlds. - [Human in the loop](https://www.agentworldprotocol.com/guides/human-in-the-loop.md): Approval, teleop takeover, and shadow mode. - [AWP vs MCP](https://www.agentworldprotocol.com/compare/mcp.md): Tools vs worlds — and how they compose. - [AWP vs ACP](https://www.agentworldprotocol.com/compare/acp.md): Editors vs worlds — sibling protocols in the same genre. - [AWP vs A2A](https://www.agentworldprotocol.com/compare/a2a.md): Peers vs environments. - [AWP vs Gym / dm_env](https://www.agentworldprotocol.com/compare/gym-dm-env.md): Training APIs vs an inference-time protocol. - [AWP vs ROS](https://www.agentworldprotocol.com/compare/ros.md): Robot middleware vs the agent boundary. - [AWP Specification v0.1 (draft)](https://www.agentworldprotocol.com/spec/index.md): Status, scope, and reading order for the normative Agent World Protocol specification. - [Terminology](https://www.agentworldprotocol.com/spec/terminology.md): Normative definitions used throughout the specification. - [Conformance](https://www.agentworldprotocol.com/spec/conformance.md): Conformance classes, the requirement matrix, and how normative requirements map to test-suite assertions. - [Requirement matrix](https://www.agentworldprotocol.com/spec/requirements.md): Every normative requirement with its side, applicability, feature gate, and test. - [Wire traces](https://www.agentworldprotocol.com/spec/wire-traces.md): Complete, validated message sequences: discovery and session opening, the lockstep and streaming loops, cancellation, and disconnection with recovery. - [Versioning policy](https://www.agentworldprotocol.com/spec/versioning-policy.md): Protocol semver, version negotiation, and deprecation. - [Transport](https://www.agentworldprotocol.com/spec/transport/overview.md): One session, one channel model: the control channel, frame channels and their classes, ordering, resumption, and the bindings that carry them. - [Control channel](https://www.agentworldprotocol.com/spec/transport/control-channel.md): Channel 0: JSON-RPC 2.0 framing, ordering, heartbeats, and reconnection. - [Frames](https://www.agentworldprotocol.com/spec/transport/frames.md): The binary frame envelope carried on observation and command channels: header, flags, extension block, loss classes, and resumption. - [Security](https://www.agentworldprotocol.com/spec/transport/security.md): TLS, authentication, session tokens, and the threat model. - [Session lifecycle](https://www.agentworldprotocol.com/spec/session/lifecycle.md): Discovery, the normative session state machine, session identity, and recovery scope. - [World manifest](https://www.agentworldprotocol.com/spec/session/world-manifest.md): The self-description a world returns from initialize — the heart of AWP discoverability. - [Agent manifest](https://www.agentworldprotocol.com/spec/session/agent-manifest.md): What the agent declares in initialize. - [Negotiation](https://www.agentworldprotocol.com/spec/session/negotiation.md): Subset selection rules, rejection codes, and mid-session renegotiation. - [Task](https://www.agentworldprotocol.com/spec/session/task.md): The language instruction conditioning the agent — a first-class, auditable session field. - [Embodiments](https://www.agentworldprotocol.com/spec/session/embodiments.md): Binding, releasing, transferring, and observer sessions. - [Time models (normative)](https://www.agentworldprotocol.com/spec/loop/time-models.md): Lockstep and streaming semantics, tick rules, streaming telemetry, and what worlds must declare. - [Observations (normative)](https://www.agentworldprotocol.com/spec/loop/observations.md): Frame requirements: timestamps, sequencing, channel binding, send time, and the receiver report. - [Actions (normative)](https://www.agentworldprotocol.com/spec/loop/actions.md): Submission envelope, idempotency, validation. - [Action lifecycle](https://www.agentworldprotocol.com/spec/loop/action-lifecycle.md): The normative state machine every action follows: admission, permission, execution, and exactly one terminal outcome. - [Command channels (normative)](https://www.agentworldprotocol.com/spec/loop/command-channels.md): Agent→world frame channels for high-rate setpoints, bound to a streaming action. - [Preemption](https://www.agentworldprotocol.com/spec/loop/preemption.md): What a new action does to a running one — per-type policy. - [Events and errors](https://www.agentworldprotocol.com/spec/loop/events-and-errors.md): World events, the error taxonomy, and recovery expectations. - [Units and frames](https://www.agentworldprotocol.com/spec/semantics/units-and-frames.md): SI units, unit-suffixed field names, and the frame tree. - [Timestamps and clocks](https://www.agentworldprotocol.com/spec/semantics/timestamps-and-clocks.md): Session clock, wall anchor, sim time, clock synchronization over the heartbeat, and the latency and staleness quantities built on them. - [Modalities](https://www.agentworldprotocol.com/spec/semantics/modalities.md): The registry of standard payload encodings. - [Scene graphs](https://www.agentworldprotocol.com/spec/semantics/scene-graphs.md): The optional semantic channel: entities, affordances, relations. - [Permissions](https://www.agentworldprotocol.com/spec/safety/permissions.md): The grant model: scopes, expiry, default-deny, and administrative mutations. - [Envelopes](https://www.agentworldprotocol.com/spec/safety/envelopes.md): Quantitative safety limits, enforced server-side. - [Approval](https://www.agentworldprotocol.com/spec/safety/approval.md): Human-in-the-loop gating for sensitive action types. - [Liveness and safe state](https://www.agentworldprotocol.com/spec/safety/safe-state.md): Connection liveness, the world-side watchdog, safe-state entry, session retention, channel degradation, and stale-intent enforcement, each on its own clock. - [Audit log](https://www.agentworldprotocol.com/spec/safety/audit-log.md): The normative session record: format, hashing, redaction, and the three record classes it can serve. - [Reproducibility](https://www.agentworldprotocol.com/spec/reproducibility.md): Seeding, snapshot/restore, and deterministic replay for virtual worlds. - [Multi-agent worlds](https://www.agentworldprotocol.com/spec/multi-agent.md): Many sessions, one world: visibility rules and the boundary with agent-to-agent protocols. - [Core profile](https://www.agentworldprotocol.com/spec/profiles/core.md): The minimal conformance bar every AWP implementation meets. - [Sim profile](https://www.agentworldprotocol.com/spec/profiles/sim.md): Requirements added for simulation and evaluation worlds. - [Robotics profile](https://www.agentworldprotocol.com/spec/profiles/robotics.md): Requirements added for physical actuation. - [GUI profile](https://www.agentworldprotocol.com/spec/profiles/gui.md): Requirements for browser and desktop environments as worlds. - [Game profile](https://www.agentworldprotocol.com/spec/profiles/game.md): Requirements for game engines and turn-based environments. - [Realtime A/V profile](https://www.agentworldprotocol.com/spec/profiles/realtime-av.md): Requirements for high-bandwidth audio/video streaming worlds. - [API Reference](https://www.agentworldprotocol.com/api-reference/index.md): How to read this section: the JSON-RPC control channel, binary frames, and canonical schemas. - [Message envelope](https://www.agentworldprotocol.com/api-reference/message-envelope.md): The JSON-RPC 2.0 wrapper used by every control-channel message. - [Error codes](https://www.agentworldprotocol.com/api-reference/error-codes.md): The complete AWP error registry. - [initialize](https://www.agentworldprotocol.com/api-reference/control/initialize.md): Version negotiation and manifest exchange. Agent → World. - [world.manifest](https://www.agentworldprotocol.com/api-reference/control/manifest.md): Re-fetch the current world manifest. Agent → World. - [session.open](https://www.agentworldprotocol.com/api-reference/control/session-open.md): Bind an embodiment, choose a time model, request grants. Agent → World. - [session.close / session.resume / session.transfer / session.state](https://www.agentworldprotocol.com/api-reference/control/session-close.md): Ending, resuming, and handing off sessions, and the transition notification. - [task.update](https://www.agentworldprotocol.com/api-reference/control/task-update.md): Replace the session task mid-session. Agent → World. Requires the `task` capability. - [obs.subscribe / obs.unsubscribe](https://www.agentworldprotocol.com/api-reference/control/subscribe.md): Adjust channel subscriptions mid-session. Agent → World. - [obs.report (notification)](https://www.agentworldprotocol.com/api-reference/control/obs-report.md): Agent → World receiver report: clock sync, delivery quality, staleness, and decision latency. - [session.telemetry (notification)](https://www.agentworldprotocol.com/api-reference/control/session-telemetry.md): World → Agent latency telemetry, once per second in streaming sessions. - [action.submit](https://www.agentworldprotocol.com/api-reference/control/action-submit.md): Submit a typed intent. Agent → World. - [action.cancel](https://www.agentworldprotocol.com/api-reference/control/action-cancel.md): Request cancellation of a pre-execution or executing action. Agent → World. - [action.status (notification)](https://www.agentworldprotocol.com/api-reference/control/action-status.md): World → Agent transition notifications for every action. - [world.tick](https://www.agentworldprotocol.com/api-reference/control/tick.md): Advance a lockstep world. Agent → World. - [world.snapshot / world.restore / world.reset](https://www.agentworldprotocol.com/api-reference/control/snapshot.md): State capture and reset for worlds advertising the snapshot capability. Administrative — require the `admin` grant class. - [safety.approval](https://www.agentworldprotocol.com/api-reference/control/approval.md): Approval requests and responses for gated actions. - [ping](https://www.agentworldprotocol.com/api-reference/control/ping.md): Heartbeat and clock-synchronization exchange. Either direction. - [Frame format](https://www.agentworldprotocol.com/api-reference/data/frame-format.md): The 28-byte binary header, the optional extension block, and the inline JSON form. - [Observation frames](https://www.agentworldprotocol.com/api-reference/data/observation-frames.md): Per-modality payloads and per-frame metadata. - [Command frames](https://www.agentworldprotocol.com/api-reference/data/command-frames.md): Agent→world frames on command channels. - [Events](https://www.agentworldprotocol.com/api-reference/data/event-frames.md): world.event travels on the control channel; text/event+json channels carry the world's own samples. - [Stream negotiation](https://www.agentworldprotocol.com/api-reference/data/stream-negotiation.md): How frame channels are mapped onto connections. - [common.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/common.md): Shared primitives: bounded integers, timestamps, pose, task, status reasons. - [world-manifest.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/world-manifest.md): Canonical schema for the world manifest. - [agent-manifest.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/agent-manifest.md): Canonical schema for the agent manifest (initialize params). - [embodiment.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/embodiment.md): Canonical schema for embodiment declarations. - [action-schema.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/action-schema.md): Canonical schema for action type declarations. - [observation-channel.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/observation-channel.md): Canonical schema for channel declarations (observation and command channels). - [safety-policy.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/safety-policy.md): Canonical schema for the world safety policy. - [frame-tree.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/frame-tree.md): Canonical schema for named coordinate frames. - [session-open.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/session-open.md): Canonical schema for session.open params. - [session-ready.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/session-ready.md): Canonical schema for session.ready (result of session.open / session.resume). - [action-submit.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/action-submit.md): Canonical schema for action.submit params. - [action-status.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/action-status.md): Canonical schema for action.status notifications. - [frame-inline.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/frame-inline.md): Canonical schema for obs.frame / cmd.frame params in the inline binding. - [world-event.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/world-event.md): Canonical schema for world.event notifications. - [session-telemetry.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/session-telemetry.md): Canonical schema for session.telemetry notifications. - [session-state.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/session-state.md): Canonical schema for session.state notifications. - [tick.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/tick.md): Canonical schema for world.tick params; the result is tick-result.schema.json. - [subscribe.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/subscribe.md): Canonical schema for obs.subscribe params; obs.unsubscribe uses unsubscribe.schema.json and both return subscribe-result.schema.json. - [reset.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/reset.md): Canonical schema for world.reset params; world.restore uses restore.schema.json and both return reset-result.schema.json. - [action-ref.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/action-ref.md): Canonical schema for action.cancel params and the action.status pull request. - [obs-report.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/obs-report.md): Canonical schema for obs.report receiver reports. - [ping.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/ping.md): Canonical schema for ping params; the result is ping-result.schema.json. - [error.schema.json](https://www.agentworldprotocol.com/api-reference/schemas/error.md): Canonical schema for JSON-RPC error objects with AWP data. - [SDKs](https://www.agentworldprotocol.com/sdks/index.md): Not published yet. - [Python SDK](https://www.agentworldprotocol.com/sdks/python.md): Not published yet. - [TypeScript SDK](https://www.agentworldprotocol.com/sdks/typescript.md): Not published yet. - [awp-sim](https://www.agentworldprotocol.com/adapters/awp-sim.md): Not published yet. - [Gymnasium bridge](https://www.agentworldprotocol.com/adapters/gymnasium-bridge.md): Not published yet. - [LeRobot bridge](https://www.agentworldprotocol.com/adapters/lerobot-bridge.md): Not published yet. - [ROS 2 bridge](https://www.agentworldprotocol.com/adapters/ros2-bridge.md): Not published yet. - [Browser adapter](https://www.agentworldprotocol.com/adapters/browser-adapter.md): Not published yet. - [Conformance test suite](https://www.agentworldprotocol.com/conformance/test-suite.md): Not published yet. - [Badges](https://www.agentworldprotocol.com/conformance/badges.md): Not published yet. - [Registry](https://www.agentworldprotocol.com/conformance/registry.md): Not published yet. - [Worlds](https://www.agentworldprotocol.com/ecosystem/worlds.md): Not published yet. - [Agents](https://www.agentworldprotocol.com/ecosystem/agents.md): Not published yet. - [Governance](https://www.agentworldprotocol.com/community/governance.md): How AWP is stewarded and how decisions get made. - [RFD process](https://www.agentworldprotocol.com/community/rfd-process.md): How to propose changes to the specification: Requests for Dialog. - [Roadmap](https://www.agentworldprotocol.com/community/roadmap.md): Where the protocol is heading. - [Changelog](https://www.agentworldprotocol.com/community/changelog.md): Spec and SDK releases, newest first. - [FAQ](https://www.agentworldprotocol.com/community/faq.md): Common questions. - [Brand](https://www.agentworldprotocol.com/community/brand.md): Naming rules and logo usage. ## Optional - [GitHub](https://github.com/Hyperduality/agent-world-protocol) - [Website](https://agentworldprotocol.com)