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

# Top up wallet

> Initialize a wallet top-up via Paystack.

Creates a payment initialization for topping up your wallet. Returns a Paystack authorization URL to redirect the user for payment.

<Note>
  The request body and this response are in **kobo** (1 NGN = 100 kobo). VAT is added on top of the requested amount.
</Note>

## Body

<ParamField body="amountKobo" type="integer" required>
  Amount to top up, in kobo.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.vouchmark.com/v1/wallet/topup \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"amountKobo": 5000000}'
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "authorizationUrl": "https://checkout.paystack.com/...",
    "accessCode": "...",
    "reference": "...",
    "amountKobo": 5000000,
    "vatKobo": 375000,
    "totalKobo": 5375000
  }
  ```
</ResponseExample>

## Response fields

<ResponseField name="success" type="boolean" />

<ResponseField name="authorizationUrl" type="string">
  Redirect the user here to pay via Paystack.
</ResponseField>

<ResponseField name="accessCode" type="string" />

<ResponseField name="reference" type="string">
  Pass this to the verify endpoint after the redirect.
</ResponseField>

<ResponseField name="amountKobo" type="integer">
  Base amount in kobo.
</ResponseField>

<ResponseField name="vatKobo" type="integer">
  VAT in kobo.
</ResponseField>

<ResponseField name="totalKobo" type="integer">
  Total charged in kobo (`amountKobo` + `vatKobo`).
</ResponseField>

Redirect the user to `authorizationUrl` to pay via Paystack, then call the [verify endpoint](/api-reference/wallet/verify-topup) with the `reference` to confirm payment and credit the wallet.
