Now in Early Access

When your AI hits a wall,
route to a human.

One API call. Vetted workers. Verified results. Instant Lightning payouts.
The escalation layer your AI agents are missing.

Get Started See How It Works
TypeScript
const result = await humanrail.tasks.create({
  taskType: "refund_eligibility",
  slaSeconds: 300,
  payload: { orderId, reason, policyText },
  outputSchema: refundSchema,
  payout: { currency: "USD", maxAmount: 0.50 },
});
// Verified human judgment in < 5 minutes

Built for teams using

LangChain CrewAI Vercel AI SDK OpenAI Assistants Claude

How It Works

Four steps. Under five minutes. Fully automated.

1

AI Escalates

Your agent hits a confidence threshold or encounters a task requiring human judgment. It calls our API with the task context and expected output schema.

2

We Route

Our routing engine matches the task to the best available worker based on skills, reliability, trust tier, SLA, and cost. Assignment in under 50ms.

3

We Verify

Six-stage verification pipeline: schema validation, rule checks, anomaly detection, gold task evaluation, redundancy consensus, and QA spot checks.

4

You Get Results

Structured, schema-validated response delivered via webhook or polling. Worker paid instantly via Lightning Network. Your agent continues.

Why HumanRail

Enterprise-grade human-in-the-loop, without building it yourself.

Verification-First

No payment triggers until our 6-stage pipeline confirms quality. Schema checks, anomaly detection, gold tasks, and redundancy consensus protect every result.

Lightning-Native Payouts

Workers paid in seconds via Lightning Network. No 30-day net terms. Satoshi-denominated internal ledger with USD conversion at payout. Strike and bank fallbacks.

Schema-Driven Tasks

Define input context and expected output as JSON Schema. We auto-generate worker forms, validate submissions, and return typed results. Works for any task type.

SLA Guarantees

Set deadlines per task. Our routing engine predicts completion time. At 80% SLA, backup workers activate. At 100%, automatic re-routing. You set the clock, we beat it.

Enterprise Integrations

Drop into existing workflows. Intercom, PagerDuty, Salesforce, ServiceNow connectors route escalations automatically and post results back to your tools.

Idempotent by Design

AI agents retry. Every endpoint accepts an idempotency key and produces the same result on replay. Built for the unpredictable world of agent orchestration.

Simple Pricing

Pay per task. No monthly minimums. Scale to millions.

Starter
15% per task

Of worker payout. Minimum $0.10 per task.

  • 100 req/s API rate limit
  • All verification stages
  • Lightning + fiat payouts
  • TypeScript, Python, Go SDKs
  • Webhook delivery
  • Community support
Start Building
High-Risk
20% per task

Triple-redundancy verification. Expert pools.

  • 3x worker redundancy
  • Consensus-based verification
  • Expert-tier worker pools
  • Priority routing
  • Enhanced audit trail
  • Dedicated support
Get Started

Five Minutes to First Task

Install. Configure. Escalate. That's it.

1. Install
npm install @humanrail/sdk
2. Create a task
import { EscalationClient } from '@humanrail/sdk';

const client = new EscalationClient({
  apiKey: process.env.HUMANRAIL_API_KEY,
});

const task = await client.tasks.create({
  idempotencyKey: `order-${orderId}-refund`,
  taskType: "refund_eligibility",
  riskTier: "medium",
  slaSeconds: 300,
  payload: {
    orderId: "order-12345",
    reason: "Item arrived damaged",
    policyText: "Refunds within 30 days...",
  },
  outputSchema: {
    type: "object",
    required: ["eligible", "reason_code"],
    properties: {
      eligible: { type: "boolean" },
      reason_code: {
        type: "string",
        enum: ["approved", "denied_policy", "needs_review"],
      },
    },
  },
  payout: { currency: "USD", maxAmount: 0.50 },
});

const result = await client.tasks.waitForCompletion(task.id);
console.log(result.output);
// { eligible: true, reason_code: "approved" }
1. Install
pip install humanrail
2. Create a task
from humanrail import EscalationClient

client = EscalationClient(
    api_key=os.environ["HUMANRAIL_API_KEY"]
)

task = client.tasks.create(
    idempotency_key=f"order-{order_id}-refund",
    task_type="refund_eligibility",
    risk_tier="medium",
    sla_seconds=300,
    payload={
        "orderId": "order-12345",
        "reason": "Item arrived damaged",
        "policyText": "Refunds within 30 days...",
    },
    output_schema={
        "type": "object",
        "required": ["eligible", "reason_code"],
        "properties": {
            "eligible": {"type": "boolean"},
            "reason_code": {
                "type": "string",
                "enum": ["approved", "denied_policy", "needs_review"],
            },
        },
    },
    payout={"currency": "USD", "max_amount": 0.50},
)

result = client.tasks.wait_for_completion(task.id, timeout=600)
print(result.output)
# {"eligible": True, "reason_code": "approved"}
1. Install
go get github.com/prime001/humanrail-sdk/go
2. Create a task
package main

import (
    "context"
    "fmt"
    "os"
    hr "github.com/prime001/humanrail-sdk/go/escalation"
)

func main() {
    client := hr.NewClient(os.Getenv("HUMANRAIL_API_KEY"))

    task, _ := client.CreateTask(context.Background(), &hr.TaskCreateRequest{
        IdempotencyKey: "order-12345-refund",
        TaskType:       "refund_eligibility",
        RiskTier:       hr.RiskTierMedium,
        SLASeconds:     300,
        Payload:        map[string]any{
            "orderId": "order-12345",
            "reason":  "Item arrived damaged",
        },
        Payout: &hr.Payout{Currency: "USD", MaxAmount: 0.50},
    })

    result, _ := client.WaitForCompletion(context.Background(), task.ID, nil)
    fmt.Println(result.Output)
}

Stop building escalation plumbing.
Start shipping AI that knows its limits.

Join the early access program. First 1,000 tasks free.

Request Early Access View on GitHub