Use MiniKit.shareContacts() to open the World App contact picker.
Availability
- Works natively in World App
- Supports a custom fallback outside World App
Basic Usage
import { MiniKit } from "@worldcoin/minikit-js";
import type {
CommandResultByVia,
MiniKitShareContactsOptions,
ShareContactsResult,
} from "@worldcoin/minikit-js/commands";
export async function pickContacts() {
const input = {
isMultiSelectEnabled: true,
inviteMessage: "Join me in this mini app",
} satisfies MiniKitShareContactsOptions;
const result: CommandResultByVia<
ShareContactsResult,
ShareContactsResult,
"minikit"
> = await MiniKit.shareContacts(input);
console.log(result.data.contacts);
}
Result
type ShareContactsResponse =
| {
executedWith: "minikit";
data: {
contacts: Array<{
username: string;
walletAddress: string;
profilePictureUrl: string | null;
}>;
timestamp: string;
};
}
| {
executedWith: "fallback";
data: unknown;
};
Fallback Behavior
Use a custom fallback if you want equivalent behavior outside World App.
Error Codes
| Code | Meaning |
|---|
user_rejected | The user rejected the request |
generic_error | Unexpected failure |
Preview