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

# Quickstart

> From zero to a provable verdict in five minutes.

## 1. Create an account

Sign in at [harness.chance.cc/login](https://harness.chance.cc/login). Your account is created with **50 free credits** and an embedded wallet — no card required.

## 2. Create an API key

In the [dashboard](https://harness.chance.cc/dashboard), click **Create API key** and copy it.

<Warning>
  Your API key (`chance_sk_…`) is shown only once and is a secret. Store it server-side; never ship it in client code.
</Warning>

## 3. Verify an intent

Send what the agent is mandated to do (`intent`) and what it proposes to do (`action`):

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://harness.chance.cc/api/v1/intent \
    -H "x-api-key: $CHANCE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "intent": "Only buy favorites priced >= 95c. Reject longshots.",
      "action": "Buy YES on the Will-X-win market @ 21c for $10."
    }'
  ```

  ```ts TypeScript theme={null}
  const res = await fetch("https://harness.chance.cc/api/v1/intent", {
    method: "POST",
    headers: {
      "x-api-key": process.env.CHANCE_API_KEY!,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      intent: "Only buy favorites priced >= 95c. Reject longshots.",
      action: "Buy YES on the Will-X-win market @ 21c for $10.",
    }),
  });

  const { verdict, reasoning, proof } = await res.json();
  if (verdict !== "ALLOW") throw new Error(`Blocked: ${reasoning}`);
  ```

  ```python Python theme={null}
  import os, requests

  r = requests.post(
      "https://harness.chance.cc/api/v1/intent",
      headers={"x-api-key": os.environ["CHANCE_API_KEY"]},
      json={
          "intent": "Only buy favorites priced >= 95c. Reject longshots.",
          "action": "Buy YES on the Will-X-win market @ 21c for $10.",
      },
  )
  print(r.json()["verdict"])  # -> "BLOCK"
  ```
</CodeGroup>

## 4. Act on the verdict

```json theme={null}
{
  "verdict": "BLOCK",
  "reasoning": "The action buys a 21c longshot, which violates the favorites-only (>= 95c) rule.",
  "proof": {
    "transcriptRoot": "0x…",
    "signature": "0x…",
    "attested": true,
    "anchorTx": "0x…"
  },
  "creditsRemaining": 49
}
```

**Fail-closed:** execute only on `ALLOW`. Treat `BLOCK` and `ESCALATE` as do-not-execute.

<Card title="Next: how the proof works" icon="shield-check" href="/concepts/proofs">
  Every verdict ships with a receipt anyone can re-verify.
</Card>
