Skip to main content
Use MiniKit.sendHapticFeedback() to trigger native haptic feedback.

Availability

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

Haptic Types

  • "notification" — style: "success", "warning", or "error"
  • "impact" — style: "light", "medium", or "heavy"
  • "selection-changed" — no style needed

Basic Usage

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

export async function sendSuccessHaptic() {
  const input = {
    hapticsType: "notification",
    style: "success",
  } satisfies MiniKitSendHapticFeedbackOptions;

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

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

Result

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

Fallback Behavior

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

Error Codes

CodeMeaning
generic_errorUnexpected failure
user_rejectedThe request was rejected