# Message lifecycle

![](/files/A85pemp0zjMH4OhYAZaa)

A message in Sudo can move through several states and actions. Understanding this lifecycle helps explain chat behavior clearly.

## 1. Compose

The user creates content: text, media, file, location, poll, event, contact, GIF, or payment-related request.

## 2. Review

Some messages need lightweight review before sending. Media may be edited, PDFs previewed, and Web3 actions reviewed before signing.

## 3. Send

After sending, the message enters the conversation timeline. Depending on content type, it may appear as text, media, document, transaction card, poll, event, or another specialized bubble.

## 4. Feedback

Users may see delivery/read status, typing or recording state from others, reactions, replies, mentions, and message info.

## 5. Manage

Messages can be edited, deleted, forwarded, starred, pinned, searched, or inspected. In group and channel contexts, moderation rules may also affect what users can do.

## 6. Retain or disappear

Depending on privacy settings, messages may remain in history, be exported/backed up, or disappear according to a default disappearing timer.

## Web3-specific lifecycle

A transaction-related message has extra responsibility:

1. Start payment or transaction flow.
2. Review amount, address, token, and network.
3. Sign using the relevant wallet flow.
4. Display transaction bubble.
5. Open receipt/details when needed.
6. Use bots or alerts to monitor status later.


---

# Agent Instructions: 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:

```
GET https://docx.sudochat.app/chat/message-lifecycle.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
