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

> ## Agent Instructions
> To build and serve your own model, start at /deploy/development/quickstart and /deploy/development/overview. Deploying is the default path: reactor init scaffolds a workspace, reactor auth login authenticates, and reactor model deploy registers the model, publishes the release with the weights/ folder, and activates it on Reactor's GPUs, in one command from that workspace. Docker must be running, because the publish step builds the image locally. Bump model.version in reactor.yaml before redeploying a change, because a release that already has an image is reactivated as it is. Deployment access is granted per account, so contact team@reactor.inc if a deploy is refused. Every key in reactor.yaml is documented at /deploy/platform/reactor-yaml. Model code imports reactor_runtime; Python client code imports reactor_sdk. The runtime overview explains the model interface. Running the model on your own machine with reactor run is optional and needs a GPU you attach with --gpus; /deploy/development/local-testing covers that loop and pairs a complete brightness model with a Python client test in a separate brightness-test workspace.
> Reactor hosts multiple models, each with its own connect slug (modelName) and command/event schema. The video model catalog — slug, typed SDK package, and links to its schema — is at /model-api-reference/overview. Robotics policy documentation starts at /robotics/overview; The launch policies are Cosmos Nano DROID (/robotics/cosmos/nano-policy-droid/), DreamZero DROID (/robotics/dreamzero/droid/), and FLUX Action DROID (/robotics/flux-action/droid/), organized by model family and embodiment. Some models expose one slug per experience (e.g. HappyOyster); always take the slug from the model's own pages, never guess it.
> Fastest path to a working app: `npx create-reactor-app my-app --model=<slug>` scaffolds a complete app with secure auth wired up. Typed TypeScript SDKs are published as @reactor-models/<model>; Python uses the base reactor-sdk package.
> Auth: exchange an API key (rk_...) for a JWT via POST https://api.reactor.inc/tokens from your server. Never put the API key in client-side code.
> Append .md to any docs URL for clean Markdown. Search these docs via the MCP server at https://docs.reactor.inc/mcp.

# Build a simulator adapter

> Build a simulator bridge for the Praxis-1 DROID contract.

[Runway's Praxis-1 repository](https://github.com/runwayml/praxis-1) includes a MuJoCo simulation
that runs the model locally. It does not connect a simulator to the Reactor endpoint.

You build the connection between your simulator and Reactor. This guide gives the necessary mapping.
It does not include an adapter that you can run. First, use [Get your first
actions](https://docs.reactor.inc/robotics/praxis/droid/quickstart.md) to check the API connection. Then build the adapter with
the [API reference](https://docs.reactor.inc/robotics/praxis/droid/reference.md).

| Simulator side | Reactor mapping |
| - | - |
| Exterior camera, Wrist camera | Publish the `exterior` and `wrist` tracks no larger than 512 × 288 (width × height). |
| End-effector pose and gripper | Encode measured rows in `set_robot_state_json`; select `pose_frame` for your frame. |
| Task instruction | Send `set_task`. |
| Policy query | After executing a chunk, send `set_executed_step` with its `step`. |
| Reply | Match `step`, validate the rows, and send the absolute pose targets through the simulator controller. |

Execute the rows at 15 Hz with a controller that accepts end-effector pose targets. Decide if the
simulator pauses or continues while it waits for inference. Record that decision with your results.

A reply to test inputs only checks the API connection. Before you move to [hardware
integration](https://docs.reactor.inc/robotics/praxis/droid/integration.md), evaluate task success in the simulator. Also
measure the age of observations when actions execute, and make sure that actions stay in your
limits.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.