# How to create a new direct message to an Address

**URL:** <https://improve.xmtp.org/t/how-to-create-a-new-direct-message-to-an-address/1202>\
**Category:** General Discussion\
**Created:** [September 24, 2025, 1:14pm UTC](https://improve.xmtp.org/t/how-to-create-a-new-direct-message-to-an-address/1202 "2025-09-24T13:14:54Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![xunorus](https://improve.xmtp.org/user_avatar/improve.xmtp.org/xunorus/32/655_2.png) [@xunorus](https://improve.xmtp.org/u/xunorus)\
**Post date:** [September 24, 2025, 1:14pm UTC](https://improve.xmtp.org/t/how-to-create-a-new-direct-message-to-an-address/1202/1 "2025-09-24T13:14:54Z")

</div>

Hi! I really need some help here — I’ve been stuck on this forever while trying to update my dApp from XMTP v2 to v3.

I understand that addresses are part of an inbox’s identities, and I’m already able to get an address from an inboxId.

What I’m trying to do is start a conversation with an address, even if I don’t know the inboxId (as long as the address is already registered).

Please, please, please help!🧐 🫣 🙃

---

<div class="post-metadata">

**Author:** ![nick](https://improve.xmtp.org/user_avatar/improve.xmtp.org/nick/32/466_2.png) [@nick](https://improve.xmtp.org/u/nick)\
**Post date:** [September 24, 2025, 9:51pm UTC](https://improve.xmtp.org/t/how-to-create-a-new-direct-message-to-an-address/1202/2 "2025-09-24T21:51:33Z")

</div>

Yes, you can absolutely still do that. You can create conversations with “identifiers”, and those identifiers can be ETH addresses.

You can see some code examples in our docs [here](https://docs.xmtp.org/chat-apps/core-messaging/create-conversations)

---

<div class="post-metadata">

**Author:** ![Cameron\_Voell](https://improve.xmtp.org/user_avatar/improve.xmtp.org/cameron_voell/32/590_2.png) [@Cameron\_Voell](https://improve.xmtp.org/u/Cameron_Voell)\
**Post date:** [September 24, 2025, 9:53pm UTC](https://improve.xmtp.org/t/how-to-create-a-new-direct-message-to-an-address/1202/3 "2025-09-24T21:53:16Z")

</div>

Hello there!

I can see why it may be confusing, as all of our default `createGroup` / `createDM` functions take inboxID as parameters. However, we also have equivalent `newGroupWithIdentifiers` / `newDmWithIdentifier` functions that take as a parameter an `Identifier` object (or an array of them for groups). For example in our browser-sdk, the identifier object looks like this:

```auto
export interface Identifier {
    identifier: string;
    identifierKind: IdentifierKind;
}

export type IdentifierKind = "Ethereum" | "Passkey";

```

So in our using our browser-sdk you could create a conversation with an eth address “0x235017975ed5F55e23a71979697Cd67DcAE614Fa” using the following code:

```auto
const directMessage = await client.conversations.newDmWithIdentifier({
            identifier: address.toLowerCase(),
            identifierKind: "Ethereum",
});

```

Hopefully that helps! Also to double check if a address is registered on the network, see docs here: [Create conversations – Build with XMTP](https://docs.xmtp.org/chat-apps/core-messaging/create-conversations#check-if-an-identity-is-reachable)

---

<div class="post-metadata">

**Author:** ![slpisipl](https://improve.xmtp.org/user_avatar/improve.xmtp.org/slpisipl/32/2081_2.png) [@slpisipl](https://improve.xmtp.org/u/slpisipl)\
**Post date:** [October 22, 2025, 4:12pm UTC](https://improve.xmtp.org/t/how-to-create-a-new-direct-message-to-an-address/1202/4 "2025-10-22T16:12:44Z")

</div>

Message me on mmdrops.eth
