> ## 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.

# Swig on Solana

> Create a wallet, assign authority permissions, and compose Solana transactions.

Build wallet flows in **TypeScript or Rust**. Follow the TypeScript guides below,
or start your Rust integration with the
[package reference](/reference/rust).

## Build a wallet flow in TypeScript

<CardGroup cols={2}>
  <Card title="Set up your environment" icon="terminal" href="/tutorials/typescript/env">
    Prepare the TypeScript examples and a local Solana validator.
  </Card>

  <Card title="Create a wallet" icon="wallet" href="/tutorials/typescript/create">
    Create a Swig account and choose its initial authority.
  </Card>

  <Card title="Manage authorities" icon="key" href="/tutorials/typescript/managing_authorities">
    Add authorities with SOL or token spending permissions.
  </Card>

  <Card title="Sign a transaction" icon="signature" href="/tutorials/typescript/sign">
    Authorize wallet instructions with the selected role.
  </Card>

  <Card title="Send a transfer" icon="arrow-right-arrow-left" href="/examples/transfer">
    Follow the SOL transfer example with a spending authority.
  </Card>

  <Card title="Sponsor transaction fees" icon="gas-pump" href="/examples/paymaster">
    Use Swig's hosted Paymaster with an API key and funded paymaster.
  </Card>
</CardGroup>

## Choose your client

| Language and client | Swig package | Start here |
| - | - | - |
| TypeScript with Solana Kit | `@swig-wallet/kit` | [TypeScript quickstart](/tutorials/typescript) |
| TypeScript with Web3.js 1.x | `@swig-wallet/classic` | [TypeScript quickstart](/tutorials/typescript) |
| Rust | `swig-sdk` | [Rust packages](/reference/rust) |

The [TypeScript package guide](/reference/typescript) also covers shared helpers
and lower-level encoding. Use [instruction builders](/reference/rust/instruction_builder)
for direct Rust instruction construction.

## Add more wallet capabilities

Explore [sessions](/examples/sessions), [passkeys](/examples/passkeys),
[swaps](/examples/swap), and [subaccounts](/examples/sub_accounts) as your
integration grows. The [Solana protocol guide](/protocol) explains the account,
permission, and execution models behind these flows.

For API-key-based transaction preparation and sponsorship from a trusted
server, use the [Developer SDK](/developer-sdk).

Building on EVM? See [Swig on EVM](/evm).
