Developer Experience

Ship in Minutes.
Not Weeks.

One API key. One REST endpoint. React hooks for the frontend, TypeScript SDK for the backend. Zero-config dev mode for local testing. 80+ endpoints, all documented.

Three Lines to Fairness

cURL: Join a queue
curl -X POST https://api.entrouter.com/v1/join \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"eventId": "concert-2025", "userId": "user_abc123"}'
Response
{
  "position": 1847,
  "total": 52419,
  "fairnessToken": "ft_a1b2c3d4e5...",
  "proofAvailable": true,
  "estimatedWait": "2m 14s"
}

React Hooks

useRace: Real-time queue position
import { useRace } from '@entrouter/react';

function QueueView({ eventId }) {
  const { position, total, status, proof } = useRace(eventId);

  return (
    <div>
      <h2>Position {position} of {total}</h2>
      <p>Status: {status}</p>
      {proof && <a href={proof.url}>Download Proof</a>}
    </div>
  );
}
useQueue: Admin queue management
import { useQueue } from '@entrouter/react';

function AdminPanel({ eventId }) {
  const { queue, drain, pause, stats } = useQueue(eventId);

  return (
    <div>
      <p>{stats.active} active / {stats.waiting} waiting</p>
      <button onClick={() => drain(100)}>Drain 100</button>
      <button onClick={pause}>Pause Queue</button>
    </div>
  );
}

80+ Endpoints. Full Coverage.

An endpoint is a URL your app calls to do something, like joining a queue or checking a position. Entrouter gives you over 80, organized into six categories. Send a request, get JSON back. That's it.

🔑

Authentication

Key management, rotation, scope control, proof-only keys, password reset

10 endpoints
📋

Queue Operations

Join, leave, position check, batch enqueue, drain, pause, resume, stats

14 endpoints
📊

Telemetry

Real-time stats, anomaly streaming, system health, data export

14 endpoints
🛡️

Security

IP allowlists, VPN detection, configurable rate limits, threat reports, anomaly feeds

14 endpoints
🌳

Proofs

Proof retrieval, batch export, chain verification, geo validation, audit bundles

10 endpoints
⚙️

Admin & Configuration

Webhooks, audit log search, IP allowlists, geo settings, archive access, module toggles

18 endpoints

Built for Engineers

🚀

Zero-Config Dev Mode

Run locally with no external dependencies. Dev mode simulates the full protection stack in-memory. Same API, same responses, same error codes. Switch to production by changing one environment variable.

🔄

Real-time Delivery

Server-Sent Events (SSE) for live position updates. No polling. No WebSocket complexity. One HTTP connection, instant updates. Works behind every proxy, load balancer, and CDN.

🌐

Multi-Runtime

TypeScript SDK and React hooks for the frontend. REST API works with anything that speaks HTTP: Python, Go, Ruby, Java, or plain cURL. Every endpoint returns clean JSON.

🔌

Bring Your Own Store

Enterprise plans can connect their own RESP-compatible data store. Run the engine against your infrastructure, your datacenter, your compliance boundary. We call it BYOR (Bring Your Own Runtime).

Go Live in 4 Steps

1

Get Your Key

Sign up, get your API key instantly. No approval process, no sales call required.

2

Create an Event

One POST request to create your event. Set capacity, enable modules, configure queues.

3

Send Users In

Each user hits /v1/join with their ID. They get a position, a fairness token, and a live SSE stream.

4

Drain & Verify

Drain the queue at your pace. Download audit bundles. Every decision is provable.

Obsessively Documented

80+ endpoints. Every one has request/response examples, error codes, rate limit headers, and edge case documentation. We built the API we'd want to use.

Get Your API Key.
Ship Today.

Full production access. No approval process. No sandbox limitations.