> For the complete documentation index, see [llms.txt](https://docs.dynamichooks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dynamichooks.com/verification.md).

# Verification

`Verified(event)` rules depend on someone attesting that something happened. Dynamic Hooks keeps that role small, auditable and replaceable.

## Verifiers

A verifier is a signing key on the engine's allow-list. It signs a typed message: the market, the event, the subject, a nonce and a deadline. The hook checks the signature, the nonce and the deadline, then evaluates the rule. A signature for one market cannot be replayed on another.

At launch the protocol runs the first verifier. The allow-list is public, additions and removals are announced before they take effect, and a market can require signatures from more than one verifier.

## Events

| Event                         | How it is established                                                                                                 |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `ownership(platform, handle)` | A code placed in the handle's public profile, or an OAuth login, checked by the verifier                              |
| `ownership(wallet)`           | A signed message from the wallet                                                                                      |
| `milestone(id)`               | A public, dated, verifiable statement defined in the program at launch (a URL, a contract address, a number on-chain) |

A `Verified` rule names the event it needs at creation. The verifier cannot invent events a program did not ask for.

## Agents

An agent is any address allowed to call `evaluate` on rules marked for agents. The agent pays gas. The rule still has to be true: an agent cannot sign for a verifier, cannot read state that is not there, and cannot fire a rule twice if it is `once`.

## What a verifier can and cannot do

It can delay a true claim by refusing to sign. It cannot move funds, change economics directly, or sign for an event the program did not define. If a verifier goes dark, the allow-list is updated and the claim proceeds with another.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.dynamichooks.com/verification.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
