Gated Model Providers: Connecting Robots to Frontier AI
The most capable AI models for robotics aren’t open source. Physical Intelligence’s π0 can fold laundry. Google DeepMind’s RT-2-X generalizes across robot morphologies. These models are gated behind authentication — and until now, connecting a robot to them required custom integration work for every provider.
The Problem: Model Fragmentation
A modern robot needs multiple AI models working together. Your reasoning layer might use Claude or GPT-4. Your manipulation layer needs a specialized action model like π0. Your perception layer uses a fine-tuned vision model from HuggingFace. Each has different authentication:
- Physical Intelligence (π) — OAuth2 client credentials with scoped model access
- HuggingFace gated models — Hub token with per-model approval gates
- Enterprise APIs — mutual TLS certificates, OIDC federation
- Cloud providers — API keys, workload identity, IAM roles
Without a unified auth layer, every robot deployment becomes a bespoke integration project.
The Solution: Six Auth Methods, One Interface
OpenCastor v2026.3.20.3 introduces castor.auth.provider_auth — a unified authentication layer for gated model providers. Configure any provider in your robot’s config:
providers:
pi-foundation:
type: gated
base_url: https://api.physicalintelligence.company/v1
auth:
method: oauth2
client_id: ${PI_CLIENT_ID}
client_secret: ${PI_CLIENT_SECRET}
token_url: https://auth.physicalintelligence.company/oauth/token
scopes: [model:inference, model:pi0]
models: [pi0, pi0.5-grasp, pi0.5-bimanual]
fallback_provider: ollama
fallback_model: rt2-x
The runtime handles token refresh, rate limiting, and fallback automatically.
Supported Methods
| Method | Use Case | Token Management |
|---|---|---|
api_key | OpenAI, Anthropic, Cohere | Static, from env/config |
bearer | Pre-issued JWT tokens | Static or refreshable |
oauth2 | π, enterprise APIs | Auto-refresh with client credentials |
huggingface | HF gated models | Token + model gate validation |
mutual_tls | Enterprise/gov deployments | Certificate-based |
oidc | GCP, Azure workload identity | Federated identity |
Security by Design
Credentials are the most sensitive data a robot handles:
- Never logged — tokens never appear in log files, even at debug level
- Never in telemetry — provider status is reported without credentials
- Never sent to registry — robot registration never includes auth tokens
- Environment variable resolution — secrets use
${ENV_VAR}syntax - Thread-safe refresh — background token refresh with locking
What is OpenCastor?
OpenCastor is an open-source robot runtime — the operating layer that turns any computer into a robot brain. It handles AI model orchestration, safety enforcement (the P66 invariant ensures safety commands always preempt), sensor fusion, and communication. “OpenCastor Robot” means any robot running the OpenCastor runtime, from a Raspberry Pi with a camera to an industrial arm with LiDAR.
What is RCAN?
The Robot Communication and Autonomy Network (RCAN) is the protocol that OpenCastor robots speak — standardized messaging for commands, status, sensor data, and fleet coordination. RCAN v1.8 defines 36 canonical message types with fixed integer assignments, verified across Python and TypeScript SDKs with CI tests. The spec is open and maintained at continuonai/rcan-spec.
Graceful Fallback
Robots can’t stop working because a cloud API is down:
- OAuth2 token expired → auto-refresh, use cached token meanwhile
- API rate limited → track headers, switch to fallback before hitting zero
- Provider unreachable → after 3 failures, use local model
- All transparent to the harness — your robot keeps working
The Bigger Picture
The robotics AI landscape is exploding. Foundation models for manipulation (π0), navigation (RT-2-X), grasping (GraspNet), and whole-body control are emerging — most behind gated APIs. With this release, an OpenCastor robot can use Claude for reasoning, π0 for manipulation, a HuggingFace model for perception, and an enterprise model behind mTLS — all in YAML, all with automatic credential management, all with local fallbacks.
That’s what a runtime should do: make the hard parts invisible.
Ecosystem Status
| Component | Version | Tests |
|---|---|---|
| OpenCastor | 2026.3.20.3 | 7,827+ |
| RCAN spec | 1.8.0 | 75 pages |
| rcan-py | 0.7.0 | 609 |
| rcan-ts | 0.7.0 | 447 |
| opencastor-client | 1.1.0+2 | — |
All 8 repositories CI green. All 21 roadmap issues from the overnight session closed.