Skip to main content

Mini App

AceSteps runs as a Farcaster Mini App within Warpcast and other clients.

Setup

Manifest Configuration

// public/.well-known/farcaster.json
{
"accountAssociation": {
"header": "...",
"payload": "...",
"signature": "..."
},
"frame": {
"version": "1",
"name": "AceSteps",
"iconUrl": "https://acesteps.xyz/icon.png",
"homeUrl": "https://acesteps.xyz"
}
}

SDK Initialization

import { sdk } from '@farcaster/miniapp-sdk';
import { farcasterMiniApp } from '@farcaster/miniapp-wagmi-connector';

// Create wagmi connector
const connector = farcasterMiniApp();

// Signal ready on mount
useEffect(() => {
sdk.actions.ready();
}, []);

Wallet Connection

AceSteps uses the Farcaster Mini App connector:

import { farcasterMiniApp } from '@farcaster/miniapp-wagmi-connector';
import { createConfig } from 'wagmi';

const config = createConfig({
connectors: [farcasterMiniApp()],
chains: [base],
// ...
});

User Context

Access user information:

const context = await sdk.context;

// Available data
context.user.fid // Farcaster ID
context.user.username // Username
context.user.pfp // Profile picture URL