Skip to main content
Use the Fee Management API to configure the fee structures applied to your users’ onramp and offramp transactions, monitor accumulated fee balances broken down by transaction type, and withdraw earned fees directly to a bank account of your choice.

Endpoints overview


GET /getwithdrawalhistory

Retrieve a paginated list of all fee withdrawal requests for your fintech account. Filter by status to isolate completed, pending, or failed withdrawals.
This endpoint supports query parameters for pagination and filtering by status. Use limit to control page size and status to filter by a specific withdrawal outcome.

Query parameters

number
Maximum number of records to return per page. Defaults to 20.
string
Filter withdrawals by status. Accepted values: pending, completed, failed.

Request

Response

string
High-level result of the request. "Success" on success.
string
Machine-readable status code. "00" indicates success.
string
Human-readable description of the result.
array
Array of withdrawal records matching the query.
object
Pagination metadata for the result set.

POST /feewithdrawal

Submit a request to withdraw accumulated fees to a destination bank account. Withdrawals are processed within 1-3 business days.

Body parameters

string
required
Destination bank account number.
string
required
NIBSS bank identifier code for the destination bank (e.g., "058" for GTBank).
string
required
Full name of the account holder at the destination bank.
number
required
Amount to withdraw, expressed in the smallest currency unit (kobo). Must not exceed your available balance or fall below the minimum withdrawal threshold.
string
Optional description for this withdrawal (e.g., "Fee withdrawal for August 2025").
object
Optional additional data to attach to the withdrawal.

Request

Response

string
Unique identifier assigned to this withdrawal. Use it with /verifywithdrawal to poll the outcome.
number
The withdrawal amount that was submitted, in kobo.
string
Initial status of the withdrawal. Always "pending" on successful submission.
string
Estimated time for the withdrawal to settle to the destination bank account.

Error responses


GET /getaccumulatedfees

Retrieve a real-time summary of your accumulated fees, broken down by transaction direction (onramp vs offramp), collection status, and withdrawal availability.

Request

Response

number
Total fees earned across all transactions since account creation, in kobo.
number
Fees earned specifically from onramp (fiat-to-crypto) transactions, in kobo.
number
Fees earned specifically from offramp (crypto-to-fiat) transactions, in kobo.
number
Fees that have been fully collected and settled, in kobo.
number
Fees that are accrued but not yet finalized, in kobo.
number
Total number of fee-generating transactions.
number
Total amount currently locked in pending withdrawal requests, in kobo.
number
Net balance you can withdraw right now, in kobo (collected fees minus pending withdrawals). In the example below, 100000 is ₦1,000.00. Compare /feewithdrawal amounts against this figure, not against totalAccumulatedFees.
object
Additional account-level configuration details.

PUT /managefees

Configure the fee structure applied to your users’ transactions. You can set an independent percentage fee and cap for onramp and offramp directions, and enable or disable each independently.
Both onrampFee and offrampFee are optional in a single request - omit whichever object you do not want to update. Fields within an included object are required.

Body parameters

object
Fee configuration for onramp (fiat-to-cNGN) transactions.
object
Fee configuration for offramp (cNGN-to-fiat) transactions.
object
Optional notes to attach to this configuration change for your own audit trail.

Request

Response

string
Your fintech account identifier.
string
Confirmation of the operation performed. Typically "updated".
object
The full fee configuration as it now stands after the update.
object
An illustrative fee calculation based on a typical transaction amount, useful for sanity-checking your configuration.

GET /getfees

Retrieve your current fee configuration including any active onramp and offramp settings, configuration timestamps, and a schema version indicator.

Request

Response

string
Your fintech account identifier.
boolean
true if a fee configuration has been set. false if you are using platform defaults.
object
The full active fee configuration object including onramp and offramp settings and any attached metadata.
string
ISO 8601 timestamp when your fee configuration was first created.
string
ISO 8601 timestamp when your fee configuration was last modified.
string
Schema version of the fee configuration object.

POST /fees/strails/preview

Calculate the Strails platform fee that will be applied to a transaction before you confirm it. This is separate from the fintech-configured fee returned by /getfees.
Use this endpoint to show users a transparent fee breakdown before they confirm a transaction. The Strails platform fee is applied on top of any fintech fee you have configured.

Body parameters

number
required
Transaction amount in the smallest currency unit (kobo) to calculate the fee for.
string
required
Direction of the transaction. Accepted values: "onramp" or "offramp".

Request

Response

number
The input amount you provided.
string
The transaction type ("onramp" or "offramp") you provided.
string
Your authenticated fintech ID.
number
The percentage rate applied to calculate this fee.
number
The fee derived from the percentage calculation before any cap is applied.
number
Any flat fixed-fee component added on top of the percentage fee.
number
The total fee that will be charged, after applying any cap.
boolean
true if the calculated fee exceeded the cap and was reduced.
number
The cap value that was enforced. null if no cap was applied.
object
The amount tier that matched the input and determined the fee rate.
boolean
true if a fintech-specific fee override was applied instead of the default platform rate.

POST /verifywithdrawal

Check the current status of a fee withdrawal by its ID. Use this to confirm whether a pending withdrawal has been processed or to retrieve the reason for a failure.

Body parameters

string
required
The withdrawalId returned when you submitted the withdrawal via /feewithdrawal.

Request

Response

string
The withdrawal identifier you queried.
string
Current status of the withdrawal: pending, completed, or failed.
string
ISO 8601 timestamp when the withdrawal settled. null if still pending.
string
Human-readable explanation if the withdrawal failed. null on success.