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

# Quickstart

> Verify the human behind an agent in under 2 minutes.

## 1. Get an API key

Sign up at [agentscore.com/dashboard](https://www.agentscore.com/dashboard) to get your API key. `POST /v1/assess` and `POST /v1/sessions` are available on every tier including Free, gated by monthly quota; see [pricing](https://www.agentscore.com/pricing) for current quotas and rate limits.

## 2. Verify the buyer behind an agent

Call `POST /v1/assess` with a wallet address and a policy. AgentScore resolves the operator behind the wallet and returns an explicit allow/deny decision against your policy:

```bash theme={"dark"}
curl -X POST https://api.agentscore.com/v1/assess \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "address": "0xdb5aa553feeb2c3e3d03e8360b36fb0f7e480671",
    "policy": { "require_kyc": true }
  }'
```

The address can be EVM (`0x...` hex) or Solana (base58); the network is detected from the format. Beyond `require_kyc`, a policy can require an age band, a sanctions-clear result, and an allowed jurisdiction list.

## 3. Read the decision

Response abbreviated; see [POST /v1/assess](/api-reference/post-assess) for the full format.

```json theme={"dark"}
{
  "decision": "allow",
  "decision_reasons": []
}
```

A `deny` carries machine-readable `decision_reasons` (for example `kyc_required`, `sanctions_flagged`, `jurisdiction_restricted`) so your code, or the agent, knows what to do next.

## 4. Enforce in your application

```javascript theme={"dark"}
const assessment = await fetch("https://api.agentscore.com/v1/assess", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.AGENTSCORE_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    address: walletAddress,
    policy: { require_kyc: true },
  }),
}).then((r) => r.json());

if (assessment.decision === "deny") {
  return res.status(403).json({
    error: "wallet_not_trusted",
    reasons: assessment.decision_reasons,
  });
}

// Proceed with the transaction
```

<Note>
  This is a minimal raw-API integration. For production merchants, use [AgentScore Commerce (Node.js)](/integrations/node-commerce) or [AgentScore Commerce (Python)](/integrations/python-commerce); they ship a drop-in identity gate that auto-routes fixable compliance reasons (`kyc_required`, `kyc_pending`, `kyc_failed`) into a self-service verification flow (mints a session, returns `verify_url` + `poll_secret`, agent polls for a fresh `operator_token`), and surfaces `contact_support` for unfixable reasons (`sanctions_flagged`, `age_insufficient`, `jurisdiction_restricted`). The raw `decision === "deny"` example above collapses every denial into a single bare 403, which works for prototyping but loses the structured agent-recovery contract.
</Note>

## 5. Optional: reputation signal

Alongside the identity decision, `GET /v1/reputation` returns an on-chain trust score (0 to 100) and letter grade for a wallet. It is a supplementary signal, not the gate; lead with `assess` and reach for reputation only when you want extra on-chain context.

```bash theme={"dark"}
curl -H "X-API-Key: your-api-key" \
  https://api.agentscore.com/v1/reputation/0xdb5aa553feeb2c3e3d03e8360b36fb0f7e480671
```

See [GET /v1/reputation](/api-reference/get-reputation) for the response format.

## Next steps

<CardGroup cols={2}>
  <Card title="Agentic Commerce Quickstart" icon="rocket" href="/guides/agent-commerce-quickstart">
    Merchant side: drop-in AgentScore Gate middleware, Martin Estate as the worked example.
  </Card>

  <Card title="AgentScore SDK (TypeScript)" icon="js" href="/integrations/typescript">
    Official Node.js / TypeScript client.
  </Card>

  <Card title="AgentScore SDK (Python)" icon="python" href="/integrations/python">
    Official Python client with async support.
  </Card>

  <Card title="AgentScore Commerce (Node.js)" icon="server" href="/integrations/node-commerce">
    Identity middleware + payment helpers + 402 builders for Hono, Express, Fastify, Next.js, and Web Fetch.
  </Card>

  <Card title="AgentScore Commerce (Python)" icon="shield-check" href="/integrations/python-commerce">
    Identity middleware + payment helpers + 402 builders for FastAPI, Flask, Django, AIOHTTP, and Sanic.
  </Card>

  <Card title="AgentScore Pay (MCP Server)" icon="bot" href="/mcp/overview">
    Add identity checks to Claude and Cursor.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/overview">
    Full endpoint documentation.
  </Card>
</CardGroup>
