New Introducing the Operator Agent — the execution layer for orbital compute Learn more

Orbital Runtime Live

Operator Agent

The execution layer for orbital compute. A Rust SDK that runs on satellites, executes workloads, and streams events back to Mission Control.

The Missing Piece

You can plan workloads in orbit. But who executes them?

CAE generates physically-accurate execution plans. Mission Control lets you organize and manage missions. But without an agent on the satellite, plans stay on the whiteboard. The Operator Agent closes that gap — it runs on the satellite, pulls workloads during contact windows, executes steps locally, and reports events back to ground.

Three-Step Protocol

A pull-based architecture designed for intermittent satellite connectivity. The agent runs autonomously and syncs when contact windows open.

01

Submit

Deploy a workload from Mission Control. The system generates a CAE execution plan and queues it for the target satellite.

02

Execute

During the next contact window, the agent pulls the workload, executes steps locally on satellite hardware, and manages data transfers.

03

Report

Events stream back in real-time: step progress, transfer status, checkpoints, completion. Watch the execution unfold in Mission Control.

Event-Driven Protocol

Every execution action produces a typed event. The same event format used by CAE planning and simulation, creating a unified observability layer.

job.accepted

Workload received and queued for execution

step.started

Compute step begins on satellite or ground

step.progress

Progress updates at 25%, 50%, 75%

transfer.started

Data downlink/uplink initiated via ground pass

checkpoint.saved

Intermediate state persisted for fault recovery

job.completed

All steps finished, delivery confirmed

Event Stream
{
  "type": "step.completed",
  "timestamp": "2026-03-07T14:23:45Z",
  "job_id": "deploy-001",
  "step_id": "feature_extraction",
  "payload": {
    "duration_s": 180,
    "location": "onboard",
    "data_output_mb": 10.5,
    "data_reduction_ratio": 190
  }
}

Built in Rust

Memory-safe, no runtime, tiny binaries. The right language for flight software that runs on resource-constrained satellite computers.

Rust — Implement a Custom Agent
use rotastellar_agent::{
    Agent, AgentConfig,
    SimulatedSatellite
};

#[tokio::main]
async fn main() {
    let config = AgentConfig {
        agent_id: "sat-25544".into(),
        api_url: "https://console.rotastellar.com"
            .into(),
        api_key: "rs_...".into(),
        poll_interval_s: 30,
    };

    let agent = SimulatedSatellite::new(
        config, 100.0
    ).unwrap();
    agent.start().await.unwrap();
}

Agent Trait

Define poll(), execute(), and report_event(). The SDK handles lifecycle, retries, and telemetry.

Simulated Satellite

Test without hardware. Replays CAE event streams at configurable speed (1x, 10x, 100x). Physics-accurate timing from real orbital mechanics.

CLI Tool

rotastellar-agent simulate --plan plan.json --speed 100
Run simulations from the command line against any CAE plan.

Test Without Hardware

Every CAE plan includes a complete event stream — the exact sequence of events that would occur during real execution.

The Simulated Satellite replays these events with physics-accurate timing derived from SGP4 orbital propagation, ground station passes, and link budgets. Deploy a workload in Mission Control and watch the execution timeline unfold — step starts, transfer progress, checkpoints, completion — all without touching a real satellite.

When you're ready for real hardware, the same Agent trait implementation works unchanged. Swap SimulatedSatellite for your custom Agent implementation and the protocol stays identical.

Get Started

Deploy your first workload

Create a mission in Mission Control, generate a plan, and deploy it. Watch the simulated execution timeline in real-time.