Early access — onboarding customers one at a time

The runtime for AI agents.

Infrail runs agent processes in isolation, calls their tools reliably, stores their memory, and records every step. One runtime instead of a stack you assemble and maintain yourself.

Product

Four primitives, one runtime.

Agents need somewhere to run, a safe way to call tools, somewhere to keep state, and a record of what happened. Infrail provides those four things and nothing you did not ask for.

Runtime

Isolated execution for agent processes, scheduled and scaled per run.

Tools

Managed tool invocation with retries, timeouts, and structured error handling.

Memory

Durable, queryable memory backed by vector and relational storage.

Workflows

Resumable orchestration for multi-step tasks. Currently in development.

Architecture

How a request moves through Infrail.

Application
Your product, backend, or client SDK
Infrail Runtime
Isolation · Scheduling · Observability
Models
Tools
Memory
Workflows

Features

What the runtime handles for you.

Isolation by default

Every run executes in its own sandbox with per-tenant policies and scoped credentials.

Reliable tool calls

Timeouts, retries, and typed errors are handled by the runtime, not your agent code.

Model agnostic

OpenAI, Anthropic, Google, or self-hosted models behind one interface.

Step-level traces

Structured traces, token accounting, and logs for every step of every run.

Durable memory

Vector and relational memory that outlives a single run and stays queryable.

Resumable workflows

Long-running tasks that survive restarts. In development, available to early customers.

SDK

Define an agent in one file.

The SDK is small and unopinionated. Declare the agent, register its tools, deploy with the CLI. Runtime, memory, and tracing are wired in automatically.

npm i @infrail/sdkSDK reference
agent.ts
import { defineAgent, tool } from "@infrail/sdk";
import { z } from "zod";

export default defineAgent({
  name: "support-agent",
  model: "anthropic/claude-sonnet",
  memory: { store: "postgres" },
  tools: [
    tool({
      name: "lookup_order",
      input: z.object({ id: z.string() }),
      run: async ({ id }) => db.orders.find(id),
    }),
  ],
  async handle({ input, run }) {
    return run(`Resolve customer request: ${input}`);
  },
});

Why Infrail

Why teams choose to build on us.

One system to operate

Queues, sandboxes, vector stores, and tracing replaced by a single runtime with one mental model.

Built by infrastructure engineers

Typed SDK, first-class CLI, git-based deploys, and full API coverage. No UI-only workflows.

Honest about maturity

We are early. Working features are documented, unfinished ones are labelled, and we say no when something is not ready.

Pricing without games

A direct quote for your workload. No per-seat fees, no per-token markup, no forced annual commitment.

Read the documentation, or just talk to us.

Guides, API reference, and operational notes. If something is missing, email us and an engineer will answer.