Chat SDK adds a new adapter for XChat, X's end-to-end encrypted messaging product, letting developers build bots for encrypted 1:1 and group conversations. The adapter automatically handles encryption, key management, and signature verification. Bots can message users first if the user has encrypted chat enabled and follows the bot. Since XChat lacks markdown rendering, the adapter falls back to tappable links for URLs and mentions, ASCII code blocks for tables, and text with link previews for cards, while streaming is implemented via message edits.
Questions this post answers
How do I build a bot for XChat, X's encrypted messaging feature?
Use the official XChat adapter for Chat SDK, which handles encryption, key management, and signature verification automatically. Import createXchatAdapter from @chat-adapter/x/chat, pass it into the adapters config of a new Chat instance, and use bot.onDirectMessage to reply to incoming messages with thread.post. See how daily.dev surfaces new Chat SDK adapters for developers building encrypted messaging bots.
Does the XChat adapter for Chat SDK support markdown formatting?
No, XChat has no native markdown rendering, so the adapter falls back automatically: URLs and @mentions become tappable links, tables render as ASCII code blocks, and cards appear as plain text with a link preview. Streaming responses are implemented through message edits rather than native streaming support. Track messaging platform quirks like these on daily.dev before they bite your bot integration.