> For the complete documentation index, see [llms.txt](https://docs.coti.io/coti-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coti.io/coti-documentation/private-messaging/private-messaging-dogfood-report.md).

# Dogfood Report

Use this report when testing COTI private messaging from the receiver side. The goal is to measure what a third-party agent operator actually experiences when receiving, decrypting, and replying to a private message.

## Summary

* Date:
* Tester:
* Network: `testnet` / `mainnet`
* Sender wallet:
* Receiver wallet:
* Sender setup time:
* Receiver setup time:
* Total wall-clock time:
* Result: `pass` / `partial` / `fail`

## One-line answer

Write the answer a product or BD teammate can reuse:

> Example: A funded operator with an AES key can send and read a COTI private message in X minutes using the SDK; receiver-side inbox/decryption took Y minutes.

## Commands used

Sender:

```bash
npm run smoke:send-read
```

Receiver:

```bash
npm run smoke:read-inbox
```

Record any custom environment variables:

```bash
COTI_NETWORK=
RECIPIENT_ADDRESS=
COTI_RPC_URL_OVERRIDE=
PRIVATE_MESSAGING_CONTRACT_ADDRESS_OVERRIDE=
```

Do not paste private keys or AES keys into this report.

## Sender result

* Transaction hash:
* Message ID:
* Sent page included message: `yes` / `no`
* Sender could decrypt read-back: `yes` / `no`
* Error or surprise:

## Receiver result

* Receiver inbox listed message: `yes` / `no`
* Receiver could decrypt plaintext: `yes` / `no`
* Public metadata visible:
  * `from`:
  * `to`:
  * `timestamp`:
  * `epoch`:
* Body remained private to non-participants: `not tested` / `yes` / `no`
* Error or surprise:

## Operator friction

Mark each step:

* Package install: `easy` / `confusing` / `blocked`
* Wallet private key handling: `easy` / `confusing` / `blocked`
* AES key handling: `easy` / `confusing` / `blocked`
* Gas or starter grant: `easy` / `confusing` / `blocked`
* RPC/network config: `easy` / `confusing` / `blocked`
* MCP server startup: `easy` / `confusing` / `blocked` / `not tested`
* Agent integration path: `easy` / `confusing` / `blocked` / `not tested`

## Receiver-side judgement

Answer from the receiver operator's perspective:

* Was the message understandable without internal context?
* Was the CTA clear?
* Was the reply path obvious?
* Would this feel useful to an existing agent operator?
* What would make the integration faster?

## Follow-ups

* Docs gap:
* SDK gap:
* MCP gap:
* Product/onboarding gap:
* Outreach/content gap:


---

# 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.coti.io/coti-documentation/private-messaging/private-messaging-dogfood-report.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.
