The Startale App exposes a set of host actions throughDocumentation Index
Fetch the complete documentation index at: https://docs.startale.com/llms.txt
Use this file to discover all available pages before exploring further.
@farcaster/miniapp-sdk. These let your Mini App communicate with the host shell: close the frame, open external URLs, add the app to the user’s home, and trigger haptic feedback.
Import the SDK and call actions directly:
Checking supported capabilities
Before calling optional actions, query the host for what it supports:actions.ready
Required. Call this once on mount to signal the host that your Mini App has fully loaded. The host shows a loading screen untilready() is called.
ready() is never called, the host will display a timeout error to the user after 15 seconds.
actions.close
Closes the Mini App frame and returns the user to the Startale App home screen.actions.openUrl
Opens a URL in the device’s default browser. The host validates that the URL useshttp: or https:. Other protocols are silently blocked.
actions.addMiniApp
Adds the Mini App to the user’s home screen inside the Startale App. Returns{ result: {} } on success and fires a miniAppAdded SDK event you can listen to.
miniAppAdded event on the SDK if you want to react to the user saving your app:
Haptic feedback
Three haptic actions are available. Checksdk.context.features.haptics before calling them. On platforms that do not support haptics, the calls are no-ops.
| Action | When to use |
|---|---|
impactOccurred | Button taps, drag start/end, collision feedback |
notificationOccurred | Transaction confirmed, error state, achievement unlocked |
selectionChanged | Scroll picker moved, toggle changed |
actions.requestCameraAndMicrophoneAccess
Requests camera and microphone permissions from the host. Resolves when the host has processed the request.Actions not supported in Startale App
The following actions exist in the Farcaster Mini App protocol but are not applicable inside the Startale App. Calling them will not throw, but they return immediately with no effect or anot_supported error.
| Action | Return value | Why |
|---|---|---|
sdk.actions.signIn() | { error: { type: 'rejected_by_user' } } | Startale uses wallet-based auth, not SIWF |
sdk.actions.composeCast() | { cast: null } | Farcaster social feature, not available |
sdk.actions.viewCast() | no-op | Farcaster social feature, not available |
sdk.actions.viewProfile() | no-op | Farcaster social feature, not available |
sdk.actions.sendToken() | { success: false, reason: 'send_failed' } | Not yet supported in Startale App |
sdk.actions.swapToken() | { success: false, reason: 'swap_failed' } | Not yet supported in Startale App |
eth_sendTransaction or wallet_sendCalls with the appropriate calldata.