Skip to main content
The onramp flow lets your users pay in local currency (NGN, GHS, KES) and receive crypto (USDT, USDC, BTC, ETH) in their wallet. Partna handles the payment collection, currency conversion, and crypto delivery. If you want full control over the experience, use this API flow. If you would rather redirect users to a Partna checkout, use the Onramp Widget instead.

How it works

1

Create a user account

Register your user with Partna using Create Account. This creates a permanent account that can receive payments at any time.
2

Complete KYC

Your user must verify their identity before transacting. See Accounts and KYC for the full verification flow. Users only need to verify once.
3

Fetch a rate

Call Get Rate with fromCurrency=NGN and toCurrency=USDT (or your desired fiat/crypto). Save the key from the response.
4

Initiate the onramp

Call Onramp and Offramp with type: "fiatToCrypto". Include the rate key, amounts, currency pair, and the user’s crypto wallet address.
The response includes a bank account (accountName, accountNumber, bankName) where the user should send their NGN payment.
5

User makes payment

The user transfers the specified NGN amount to the bank account returned in step 4. This can be done via bank transfer or any supported local payment method.
6

Partna converts and delivers

Once Partna confirms the fiat payment, the equivalent crypto is sent to the user’s wallet address. A webhook event is dispatched to your endpoint.

Example response (step 4)

Key parameters

Handling pending requests

Each user can only have one active ramp request at a time. If you need to create a new request while one is pending, set cancelPendingRampRequest: true in your request body.

Tracking status

Use Get Ramp Requests to check the status of a ramp request. You will also receive webhook notifications as the transaction progresses through each stage.