> ## Documentation Index
> Fetch the complete documentation index at: https://base-a060aa97-docs-use-case-ia-overhaul.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Base Account SDK

> Add universal sign-in and one-tap USDC payments to any app with the Base Account SDK — the onchain account layer powering the Base App.

The Base Account SDK connects your app to the onchain accounts that power the [Base App](https://base.app) — over one hundred thousand users with a passkey-backed [Smart Wallet](/sdks/base-account/reference/onchain-contracts/smart-wallet). Add sign-in and USDC payments in a few lines; users hold their own keys and you never touch private data or funds.

<CardGroup cols={2}>
  <Card title="Universal sign-in" icon="fingerprint" href="/sdks/base-account/guides/authenticate-users">
    One passkey works across every Base-enabled app — no installs, seed phrases, or network switches.
  </Card>

  <Card title="One-tap payments" icon="credit-card" href="/build-on-base/agentic-payments/accept-a-payment">
    A single `pay()` call handles gas and USDC settlement.
  </Card>

  <Card title="Profile vault" icon="id-card" href="/sdks/base-account/guides/verify-social-accounts">
    Request a verified email, phone, or shipping address with the user's consent.
  </Card>

  <Card title="Spend permissions" icon="clock-rotate-left" href="/sdks/base-account/improve-ux/spend-permissions">
    Charge on a schedule for subscriptions and recurring payments.
  </Card>
</CardGroup>

## Install

<CodeGroup>
  ```bash npm theme={null}
  npm install @base-org/account
  ```

  ```bash pnpm theme={null}
  pnpm add @base-org/account
  ```

  ```bash yarn theme={null}
  yarn add @base-org/account
  ```
</CodeGroup>

## Quickstart

<Steps>
  <Step title="Accept a payment">
    Call `pay()` with an amount and a recipient to collect USDC.

    ```typescript theme={null}
    import { pay } from '@base-org/account';

    const payment = await pay({ amount: "5.00", to: "0xRecipient" });
    console.log(`Sent — transaction ID: ${payment.id}`);
    ```
  </Step>

  <Step title="Sign a user in">
    Use Sign in with Base to authenticate with a passkey — no password, no email round-trip.

    <Card title="Authenticate users" icon="arrow-right" href="/sdks/base-account/guides/authenticate-users">
      Wire up Sign in with Base in your web or React app.
    </Card>
  </Step>

  <Step title="Go deeper">
    Pick a framework or explore the full API surface below.
  </Step>
</Steps>

## Explore

<CardGroup cols={2}>
  <Card title="Get started" icon="play" href="/sdks/base-account/quickstart/web">
    Build and run in five minutes on web, React, or mobile.
  </Card>

  <Card title="Framework integrations" icon="puzzle-piece" href="/sdks/base-account/framework-integrations/wagmi/setup">
    Drop into Wagmi, Privy, RainbowKit, Reown, or thirdweb.
  </Card>

  <Card title="Base Pay reference" icon="code" href="/sdks/base-account/reference/base-pay/pay">
    Every method — `pay`, `getPaymentStatus`, subscriptions, and charges.
  </Card>

  <Card title="Provider RPC methods" icon="plug" href="/sdks/base-account/reference/core/provider-rpc-methods/sdk-overview">
    The EIP-1193 provider surface exposed by the SDK.
  </Card>
</CardGroup>
