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

# Quick Start

> Make your first payment with faremeter in three steps using @faremeter/rides.

`@faremeter/rides` is the fastest way to start making x402 payments. It auto-detects your wallet type and handles payment negotiation transparently.

<Tip>
  Prefer a ready-made environment? The [TypeScript Playground](https://github.com/faremeter/faremeter-ts-playground) has all `@faremeter/*` packages pre-configured in a monorepo — clone it and start building under `apps/`.
</Tip>

## Prerequisites

* Node.js 18+
* A Solana devnet keypair file or an EVM private key

<Steps>
  <Step title="Install">
    ```bash theme={null}
    pnpm add @faremeter/rides @faremeter/logs dotenv tsx
    pnpm pkg set type=module
    ```
  </Step>

  <Step title="Configure your wallet">
    Create a `.env` file with your wallet credentials:

    ```bash .env theme={null}
    # Solana keypair file path
    PAYER_KEYPAIR_PATH=$HOME/.config/solana/id.json
    ```

    For instructions on creating and funding a wallet, see [Wallet Setup](/client/wallet-setup).
  </Step>

  <Step title="Make a payment">
    ```typescript main.ts theme={null}
    import "dotenv/config"
    import { payer } from "@faremeter/rides"
    import { getLogger } from "@faremeter/logs"

    const logger = await getLogger(["quickstart"])

    await payer.addLocalWallet(process.env.PAYER_KEYPAIR_PATH)

    const response = await payer.fetch("https://helius.api.corbits.dev")

    logger.info(`status: ${response.status}`)
    logger.info(JSON.stringify(await response.json()))
    ```

    Run it:

    ```bash theme={null}
    pnpm tsx main.ts
    ```
  </Step>
</Steps>

## What happened

1. `payer.fetch` made an HTTP request to the endpoint.
2. The server responded with `402 Payment Required` and a set of payment requirements.
3. Rides found a compatible wallet, signed the payment locally, and retried the request with a payment header (`X-PAYMENT` for v1, `PAYMENT-SIGNATURE` for v2).
4. The server verified the payment through a facilitator and returned the resource.

Your code made a single `fetch` call. Faremeter handled everything else.

## Other wallet types

This quickstart uses `addLocalWallet`, which auto-detects raw key material. For wallet adapters that manage keys differently -- such as OWS vaults, Ledger hardware, or Crossmint custodial wallets -- use `addWalletAdapter` instead. See the [Rides SDK](/client/rides-sdk#addwalletadapter) docs for details.

## Next steps

* [How x402 works](/concepts/how-x402-works) -- Understand the protocol behind the payment flow.
* [Rides SDK](/client/rides-sdk) -- Full API reference for `@faremeter/rides`.
* [Fetch Wrapper](/client/fetch-wrapper) -- Lower-level control with `@faremeter/fetch`.
* [Middleware](/server/middleware-overview) -- Accept payments on your own server.
