If your project already has a user base (players with progress, collectors with NFTs, customers with purchase history), those users have everything tied to their personal wallets. Inside a Mini App, the connected wallet is a brand-new smart account. This walkthrough usesDocumentation Index
Fetch the complete documentation index at: https://docs.startale.com/llms.txt
Use this file to discover all available pages before exploring further.
sdk.context.startale.eoaWallets to bridge the gap.
What you’ll build
Inside your Mini App:- Read the user’s verified linked EOAs from the host context.
- Check whether any of them holds a specific NFT.
- Unlock content (or prompt the user to take an action) based on that check.
Prerequisites
- A working Mini App from Build your first Mini App.
- An NFT contract address on Soneium that you want to gate against.
The Mini App sandbox does not simulate
eoaWallets. Test this flow against staging or the production Startale App.Steps
1. Read linked EOAs
2. Check NFT ownership across all linked EOAs
3. Render gated content
4. Handle the “no linked EOA” case
IfeoaWallets is empty, the user has not linked an EOA to their Startale account. Prompt them to do so, but the actual linking happens outside the Mini App, in the Startale App’s settings.
Important constraints
- You can only read from a linked EOA inside a Mini App. You cannot sign or send transactions from it. See Wallet integration.
- Each address in
eoaWalletsis verified server-side via SIWE. Treat them as cryptographically owned: they are safe to use for eligibility checks, identity matching, and analytics.
What you’ve learned
- That
eoaWalletsis the canonical bridge between a user’s legacy identity and their new Startale smart account. - How to do read-only contract calls against linked EOAs inside a Mini App.
- That EOA linking itself happens outside the Mini App, your job is to detect and react.