> ## Documentation Index
> Fetch the complete documentation index at: https://build.onswig.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IDP SDK Overview

The Swig IDP SDK is the sign-in layer for Swig apps.

Use it when your product needs to authenticate a user first, then continue with
a persisted Swig session that another Swig product can use.

It lives in `swig-idp-sdk` and currently ships as
`@swig-wallet/expo-idp-sdk`.

## What this SDK is for

* user sign-in with OAuth, email OTP, or SMS OTP
* browser or Expo-native auth flows
* isolated-host redirects that return a Swig session
* handing that session off to wallet or policy flows afterward

## What this SDK is not for

* transaction preparation
* paymaster operations
* policy management in the developer portal
* direct protocol instruction building

Use [Developer SDK](/developer-sdk) for hosted wallet operations after login,
or [Protocol SDK](/reference) for direct protocol integration.

## Choose your path

| If you are building...                 | Start here                                                   |
| :------------------------------------- | :----------------------------------------------------------- |
| an Expo or React Native app            | [Expo and React Native Apps](/idp-sdk/expo-and-react-native) |
| a browser app with redirect-based auth | [Browser Apps](/idp-sdk/web-apps)                            |
| the sign-in entrypoint itself          | [Choose an Auth Method](/idp-sdk/auth-methods)               |
| the session and security boundary      | [Sessions and Security](/idp-sdk/sessions-and-security)      |

## What you get back

Every successful auth flow ends with a persisted Swig session. The session
contains:

* `configAddress`
* `walletAddress`
* `roleId`
* `authFlow`

That session is the bridge into the next layer of the stack.

<CardGroup cols={2}>
  <Card title="Developer SDK" icon="building" href="/developer-sdk">
    Use the session to continue into hosted wallet creation and transaction flows
  </Card>

  <Card title="Protocol SDK" icon="terminal" href="/reference">
    Use the session if your app will integrate with Swig wallets directly
  </Card>
</CardGroup>
