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

# Tutorials overview

> A linear path from a fresh project to a production-ready Startale smart account integration.

These tutorials build on each other. If you follow them in order, you will end with a smart account, a sponsored or token-paid paymaster, batched contract calls, scoped session keys, and a guardian-based recovery flow, all wired through the same `StartaleAccountClient`.

<Note>
  Source: [`StartaleGroup/scs-aa-sdk`](https://github.com/StartaleGroup/scs-aa-sdk).
</Note>

## Prerequisites

| You should have                                                  | Why                                                                                                          |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Node.js 18+ and a TypeScript project                             | The SDK ships ES2022 output and TypeScript types.                                                            |
| A signer (private key, browser wallet, or social-login provider) | Required by `toStartaleSmartAccount`. See [Installation](/aa-sdk/tutorials/installation).                    |
| An SCS Portal API key and at least one paymaster                 | Issued from the [SCS Portal](https://scs.startale.com); covered in [Portal setup](/aa-sdk/tutorials/portal). |
| Familiarity with `viem` basics                                   | The SDK is `viem`-native (`Address`, `Chain`, `Transport`, `PublicClient`).                                  |

## Recommended path

```mermaid theme={null}
flowchart LR
  P[Portal setup] --> I[Installation]
  I --> S[Smart account setup]
  S --> C[Contract interactions]
  C --> Sp[Sponsored paymaster]
  C --> E[ERC-20 paymaster]
  S --> SS[Smart sessions]
  S --> SR[Social recovery]
```

<Steps>
  <Step title="Portal setup">
    Provision an API key, create a paymaster, and configure gas policies. → [Portal setup](/aa-sdk/tutorials/portal)
  </Step>

  <Step title="Installation and setup">
    Install dependencies and pick a signer (viem `LocalAccount`, viem `WalletClient`, EIP-1193 provider, or `ethers.Wallet`). → [Installation and setup](/aa-sdk/tutorials/installation)
  </Step>

  <Step title="Smart account setup">
    Build the smart account, the sponsored client, and (optionally) the token-paymaster client; persist them in your app state. → [Smart account setup](/aa-sdk/tutorials/smart-account-setup)
  </Step>

  <Step title="Contract interactions">
    Encode calldata, send single and batched calls, handle errors. → [Contract interactions](/aa-sdk/tutorials/contract-interactions)
  </Step>

  <Step title="Pick a paymaster mode">
    [Sponsored paymaster](/aa-sdk/tutorials/sponsored-tx) for gasless flows; [ERC-20 paymaster](/aa-sdk/tutorials/erc20-payment) to charge users in tokens.
  </Step>

  <Step title="Add advanced UX">
    [Smart sessions](/aa-sdk/tutorials/smart-sessions) for scoped, signature-free flows; [Social recovery](/aa-sdk/tutorials/social-recovery) for guardian-based key rotation.
  </Step>
</Steps>

## What each page leaves you with

| Page                                                             | Outcome                                                       |
| ---------------------------------------------------------------- | ------------------------------------------------------------- |
| [Portal setup](/aa-sdk/tutorials/portal)                         | `BUNDLER_URL`, `PAYMASTER_URL`, `paymasterId`, gas policies.  |
| [Installation](/aa-sdk/tutorials/installation)                   | `@startale-scs/aa-sdk` installed, signer chosen.              |
| [Smart account setup](/aa-sdk/tutorials/smart-account-setup)     | A persisted `StartaleAccountClient` (sponsored and/or token). |
| [Contract interactions](/aa-sdk/tutorials/contract-interactions) | Single and batched calls with error handling.                 |
| [Sponsored paymaster](/aa-sdk/tutorials/sponsored-tx)            | UserOperations that pay gas via your paymaster.               |
| [ERC-20 paymaster](/aa-sdk/tutorials/erc20-payment)              | UserOperations paid in ASTR, USDC, or other supported tokens. |
| [Smart sessions](/aa-sdk/tutorials/smart-sessions)               | Scoped session keys that skip the user prompt.                |
| [Social recovery](/aa-sdk/tutorials/social-recovery)             | Guardian-based key rotation.                                  |

## Reference material

<CardGroup cols={3}>
  <Card title="Auth providers" icon="user-check" href="/aa-sdk/auth-providers/overview">
    Plug Dynamic, Privy, or any EIP-1193 wallet into the signer slot.
  </Card>

  <Card title="EIP-7702" icon="cpu" href="/aa-sdk/eip7702">
    Upgrade existing EOAs to delegated smart accounts.
  </Card>

  <Card title="Networks and contracts" icon="folder" href="/aa-sdk/resources/supported-networks">
    Chain IDs, deployed contract addresses, and supported tokens.
  </Card>
</CardGroup>
