[B3OS beta] Agent infrastructure

Agent tools, next to the model.

Browsers, sandboxes, rendering, workflows and marketplace actions run on the B3IQ machine that serves the model. When your agent runs in a sandbox there and uses a model served there, the think, act, observe loop stays on one machine. Agents running elsewhere still get fast tools over the API; agents on frontier models get co-located tools, not a co-located model.

Get API key

Invite-only beta.llms.txtQuickstart

The loop, measured

One agent task, run from three places

Measuring
AAgent in a sandbox on the nodemeasuringThe harness runs inside a B3OS sandbox and calls the co-located model and tools over vsock.
BAgent in AWS us-west-2, calling B3OSmeasuringThe same harness runs in us-west-2 and calls B3OS through beta-api.b3os.org.
CAgent in AWS us-west-2, calling other providersmeasuringThe same harness in us-west-2 calls the same open model on an OpenAI-compatible host, and E2B, Firecrawl and Browserbase through their own SDKs.
No published runs yet. Each task is N turns. A turn is one streamed infer.chat call on a named model with fixed prompt and token counts, plus one tool call that rotates among sandboxes.exec, vision.scrape (a local fixture and one real site) and a browser-session act. At least 30 tasks per configuration, p50 and p95 per turn and per task, with the share of each turn spent in transport rather than compute. Raw JSONL for every run. Method and raw runs

[01/06] The stack

Four layers. One machine.

B3IQ runs the hardware and the models. B3OS runs the tools an agent calls between model turns, on the same node.

Layer 01 /

Compute

Surfaceb3iq.org

GPU machines on B3IQ's own hardware.

Layer 02 /

Inference

Surface/v1/infer

Models served on those machines.

Layer 03 /

Runtime

Surface/v1/sandboxes · /v1/vision · /v1/render

Sandboxes, browsers and rendering, on the same machine as the model.

Layer 04 /

Automation

Surface/v1/routines · /v1/actions

Durable routines and an open marketplace of actions and triggers.

Shared physical capacityGPU, CPU and NVMe on one node2x H200 · 2x EPYC 9355 · Eugene, Oregon

[03/06] Drop-in

Keep your SDKs. Change two variables.

Firecrawl

The Firecrawl v1 and v2 APIs, with Firecrawl's own status codes, errors and pagination. The Firecrawl SDKs and MCP server need only the base URL and key. Endpoints B3OS does not serve answer with a Firecrawl-shaped error that names the alternative.

Firecrawl SDK
FIRECRAWL_API_URL=https://beta-api.b3os.org/compat/firecrawl
FIRECRAWL_API_KEY=$B3OS_API_KEY

OpenAI

Chat completions with streaming and tools, the model list and speech, on the models served on the node. Unknown models return an error instead of falling back somewhere else.

OpenAI SDK
OPENAI_BASE_URL=https://beta-api.b3os.org/v1/infer
OPENAI_API_KEY=$B3OS_API_KEY

From inside a sandbox

The same paths answer at 127.0.0.1:7700 over vsock, without a network hop or a key. The sandbox's grant decides what its code may call.

Sandbox environment
# Set for you in every B3OS sandbox; no key needed
B3OS_API_URL=http://127.0.0.1:7700

[04/06] Benchmarks

Every number has a source.

Each B3OS figure comes from a run you can download, with its provenance, vantage, side, date and sample count. Numbers other providers published link to their source. Until a run is published, the method stands in for the number.

Claim to first exec

Create a sandbox and run its first command, end to end on the same host, at idle. Pool depth stated.

Measuringp50, client side

Browser scrape

Navigate, wait for ready, read HTML and convert to Markdown, against a recorded (HAR replay) origin on a named corpus.

Measuringp50, server side

Styled screenshot

1600×900 at DPR 1, JPEG or WebP, quiet window included, server side.

Measuringp50, server side

Durable step, standard

An effect step with standard durability, journal commit included.

Measuringp50, server side

Declarative action overhead

Time added by the action runtime, upstream excluded, for responses up to 16 KB.

Measuringp50, server side

Time to first token

Streamed chat completion on the co-located model, with B3OS idle and at budgeted load.

Measuringp50, client side
All benchmarks and the method

[05/06] Pricing

Free during the beta, with caps.

Usage is metered from the first call so you can see what you use. Admission is by invite code, against the headroom we measure on the node.

10
Sandboxes running at once
5
Browser sessions at once
60
Scrapes per minute
50,000
Routine steps per day
All caps and metered units

[06/06] Docs

One request to start.

curl -sS https://beta-api.b3os.org/v1/vision/scrape \
  -H "Authorization: Bearer $B3OS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","formats":["markdown"]}'