> For the complete documentation index, see [llms.txt](https://sending-network.gitbook.io/sending.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sending-network.gitbook.io/sending.network/use-cases/wallet-to-wallet-messaging.md).

# Wallet-to-Wallet Messaging

Built as a crypto native protocol, Sending.Network’s wallet-based Decentralized ID, which is inherently public, supports an assets negotiation and exchange environment that no centralized chat solution can accomplish.

In the Web3 world, chat is not just about sending and receiving messages but a means to facilitate asset trading, e.g., in-game NFTs. Imagine your dream NFT is right in front of you, sitting in a wallet address, and you are ready to make a generous offer. But how can you contact the owner? There is no email or cell phone number to use. Wallet-to-wallet messaging enables you to start negotiating with the NFT owner at once.

<figure><img src="/files/qzrIFcBZ5f5PHcbRxBOs" alt=""><figcaption><p>Overview</p></figcaption></figure>

Below we provide a specific use case describing how the user contacts an unknown wallet address.

### **Use Case Name**

Send NFT inquiry message to an unknown wallet address.

### **Actors**

1. Wallet app
2. Wallet user
3. NFT holder
4. Sending.Network protocol

### **Preconditions**

1. The wallet app has integrated the Sending.Network protocol.
2. The NFT holder has an Sending.Network account.

### **Basic Flow of Events**

1. The use case begins when the user sees an unknown wallet address with the desired NFT.
2. The user searches for the wallet address inside the messaging window of the wallet.
3. The wallet calls the Sending.Network peer discovery API.
4. Sending.Network broadcast the peer ID of the NFT holder's wallet address and locates its client.
5. Sending.Network creates a topic for the wallet user and the NFT holder and establishes communication.
6. User enters the messaging window inside the wallet.
7. User sends an inquiry message.
8. The wallet fully encrypts the message and calls Sending.Network message sending API.
9. Sending.Network forwards the message to the receiver.
10. The NFT holder receives the message and responds.
11. The user receives the response and starts the negotiation.
12. The use case ends successfully.

<figure><img src="/files/AyehRP6YxdL4bH75UkRT" alt=""><figcaption><p>Flow Chart</p></figcaption></figure>

### **Post-conditions**

The user successfully receives the response from the NFT holder.


---

# 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://sending-network.gitbook.io/sending.network/use-cases/wallet-to-wallet-messaging.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.
