> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pikarc.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# What is Pikarc?

> Runtime control plane for AI applications. Budget enforcement, kill switch, audit trail — at every model call and tool call.

Pikarc sits between your agent code and the models/tools it calls. Every model call and tool call passes through Pikarc, which makes an **ALLOW** or **DENY** decision based on your configured guardrails.

## Core Concepts

<CardGroup cols={2}>
  <Card title="Workspace" icon="building">
    Your tenant boundary. Owns runs, API keys, budgets, and the kill switch. One workspace per account.
  </Card>

  <Card title="Run" icon="play">
    A single agent execution. Contains an ordered list of Steps. Status progresses from RUNNING to COMPLETED, FAILED, or BLOCKED.
  </Card>

  <Card title="Step" icon="list-check">
    One action within a run. Types include MODEL\_CALL, TOOL\_CALL, INPUT, OUTPUT, REASONING, and SYSTEM. Each step gets a Decision.
  </Card>

  <Card title="Decision" icon="shield-check">
    ALLOW or DENY, evaluated at run start and before each step. Includes the deny reason and which rules were evaluated.
  </Card>
</CardGroup>

## How It Works

```
Your Agent Code
       │
       ▼
┌─────────────┐
│  Pikarc   │  ← Budget checks, kill switch, concurrency limits
│  SDK        │
└──────┬──────┘
       │ ALLOW / DENY
       ▼
  Model / Tool
```

1. Your agent starts a **run** via the SDK
2. Before each model call or tool call, Pikarc evaluates guardrails
3. If all checks pass → **ALLOW** — the call proceeds
4. If any check fails → **DENY** — `PikarcBlockedError` is raised
5. Token usage and costs are tracked automatically
6. The run ends, and everything is visible in the dashboard

## What Gets Checked

| Rule                   | Description                                 |
| ---------------------- | ------------------------------------------- |
| Kill switch            | Emergency brake — blocks all runs instantly |
| User blocked           | Individually blocked users                  |
| Workspace daily budget | Total spend limit per day                   |
| User daily budget      | Per-user spend limit per day                |
| Monthly run limit      | Runs per month (based on plan tier)         |
| Max concurrent runs    | Simultaneous active runs                    |

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Install the SDK and wrap your first model call in 5 minutes.
  </Card>

  <Card title="SDK Reference" icon="code" href="/sdk/overview">
    Full SDK API: client, guarded runs, error handling.
  </Card>

  <Card title="API Reference" icon="server" href="/api-reference/overview">
    REST API endpoints for runs, workspace, usage, and more.
  </Card>

  <Card title="Guardrails Guide" icon="shield" href="/guides/guardrails">
    How the decision engine evaluates rules and denies requests.
  </Card>
</CardGroup>
