Fetch Transaction Limits

Check minimum and maximum limits for a currency and country before you execute a transaction.

Fetch transaction limits so you can validate amounts before you execute a transaction.

When to use this page

Use this page after you know the corridor and amount you want to send, but before you generate a quote or execute a transaction.

Prerequisites

  1. Set your NadaPay API base URL in $baseUrl.
  2. Export your NadaPay API key as YOUR_API_KEY.
  3. Generate a unique idempotency key for the request.

Before you continue

  • confirm the destination currency and country for the transaction
  • confirm the rail you intend to use
  • know the amount you want to validate against the corridor limits

Step 1 — Fetch limits for a currency and country

curl --request POST \
  --url $baseUrl/transactions/limits \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --header 'x-idempotency-key: YOUR_UNIQUE_UUID' \
  --data '{
    "currency": "NGN",
    "country": "NG",
    "rail": "bank_transfer"
  }'

Response:

A successful response returns the transaction limits for the requested currency, country, and rail. Use the response shape shown in the API Reference for this endpoint.

What success looks like

  • you receive the minimum and maximum amounts for the corridor
  • any returned daily limit is clear to your application or operator
  • you can validate the intended amount before you continue to quote generation

Do not continue if

  • the corridor is not supported
  • the returned limits do not allow the amount you intend to send
  • the rail does not match the transaction you are trying to price

Step 2 — Validate the amount before execution

Before you execute a transaction, confirm:

transaction_amount >= minimum_amount
transaction_amount <= maximum_amount
daily_volume + transaction_amount <= daily_limit

Surface a clear error to users if their amount falls outside these bounds instead of letting the transaction fail at execution time.

📘

Limits can change. Fetch them fresh per session rather than hardcoding them in your application.

What this step returns

  • minimum amount for the corridor
  • maximum amount for the corridor
  • any daily limit returned for that route

Save the returned limits and validate the amount before you continue to quote generation.

Common reasons this step fails

  • the corridor is not supported for the selected currency and country
  • the rail value is invalid for the transaction you are trying to price
  • the request does not match a supported limit configuration

Call this next