+
+
+
+**Intent (coinbase.com/intent:1.0)**
+
+Purpose: User expresses choice from Quick Actions
+
+Structure:
+
+```typescript
+type IntentContent = {
+ id: string;
+ actionId: string;
+ metadata?: Record
+
+
+## Custom Transaction Trays
+
+If you would like to display agent information such as favicon and branded title, utilize the metadata property of wallet send calls data.
+
+#### **Example: Display agent information**
+
+```ts
+// example of wallet send calls data shape{
+ version: "1.0",
+ from: request.from as `0x${string}`,
+ chainId: this.networkConfig.chainId,
+ calls: [
+ {
+ ...
+ metadata: {
+ description: "Transfer token",
+ ...other fields,
+ hostname: "tba.chat",
+ faviconUrl: "https://tba.chat/favicon",
+ title: "Your favorite Agent"
+ }
+ }
+ ]
+}
+```
+
+
+
+
+
+You can send “GM” to **tbachat.base.eth** to get more details about message content types we support and get the firsthand experience on by interacting with our agent
+
+Our agent repo is found [here](https://github.com/siwan-cb/tba-chat-example-bot)
+
+### Best practices
+
+1. Always validate content structures
+2. Provide fallbacks for unsupported clients
+3. Test across client versions
+4. Limit message and metadata size
+5. Follow [XIP-67](https://community.xmtp.org/t/xip-67-inline-actions/941)
+6. Your agent should respond to both direct messages and group chat messages (if applicable).
+7. For direct messages, it should automatically respond.
+8. We recommend reacting to messages with an emoji (like 👀or ⌛) to indicate the message was received, while the response is processing.
+9. For group chat messages, agents should only respond if they are mentioned with the “@” symbol and the agent’s name. (example “@bankr”), OR if the user replies directly to a message from the agent (using the reply content type).
+
+For group chat messages, agents should only respond if they are mentioned with the "@" symbol and the agent's name. (example "@bankr"), OR if the user replies directly to a message from the agent (using the reply content type).
+
+## Getting featured
+
+Fill out the form [here](https://app.deform.cc/form/52b71db4-bfa2-4ef5-a954-76c66250bdd2/?page_number=0) to submit your agent for review. Note, agents often go through multiple rounds of feedback before they are ready to be featured. Once approved, your agent will be featured in Base App. You will hear back from us within 5 business days.
+
+Need help or have feature requests? Visit [https://community.xmtp.org/](https://community.xmtp.org/)
diff --git a/docs/base-app/agents/content-types.mdx b/docs/base-app/agents/content-types.mdx
new file mode 100644
index 000000000..d56dd49ab
--- /dev/null
+++ b/docs/base-app/agents/content-types.mdx
@@ -0,0 +1,183 @@
+---
+title: 'Content Types for Chat Agents'
+description: 'Learn about supported XMTP content types and how to use them in your chat agent'
+sidebarTitle: 'Content Types'
+---
+
+## Content types
+
+Base App supports various XMTP content types for rich messaging capabilities. This document outlines all supported content types, including custom types for Quick Actions and Intent.
+
+XMTP uses content types to define the structure and meaning of message types.
+
+We'll outline the standard and custom XMTP content types you can utilize in your agent.
+
+### XMTP Content Types
+
+**Text Messages**
+
+- Content Type: `xmtp.org/text:1.0`
+- Purpose: Basic text messaging
+- Usage: Default for plain text
+
+**Attachments**
+
+- Content Type: `xmtp.org/attachment:1.0`
+- Purpose: File attachments (inline)
+- Usage: Send files directly in messages
+
+**Remote Static Attachments**
+
+- Content Type: `xmtp.org/remoteStaticAttachment:1.0`
+- Purpose: Remote file attachments via URLs
+- Usage: Reduce message size
+
+**Reactions**
+
+- Content Type: `xmtp.org/reaction:1.0`
+- Purpose: Emoji reactions
+- Usage: React to messages with emojis
+- Note: Does not trigger read receipts
+
+**Replies**
+
+- Content Type: `xmtp.org/reply:1.0`
+- Purpose: Threaded conversations
+- Usage: Reply to specific messages
+
+**Group Management**
+
+- Content Types:
+ - `xmtp.org/group_membership_change:1.0`
+ - `xmtp.org/group_updated:1.0`
+- Purpose: Membership & group metadata updates
+- Usage: Automatic system messages
+
+**Read Receipts**
+
+- Content Type: `xmtp.org/readReceipt:1.0`
+- Purpose: Read confirmations
+- Usage: Sent automatically
+
+**Transactions (Wallet Send Calls)**
+
+- Content Type: `xmtp.org/walletSendCalls:1.0`
+- Purpose: Request wallet actions from users
+
+**Transaction Receipts**
+
+- Content Type: `xmtp.org/transactionReference:1.0`
+- Purpose: Share blockchain transaction info
+
+### Base App Content Types
+
+There are content types developed by the Base App team for agents in Base App. Other XMTP clients may not support these content types.
+
+**Quick Actions (coinbase.com/actions:1.0)**
+
+Purpose: Present interactive buttons in a message
+
+Structure:
+
+```typescript
+type ActionsContent = {
+ id: string;
+ description: string;
+ actions: Action[];
+ expiresAt?: string;
+};
+
+type Action = {
+ id: string;
+ label: string;
+ imageUrl?: string;
+ style?: 'primary' | 'secondary' | 'danger';
+ expiresAt?: string;
+};
+```
+
+Validation Rules:
+
+- `id`, `description` are required
+- `actions` must be 1–10 items with unique IDs
+- Style must be one of: `primary`, `secondary`, `danger`
+
+Fallback:
+
+```
+[Description]
+
+[1] [Action Label 1]
+[2] [Action Label 2]
+...
+Reply with the number to select
+```
+
+Example: Payment Options
+
+```json
+{
+ "id": "payment_alice_123",
+ "description": "Choose amount to send to Alice",
+ "actions": [
+ { "id": "send_10", "label": "Send $10", "style": "primary" },
+ { "id": "send_20", "label": "Send $20", "style": "primary" },
+ { "id": "custom_amount", "label": "Custom Amount", "style": "secondary" }
+ ],
+ "expiresAt": "2024-12-31T23:59:59Z"
+}
+```
+
+
+
+
+
+**Intent (coinbase.com/intent:1.0)**
+
+Purpose: User expresses choice from Quick Actions
+
+Structure:
+
+```typescript
+type IntentContent = {
+ id: string;
+ actionId: string;
+ metadata?: Record
+
diff --git a/docs/base-app/agents/getting-featured.mdx b/docs/base-app/agents/getting-featured.mdx
new file mode 100644
index 000000000..32f708754
--- /dev/null
+++ b/docs/base-app/agents/getting-featured.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Getting Your Agent Featured'
+description: 'Learn how to submit your chat agent for review and get featured in Base App'
+sidebarTitle: 'Getting Featured'
+---
+
+## Getting featured
+
+Fill out the form [here](https://app.deform.cc/form/52b71db4-bfa2-4ef5-a954-76c66250bdd2/?page_number=0) to submit your agent for review. Note, agents often go through multiple rounds of feedback before they are ready to be featured. Once approved, your agent will be featured in Base App. You will hear back from us within 5 business days.
+
+Need help or have feature requests? Visit [https://community.xmtp.org/](https://community.xmtp.org/)
diff --git a/docs/base-app/agents/getting-started.mdx b/docs/base-app/agents/getting-started.mdx
new file mode 100644
index 000000000..50acfdfcd
--- /dev/null
+++ b/docs/base-app/agents/getting-started.mdx
@@ -0,0 +1,227 @@
+---
+title: 'Getting Started with Chat Agents'
+description: 'Step-by-step guide to creating, testing, and deploying your first XMTP messaging agent'
+sidebarTitle: 'Getting Started'
+---
+
+This guide will walk you through creating, testing, and deploying your first XMTP messaging agent. By the end, you'll have a fully functional agent that can send and receive messages on the XMTP messaging network.
+
+## Prerequisites
+
+Before you begin, make sure you have:
+
+- Node.js (v20 or higher)
+- Git
+- A code editor
+- Basic knowledge of JavaScript/TypeScript
+
+## Helpful Resources
+
+- [Getting Started with XMTP (Video)](https://www.youtube.com/watch?v=djRLnWUvwIA)
+- [Building Agents on XMTP](https://github.com/ephemeraHQ/xmtp-agent-examples)
+- [Cursor Rules](https://github.com/ephemeraHQ/xmtp-agent-examples/blob/main/.cursor/rules/xmtp.md)
+- [XMTP Documentation](https://docs.xmtp.org/)
+- [Faucets](https://portal.cdp.coinbase.com/products/faucet)
+
+## Development Guide
+
+
+
+
+You can send "GM" to **tbachat.base.eth** to get more details about message content types we support and get the firsthand experience on by interacting with our agent
+
+Our agent repo is found [here](https://github.com/siwan-cb/tba-chat-example-bot)
diff --git a/docs/base-app/agents/why-agents.mdx b/docs/base-app/agents/why-agents.mdx
new file mode 100644
index 000000000..87d545e08
--- /dev/null
+++ b/docs/base-app/agents/why-agents.mdx
@@ -0,0 +1,19 @@
+---
+title: 'Why Build Chat Agents?'
+description: 'Discover the power of messaging agents and their potential impact on Base App'
+sidebarTitle: 'Why Agents?'
+---
+
+## Why agents?
+
+Messaging is the largest use-case in the world, but it's more than just conversations—it's a secure, programmable channel for financial and social innovation. When combined with the onchain capabilities of Base App, builders have a new surface area to build 10X better messaging experiences not currently possible on legacy platforms like WhatsApp or Messenger.
+
+Real Examples:
+
+• Smart Payment Assistant: Text "split dinner $200 4 ways" and everyone gets paid instantly with sub-cent fees, no app switching or Venmo delays.
+
+• AI Trading Companion: Message "buy $100 ETH when it hits $3,000" and your agent executes trades 24/7 while you sleep.
+
+• Travel Planning Agent: "Book flight LAX to NYC under $300" and get instant booking with crypto payments, all in your group chat
+
+• Base App & XMTP are combining AI, crypto, and mini apps with secure messaging – to unlock use-cases never before possible. Secure group chats & DMs are the new surface area for developers.
diff --git a/docs/base-app/introduction/getting-started.mdx b/docs/base-app/introduction/getting-started.mdx
index 95edf68ff..97724c898 100644
--- a/docs/base-app/introduction/getting-started.mdx
+++ b/docs/base-app/introduction/getting-started.mdx
@@ -1,10 +1,8 @@
---
-title: Getting Started with Mini Apps
+title: What are Mini Apps?
description: Overview and implementation guide for Mini Apps in Base App
---
-
-
Mini Apps are lightweight web applications that run natively within clients like Base App. Users instantly access mini apps without downloads, benefit from seamless wallet interactions, and discover apps directly in the social feed. This benefits app developers by creating viral loops for user acquisition and engagement.
## What is a Mini App?
@@ -16,12 +14,12 @@ A Mini App is composed of:
Your current web app works as-is
-
+
MiniKit is easiest way to build Mini Apps on Base, allowing developers to easily build applications without needing to know the details of the SDK implementation. It integrates seamlessly with OnchainKit components and provides Coinbase Wallet-specific hooks.
@@ -20,12 +18,13 @@ MiniKit streamlines mini-app development by providing a comprehensive toolkit th
Build apps with minimal knowledge of the Farcaster SDK
+