> ## Documentation Index
> Fetch the complete documentation index at: https://paystack-sdk.efobi.dev/llms.txt
> Use this file to discover all available pages before exploring further.

<div className="relative bg-gradient-to-br from-[#cb0404] via-[#e37b84] to-[#cb0404] dark:from-[#8b0303] dark:via-[#cb0404] dark:to-[#8b0303] py-20 overflow-hidden">
  <div className="absolute inset-0 bg-black/20 dark:bg-black/40" />

  <div className="relative max-w-6xl mx-auto px-6 lg:px-8">
    <div className="grid grid-cols-1 lg:grid-cols-12 gap-8 items-center">
      <div className="lg:col-span-7">
        <h1 className="text-4xl sm:text-5xl lg:text-6xl font-bold text-white mb-4">
          Paystack TypeScript SDK
        </h1>

        <p className="text-lg sm:text-xl text-white/90 max-w-2xl mb-8">
          A type-safe, platform-agnostic SDK for the Paystack API. Built with modern TypeScript and Zod for runtime validation.
        </p>

        <div className="flex flex-wrap gap-4">
          <a href="/quickstart" className="inline-flex items-center px-6 py-3 rounded-lg bg-white text-[#cb0404] font-semibold hover:bg-gray-100 transition-colors">
            Get Started
          </a>

          <a href="/api-reference/paystack" className="inline-flex items-center px-6 py-3 rounded-lg border-2 border-white/30 bg-white/10 text-white font-semibold hover:bg-white/20 transition-colors">
            API Reference
          </a>
        </div>
      </div>

      <div className="lg:col-span-5">
        <div className="bg-white/10 dark:bg-black/20 backdrop-blur-sm rounded-2xl p-6 border border-white/20">
          <pre className="text-sm text-white overflow-x-auto">
            {`import { Paystack } from '@efobi/paystack';

                        const paystack = new Paystack(
                        'sk_test_your_secret_key'
                        );

                        const transaction = 
                        await paystack.transaction.initialize({
                          email: 'customer@email.com',
                          amount: 50000 // ₦500.00
                        });`}
          </pre>
        </div>
      </div>
    </div>
  </div>
</div>

<div className="mt-16 mb-16 max-w-5xl mx-auto px-6">
  <h2 className="text-3xl font-semibold text-gray-900 dark:text-white mb-3">
    Quick start
  </h2>

  <p className="text-base text-gray-600 dark:text-gray-400 mb-8">
    Get up and running with Paystack in minutes
  </p>

  <Steps>
    <Step title="Install the SDK">
      Install the package using your preferred package manager:

      <CodeGroup>
        ```bash npm theme={null}
        npm install @efobi/paystack
        ```

        ```bash yarn theme={null}
        yarn add @efobi/paystack
        ```

        ```bash pnpm theme={null}
        pnpm add @efobi/paystack
        ```

        ```bash bun theme={null}
        bun add @efobi/paystack
        ```
      </CodeGroup>
    </Step>

    <Step title="Initialize the client">
      Create a new Paystack instance with your secret key:

      ```typescript theme={null}
      import { Paystack } from '@efobi/paystack';

      const paystack = new Paystack(process.env.PAYSTACK_SECRET_KEY);
      ```

      <Note>Get your secret key from the [Paystack Dashboard](https://dashboard.paystack.com/#/settings/developer). Use `sk_test_*` for testing and `sk_live_*` for production.</Note>
    </Step>

    <Step title="Initialize a transaction">
      Create your first payment transaction:

      ```typescript theme={null}
      const result = await paystack.transaction.initialize({
        email: 'customer@example.com',
        amount: 50000, // Amount in kobo (₦500.00)
        currency: 'NGN'
      });

      if (result.data) {
        console.log('Payment URL:', result.data.data.authorization_url);
        // Redirect customer to result.data.data.authorization_url
      }
      ```

      <Tip>The SDK returns a type-safe result object. Check for `result.data` for success or `result.error` for validation errors.</Tip>
    </Step>
  </Steps>
</div>

<div className="mt-16 mb-16 max-w-5xl mx-auto px-6">
  <h2 className="text-3xl font-semibold text-gray-900 dark:text-white mb-3">
    Key features
  </h2>

  <p className="text-base text-gray-600 dark:text-gray-400 mb-8">
    Everything you need for payment integration
  </p>

  <CardGroup cols={2}>
    <Card title="Type-safe" icon="shield-check" href="/core-concepts/type-safety">
      Full TypeScript support with strict typing and IntelliSense
    </Card>

    <Card title="Platform-agnostic" icon="cloud" href="/installation">
      Works in Node.js, Bun, browsers, and edge runtimes
    </Card>

    <Card title="Runtime validation" icon="check-circle" href="/core-concepts/error-handling">
      Input/output validation using Zod schemas for data integrity
    </Card>

    <Card title="Webhook handling" icon="webhook" href="/guides/webhooks">
      Built-in webhook verification and event listeners
    </Card>

    <Card title="Comprehensive APIs" icon="code" href="/api-reference/paystack">
      Transactions, transfers, virtual accounts, and more
    </Card>

    <Card title="Modern interface" icon="sparkles" href="/quickstart">
      Clean, promise-based API with async/await support
    </Card>
  </CardGroup>
</div>

<div className="mt-16 mb-16 max-w-5xl mx-auto px-6">
  <h2 className="text-3xl font-semibold text-gray-900 dark:text-white mb-3">
    Explore by topic
  </h2>

  <p className="text-base text-gray-600 dark:text-gray-400 mb-8">
    Deep dive into specific payment workflows
  </p>

  <CardGroup cols={2}>
    <Card title="Transactions" icon="credit-card" href="/guides/transactions">
      Initialize, verify, and manage payment transactions
    </Card>

    <Card title="Transfers" icon="arrow-right-arrow-left" href="/guides/transfers">
      Send money to bank accounts and manage recipients
    </Card>

    <Card title="Virtual accounts" icon="building-columns" href="/guides/virtual-accounts">
      Create dedicated virtual accounts for customers
    </Card>

    <Card title="Verification" icon="user-check" href="/guides/verification">
      Verify account numbers and resolve card BINs
    </Card>

    <Card title="Webhooks" icon="bell" href="/guides/webhooks">
      Handle real-time payment events securely
    </Card>

    <Card title="Authentication" icon="key" href="/core-concepts/authentication">
      Secure your API keys and handle authorization
    </Card>
  </CardGroup>
</div>

<div className="mt-16 mb-16 max-w-5xl mx-auto px-6">
  <div className="bg-gradient-to-r from-[#f3d2d2] to-[#e37b84] dark:from-[#1a1d27] dark:to-[#242838] rounded-2xl p-8 border border-gray-200 dark:border-[#27272a]">
    <h2 className="text-2xl font-semibold text-gray-900 dark:text-white mb-3">
      Ready to get started?
    </h2>

    <p className="text-base text-gray-700 dark:text-gray-300 mb-6 max-w-2xl">
      Follow our quickstart guide to integrate Paystack payments into your application in minutes.
    </p>

    <a href="/quickstart" className="inline-flex items-center px-6 py-3 rounded-lg bg-[#cb0404] text-white font-semibold hover:bg-[#a00303] transition-colors">
      Start building
    </a>
  </div>
</div>
