Identity resolution
Each message comes with a sender object that contains the address, name, and avatar of the sender.
inboxId: A unique identifier for the user's message inbox. This remains consistent across different installations.address: The primary blockchain address associated with the sender. This is typically an Ethereum address.accountAddresses: An array of all blockchain addresses linked to this identity. Users can have multiple addresses associated with their XMTP identity.installationIds: Array of unique identifiers for each installation/device where the user has XMTP enabled.
Supported identifiers
- Ethereum Addresses - Standard hex addresses (e.g.,
0x123...) - ENS Domains - Ethereum Name Service domains (e.g.,
vitalik.eth) - Converse Usernames - Social usernames from Converse (e.g.,
@fabri) - Inbox ID - Inbox ID from Converse (e.g.,
0x123...) - Website Header Tag - Inbox ID from Converse (e.g.,
xmtp=0x123...) - Website Txt record - Inbox ID from Converse (e.g.,
meta="xmtp" content="0x123...)
Message example
let textMessage: userMessage = {
message: "Your message.",
receivers: ["0x123..."],
originalMessage: message,
};
await xmtp.send(textMessage);Resolver library
The resolver provides a getUserInfo function that returns detailed information about a user:
import { getUserInfo } from "xmtp";
const userInfo = await getUserInfo(identifier);The resolver returns a UserInfo object containing:
ensDomain- User's ENS domain if availableaddress- Ethereum addresspreferredName- Best available name to displayconverseUsername- Converse username if availableavatar- Profile picture URL if availableconverseEndpoint- Converse profile endpoint
User Availability
Returns true if user has XMTP enabled
const isOnXMTP = await xmtp.isOnXMTP(address);Cache Management
The resolver implements automatic caching to improve performance and reduce API calls. You can manage the cache using:
// or import directly
import { userInfoCache } from "xmtp";
userInfoCache.clear(); // clear all cache
userInfoCache.clear(address); // clear an address