# InfluTo > InfluTo is a referral & affiliate ATTRIBUTION platform for mobile apps (iOS, Android, > React Native, Flutter). A developer creates an app + campaign at https://influ.to, drops in > one of four native SDKs, initializes with an API key, and InfluTo attributes installs and > validates in-app purchases to influencer referral codes — via either RevenueCat (webhook) > or store-direct (Apple App Store Server API / Google Play service account). > This file helps AI coding agents wire InfluTo into an app and verify the integration is live. The fastest correct integration is: (1) pick the ONE SDK matching the host app's stack, (2) initialize() once at startup with the app's API key, (3) checkAttribution() at launch to detect referred users, (4) choose exactly ONE purchase-validation path — RevenueCat OR store-direct (never both — wiring both double-reports conversions), (5) verify with the agent API: GET /api/agent/apps/{id}/integration-status (Bearer it_mcp_* agent key — the dashboard-session /api/apps/* endpoints reject API keys) or the MCP tool influto_integration_status. All SDKs share one wire contract; local state lives under the @influto/ key prefix; codes are trim()+UPPERCASE before sending; network calls fail-soft (return benign values) EXCEPT initialize() and reportPurchase(), which throw. The RevenueCat attribute influto_referral is the STRING "true", never a boolean. ## Start here - [Quick start (5-min integration)](https://docs.influ.to/quick-start.md): app → campaign → SDK → verify - [Which SDK do I need?](https://docs.influ.to/installation.md): decision table by stack - [RevenueCat vs store-direct](https://docs.influ.to/integrations/revenuecat.md): pick exactly one validation path - [Verify the integration is live](https://docs.influ.to/integrations/testing.md): integration-status checklist (agent API) ## Connect an AI agent (MCP control plane) - [AI agents: connect, tools, REST](https://docs.influ.to/llms-agents.txt): OAuth in one command, 57 tools, scopes, /api/agent/* reference - Connect from Claude Code: `claude mcp add --transport http influto https://influ.to/mcp` (browser consent — no keys); Codex: `codex mcp add influto --url https://influ.to/mcp` - Agent REST surface: `/api/agent/*` with an `it_mcp_*` key or OAuth token — the dashboard `/api/apps/*` routes reject API keys - MCP resources: `influto://contract` · `influto://sdk/{platform}` · `influto://tools` (live catalog) ## SDKs (one per stack — pick exactly one) - [React Native SDK (TypeScript)](https://docs.influ.to/sdk/react-native.md): npm `@influto/react-native-sdk` - [iOS SDK (Swift)](https://docs.influ.to/sdk/ios.md): Swift Package Manager `github.com/influto/influto-ios` - [Android SDK (Kotlin)](https://docs.influ.to/sdk/android.md): Maven Central `to.influ:android-sdk` - [Flutter SDK (Dart)](https://docs.influ.to/sdk/flutter.md): pub.dev `influto` ## Validation paths - [RevenueCat integration](https://docs.influ.to/integrations/revenuecat.md): webhook + influto_code/influto_referral subscriber attributes - [Store-direct (Apple .p8 / Google service account)](https://docs.influ.to/integrations/store-direct.md): /sdk/purchase, StoreKit2 JWS / Play purchaseToken - [Webhooks](https://docs.influ.to/integrations/webhooks.md): server-to-server event delivery ## Platform (dashboard) tasks - [Create an app](https://docs.influ.to/platform/create-app.md): get an API key, support email, creator-code settings - [Create a campaign](https://docs.influ.to/platform/create-campaign.md): commission %, milestone bonuses, i18n copy - [Invite influencers](https://docs.influ.to/platform/invite-influencers.md): invites, join links, INFLU- creator codes - [Analytics](https://docs.influ.to/platform/analytics.md) (canonical fraud-filtered clicks) · [Wallet & payouts](https://docs.influ.to/platform/wallet.md) ($20 minimum payout) ## API & contract - [Wire contract (canonical)](https://docs.influ.to/contract.md): endpoints, invariants, dedup, fail-soft rules - [OpenAPI spec](https://influ.to/openapi.json): machine-readable API ## Per-stack reference bundles (match the query "…my app") - [React Native bundle](https://docs.influ.to/llms/react-native.txt) - [iOS bundle](https://docs.influ.to/llms/ios.txt) - [Android bundle](https://docs.influ.to/llms/android.txt) - [Flutter bundle](https://docs.influ.to/llms/flutter.txt) ## Optional - [Full docs in one file](https://docs.influ.to/llms-full.txt): entire corpus inlined