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

# Create result (`neus_verify`)

> Create a saved result from inside an MCP session.

Use **`neus_verify`** to create a result when the signed-in account can complete the check in-session. For steps that need a browser (OAuth, personhood, payment, wallet connect), use **[`neus_verify_or_guide`](./verify-or-guide)** instead. It returns a hosted link.

Always run **`neus_proofs_check`** first and reuse an existing result before creating a new one.

When signed in, **omit `walletAddress`**. The tool uses your profile account from `neus_context`.

## Input

| Field                  | Required | Notes                                                              |
| ---------------------- | -------- | ------------------------------------------------------------------ |
| `verifierIds`          | Yes      | One or more check IDs                                              |
| `walletAddress`        | No       | Omit when signed in; required only when acting for another account |
| `data`                 | No       | Check inputs (see each [check](../verification/verifiers))         |
| `chain`                | No       | CAIP-2 chain when needed                                           |
| `signature`            | No       | Provided in the finalize step                                      |
| `signedTimestamp`      | No       | Provided in the finalize step                                      |
| `options.returnUrl`    | No       | Where to send the user if a hosted step is needed                  |
| `options.publishToHub` | No       | Make the receipt discoverable on your profile                      |

```json theme={"dark"}
{ "verifierIds": ["ownership-basic"], "data": { "content": "Hello NEUS" } }
```

## Signing flow

`neus_verify` is two-phase when a signature is required. The first call returns the exact signing material once; complete it with the bound account and submit it back to finalize. Do not restart the preparation step blindly — finalize with the material you were given.

## Output

A plain-language **Passed**, **Action needed**, or **Blocked** result. On success, the tool also returns the receipt ID in `qHash` for your server. If a browser step is required, it returns a `next_action` link.

**Prefer verify-or-guide for most assistants:** [`neus_verify_or_guide`](./verify-or-guide).
