Neynar Documentation
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
When your app is opened it can access information about the session from sdk.context. This object provides basic information about the user, the client, and where your app was opened from:
export type MiniAppPlatformType = 'web' | 'mobile';
export type MiniAppContext = {
user: {
fid: number;
username?: string;
displayName?: string;
pfpUrl?: string;
};
location?: MiniAppLocationContext;
client: {
platformType?: MiniAppPlatformType;
clientFid: number;
added: boolean;
safeAreaInsets?: SafeAreaInsets;
notificationDetails?: MiniAppNotificationDetails;
};
features?: {
haptics: boolean;
cameraAndMicrophoneAccess?: boolean;
};
};
Properties
location
Contains information about the context from which the Mini App was launched.
export type MiniAppUser = {
fid: number;
username?: string;
displayName?: string;
pfpUrl?: string;
};
export type MiniAppCast = {
author: MiniAppUser;
hash: string;
parentHash?: string;
parentFid?: number;
timestamp?: number;
mentions?: MiniAppUser[];
text: string;
embeds?: string[];
channelKey?: string;
};
export type CastEmbedLocationContext = {
type: 'cast_embed';
embed: string;
cast: MiniAppCast;
};
export type CastShareLocationContext = {
type: 'cast_share';
cast: MiniAppCast;
};
export type NotificationLocationContext = {
type: 'notification';
notification: {
notificationId: string;
title: string;
body: string;
};
};
export type LauncherLocationContext = {
type: 'launcher';
};
export type ChannelLocationContext = {
type: 'channel';
channel: {
key: string;
name: string;
imageUrl?: string;
};
};
export type OpenMiniAppLocationContext = {
type: 'open_miniapp';
referrerDomain: string;
};
export type LocationContext =
| CastEmbedLocationContext
| CastShareLocationContext
| NotificationLocationContext
| LauncherLocationContext
| ChannelLocationContext
| OpenMiniAppLocationContext;
Cast Embed
Indicates that the Mini App was launched from a cast (where it is an embed).
> sdk.context.location
{
"type": "cast_embed",
"embed": "https://myapp.example.com",
"cast": {
"author": {
"fid": 3621,
"username": "alice",
"displayName": "Alice",
"pfpUrl": "https://example.com/alice.jpg"
},
"hash": "0xa2fbef8c8e4d00d8f84ff45f9763b8bae2c5c544",
"timestamp": 1749160866000,
"mentions": [],
"text": "Check out this awesome mini app!",
"embeds": ["https://myapp.example.com"],
"channelKey": "farcaster"
}
}
Cast Share
Indicates that the Mini App was launched when a user shared a cast to your app.
> sdk.context.location
{
"type": "cast_share",
"cast": {
"author": {
"fid": 12152,
"username": "pirosb3",
"displayName": "Daniel - Bountycaster",
"pfpUrl": "https://imagedelivery.net/..."
},
"hash": "0x1177603a7464a372fc358a7eabdeb70880d81612",
"timestamp": 1749160866000,
"mentions": [],
"text": "Sharing this interesting cast with you!",
"embeds": ["https://frames-v2.vercel.app/"],
"channelKey": "staging"
}
}
Notification
Indicates that the Mini App was launched from a notification triggered by the frame.
> sdk.context.location
{
"type": "notification",
"notification": {
"notificationId": "f7e9ebaf-92f0-43b9-a410-ad8c24f3333b",
"title": "Yoinked!",
"body": "horsefacts captured the flag from you."
}
}
Launcher
Indicates that the Mini App was launched directly by the client app outside of a context.
> sdk.context.location
{
"type": "launcher"
}
Open Mini App
Indicates that the Mini App was launched from another Mini App using the openMiniApp action.
> sdk.context.location
{
"type": "open_miniapp",
"referrerDomain": "example-app.com"
}
user
Details about the calling user which can be used to customize the interface.
export type UserContext = {
fid: number;
username?: string;
displayName?: string;
pfpUrl?: string;
bio?: string;
location?: {
placeId: string;
description: string;
};
};
> sdk.context.user
{
"fid": 6841,
"username": "deodad",
"displayName": "Tony D'Addeo",
"pfpUrl": "https://i.imgur.com/dMoIan7.jpg",
"bio": "Building @warpcast and @farcaster, new dad, like making food",
"location": {
"placeId": "ChIJLwPMoJm1RIYRetVp1EtGm10",
"description": "Austin, TX, USA"
}
}
client
Details about the Farcaster client running the Mini App.
export type ClientContext = {
platformType?: MiniAppPlatformType;
clientFid: number;
added: boolean;
safeAreaInsets?: SafeAreaInsets;
notificationDetails?: MiniAppNotificationDetails;
};
> sdk.context.client
{
"platformType": "mobile",
"clientFid": 9152,
"added": true,
"safeAreaInsets": {
"top": 0,
"bottom": 20,
"left": 0,
"right": 0
},
"notificationDetails": {
"url": "https://api.farcaster.xyz/v1/frame-notifications",
"token": "a05059ef2415c67b08ecceb539201cbc6"
}
}
features
Optional object that indicates which features are available and their current state in the client.
> sdk.context.features
{
"haptics": true,
"cameraAndMicrophoneAccess": true
}
Using the features object allows for capability detection, enabling or disabling functionality based on what features are available on the platform.