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

# Testing

> Verify your Blink integration end-to-end with a live deposit.

<Note>
  Mainnet testing is the recommended way to verify your integration: complete a real deposit with a small amount of real funds. A [testnet sandbox](/integration/testnet-sandbox) is available for development without real funds, but it supports a limited set of networks and is significantly slower than mainnet.
</Note>

## End-to-end verification

Follow this sequence to verify your integration:

<Steps>
  <Step title="Generate a key pair">
    Use the instructions in [Key Generation](/integration/key-generation).
  </Step>

  <Step title="Register the merchant">
    Provide your public key to Blink ([Merchant Registration](/integration/merchant-registration)).
  </Step>

  <Step title="Configure your signer">
    Set the private key and merchant ID on your signer endpoint.
  </Step>

  <Step title="Launch the deposit flow">
    Call `requestDeposit()` from your app.
  </Step>

  <Step title="Complete a test payment">
    Walk through the hosted flow iframe to complete a payment.
  </Step>

  <Step title="Verify the result">
    The `DepositResult` should contain a `transfer.id` and `transfer.status`.
  </Step>
</Steps>

## Debug mode

Enable debug logging to trace the full SDK lifecycle during development:

```typescript theme={null}
const deposit = new Deposit({
  signer: '/api/sign-payment',
  debug: true,
});
```

This logs signer calls, iframe state transitions, postMessage events, and errors to `console.debug` with the `[BlinkDeposit]` prefix.
