Skip to main content
Use MiniKit.share() to open the native share sheet with text, links, or files.

Availability

  • Works natively in World App
  • Supports a custom fallback outside World App

Basic Usage

import { MiniKit } from "@worldcoin/minikit-js";
import type {
  CommandResultByVia,
  MiniAppShareSuccessPayload,
  MiniKitShareOptions,
} from "@worldcoin/minikit-js/commands";

export async function shareLink() {
  const input = {
    title: "Invite Link",
    text: "Use this invite code to join my mini app",
    url: "https://world.org",
  } satisfies MiniKitShareOptions;

  const result: CommandResultByVia<
    MiniAppShareSuccessPayload,
    MiniAppShareSuccessPayload,
    "minikit"
  > = await MiniKit.share(input);

  console.log(result.data.shared_files_count);
}

Result

type ShareResponse =
  | {
      executedWith: "minikit";
      data: {
        status: "success";
        version: number;
        shared_files_count: number;
        timestamp: string;
      };
    }
  | {
      executedWith: "fallback";
      data: unknown;
    };

Fallback Behavior

Use a custom fallback if you want equivalent share behavior outside World App.

Error Codes

CodeMeaning
user_rejectedThe user rejected the share flow
generic_errorUnexpected failure
invalid_file_nameOne or more file names are invalid

Preview