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

# MagenX404 Documentation

> Modular authentication package for Solana wallets with advanced verification features

## Welcome to MagenX404

MagenX404 is a powerful TypeScript package that provides modular authentication features for Solana wallets. Built with full type safety and an automatic wallet selection modal, it makes implementing token-gated access and wallet verification simple and secure.

<Card title="Quick Start" icon="rocket" href="/quickstart" horizontal>
  Get up and running in minutes with our quick start guide.
</Card>

## Key Features

<Columns cols={2}>
  <Card title="7 Authentication Features" icon="shield-check" href="/features/blacklist">
    Blacklist, TimeLock, MultiToken, Activity, Tier, NoDebt, and Age
    verification
  </Card>

  <Card title="Automatic Wallet Selection" icon="wallet" href="/utilities/wallet-modal">
    Beautiful modal automatically detects and lets users select their wallet
  </Card>

  <Card title="TypeScript Support" icon="code" href="/examples/typescript">
    Full type safety with comprehensive TypeScript definitions
  </Card>

  <Card title="Next.js Ready" icon="nextjs" href="/nextjs-setup">
    Optimized for Next.js with easy setup and transpilation
  </Card>
</Columns>

## Installation

Install the package using your preferred package manager:

<CodeGroup>
  ```bash npm theme={null}
  npm install magenx404
  ```

  ```bash yarn theme={null}
  yarn add magenx404
  ```

  ```bash bun theme={null}
  bun add magenx404
  ```

  ```bash pnpm theme={null}
  pnpm add magenx404
  ```
</CodeGroup>

## Quick Example

Here's a simple example of using the TimeLock feature:

```typescript theme={null}
import { X404TimeLock } from "magenx404";
import { detectWallets, getGeolocationData } from "magenx404/utils";

const wallets = detectWallets(); // string[]
const location = await getGeolocationData(); // Promise<GeolocationData>

const result = await X404TimeLock({
  wallet: wallets[0], // Optional - modal will show if not provided
  required_mint: "TOKEN_CA",
  mint_amount: "1000000",
  min_hold_duration_days: 30,
  geo_code: "true", // or "false"
  geo_code_locs: "US,UK", // Country codes
  coords: {
    latitude: location.latitude,
    longitude: location.longitude,
  },
});

if (result.success) {
  console.log(result.token);
  // Token is automatically stored in localStorage as "sjwt404_timelock"
} else {
  console.error("Error:", result.error);
}
```

## Features Overview

MagenX404 provides 7 different authentication features:

1. **Timelock** - Time-based token holding verification
2. **Blacklist** - Exclusion-based authentication (verify user does NOT hold banned tokens)
3. **MultiToken** - Multi-token portfolio verification
4. **Activity** - Transaction history verification
5. **Tier** - Tiered access levels (Bronze/Silver/Gold)
6. **NoDebt** - Negative balance verification
7. **Age** - Wallet age verification

<Card title="Explore Features" icon="list" href="/features/blacklist">
  Learn about each feature in detail
</Card>

## What's Next?

<Steps>
  <Step title="Install the package">
    Follow our <a href="/installation">installation guide</a> to get started
  </Step>

  <Step title="Set up Next.js">
    If using Next.js, configure <a href="/nextjs-setup">transpilation</a>
  </Step>

  <Step title="Choose a feature">
    Pick a feature from our <a href="/features/blacklist">features list</a> and
    implement it
  </Step>

  <Step title="Explore examples">
    Check out our <a href="/examples/react">React examples</a> for
    implementation patterns
  </Step>
</Steps>

## Need Help?

<Card title="View API Reference" icon="book" href="/api-reference/introduction">
  Complete API documentation with all endpoints and types
</Card>
