# Veriticity > Veriticity is the trust layer between an AI agent and the money it wants to spend. Give agents spending rules, approval thresholds and budgets, and get an explained decision on every purchase. Veriticity decides whether an AI agent may make a purchase, against policies a person wrote, and explains every decision. It answers with permission, never with a payment. Every page below is Markdown. The whole documentation in one file is https://docs.veriticity.com/llms-full.txt, and the API is described by the OpenAPI document at https://docs.veriticity.com/openapi.json. ## Instructions for coding assistants - Build and test against Sandbox: `https://sandbox.veriticity.com` with a `cmp_test_` key. Live is `https://app.veriticity.com` with a `cmp_live_` key. - Keep API keys on the server. A key's secret is shown once and only a hash is stored. - Nothing is allowed until a policy allows it. An agent with no applicable policy gets `NO_APPLICABLE_POLICY`. - Check before you buy: a simulation runs the same evaluation as a purchase and changes nothing. - Send an `Idempotency-Key` on every purchase request. It is required, and makes a retry safe. - Identify the merchant by its website, `merchantDomain`. A merchant name identifies no merchant. - `APPROVED` is permission for that one purchase on exactly its terms, until `expiresAt`. It is not a purchase and not a payment. - `REQUIRES_APPROVAL` means a person decides. Wait for the decision; never treat it as approved. - A decision is final. Do not resubmit a refused purchase with altered details to get a different answer. ## Getting started - [Introduction](https://docs.veriticity.com/index.md): Veriticity is the trust layer between an AI agent and the money it wants to spend. Give agents spending rules, approval thresholds and budgets, and get an explained decision on every purchase. - [Quickstart](https://docs.veriticity.com/quickstart.md): Submit your first purchase through the Veriticity API and read the decision. A complete worked example in cURL and TypeScript, from API key to explained outcome. - [SDK](https://docs.veriticity.com/sdk.md): @veriticity/sdk is the official TypeScript client for the Veriticity API: typed purchase decisions, typed errors, webhook signature verification and discriminated event types, with zero runtime dependencies. - [Sandbox](https://docs.veriticity.com/sandbox.md): Try policies, agents and purchasing workflows in Sandbox without making real purchases. How to get in, cmp_test_ API keys, the Sandbox base URL, webhooks, copying your setup to Live and resetting. - [Building with AI](https://docs.veriticity.com/building-with-ai.md): Give a coding assistant the Veriticity docs: llms.txt, llms-full.txt, every page as Markdown, the OpenAPI document and the copy-page menu. ## Core concepts - [Authentication](https://docs.veriticity.com/authentication.md): How to authenticate against the Veriticity API. Agent-bound and organisation-scoped API keys, OAuth connections for AI assistants, scopes, and which credential reaches which endpoint. - [Purchases](https://docs.veriticity.com/purchases.md): Submit a purchase for a decision, check one before committing, and follow an approval escalation to its outcome. Decisions, reason codes, idempotency and budget holds. - [Policies](https://docs.veriticity.com/policies.md): How Veriticity decides what an AI agent may buy. Spending limits, merchant allow and block lists, budget windows, approval thresholds, and why policies are authored by people. ## Integrations - [Webhooks](https://docs.veriticity.com/webhooks.md): Receive signed events when purchases are decided, budgets move or connections change. Signature verification, the event catalogue, retries and at-least-once delivery. - [MCP](https://docs.veriticity.com/mcp.md): Veriticity's Model Context Protocol endpoint lets an AI assistant check, request and follow up on purchases within the spending rules a person set. Nine tools, three scopes, one OAuth connection. - [Assistant instructions](https://docs.veriticity.com/assistant-instructions.md): Recommended instructions to paste into Claude or ChatGPT so a connected assistant checks with Veriticity before buying, states prices and authority accurately, and reports outcomes. Instructions guide; Veriticity's decisions are what count. - [Examples](https://docs.veriticity.com/examples.md): Copyable, working examples: a first purchase, checking before buying, following an approval, idempotent retries, OAuth connection and webhook signature verification. ## Reference - [API reference](https://docs.veriticity.com/api-reference.md): The complete Veriticity REST API: every endpoint, its credential requirements, scopes, parameters, request and response shapes, and the errors it can return. - [Errors](https://docs.veriticity.com/errors.md): The Veriticity error contract: one envelope, stable machine-readable codes, and what to do about each. Includes the three permanent refusals a client must not retry. - [Conventions](https://docs.veriticity.com/conventions.md): The conventions every Veriticity endpoint follows: minor-unit money as strings, ISO 8601 timestamps, UUID identifiers, pagination, idempotency, body limits and versioning. ## Optional - [OpenAPI document](https://docs.veriticity.com/openapi.json): every endpoint, parameter, schema and error code, as JSON. - [Full documentation](https://docs.veriticity.com/llms-full.txt): every page above, in one Markdown file.