# Cryptalk Documentation

The `@cryptalk` package provides the Cryptalk client SDK for browsers, written in TypeScript. It enables developers to build decentralized messaging applications and manage real-world asset (RWA) transactions.

To keep up with the latest SDK developments, see the [Issues tab](https://github.com/cryptalk-chat/cryptalk-chat/issues) in this repo.

### Key Features

* **Secure Messaging:** End-to-end encrypted messaging for DMs and group chats.
* **Identity Management:** Robust handling of wallet identities and cryptographic keys.
* **RWA Marketplace Integration:** Tools to interact with Real World Asset marketplaces built on the Cryptalk network.

This SDK uses the [origin private file system](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) (OPFS) to persist a SQLite database and the [SyncAccessHandle Pool VFS](https://sqlite.org/wasm/doc/trunk/persistence.md#vfs-opfs-sahpool) to access it. This VFS does not support multiple simultaneous connections.

This means that when using this SDK in your app, you must prevent multiple browser tabs or windows from accessing your app at the same time.

This SDK and some of its dependencies use `import.meta.url`. Some bundlers must be configured to account for this during development.

*Cryptalk is a fork of XMTP that extends its functionalities, including features for Real World Asset (RWA) marketplaces and enhanced chat capabilities.*


---

# 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://cryptalks-organization-1.gitbook.io/cryptalk-sdk/cryptalk-documentation.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.
