Skip to main content
POST
/
ramp
/
breakdown
Calculate ramp fees from toAmount or fromAmount
curl --request POST \
  --url https://staging-api.getpartna.com/v4/ramp/breakdown \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --header 'x-api-user: <api-key>' \
  --data '
{
  "accountName": "",
  "accountNumber": "",
  "bankCode": "",
  "cryptoAddress": "",
  "fromAmount": 0,
  "fromCurrency": "",
  "fromNetwork": "",
  "rateKey": "",
  "toAmount": 0,
  "toCurrency": "",
  "toNetwork": "",
  "type": ""
}
'
import requests

url = "https://staging-api.getpartna.com/v4/ramp/breakdown"

payload = {
"accountName": "",
"accountNumber": "",
"bankCode": "",
"cryptoAddress": "",
"fromAmount": 0,
"fromCurrency": "",
"fromNetwork": "",
"rateKey": "",
"toAmount": 0,
"toCurrency": "",
"toNetwork": "",
"type": ""
}
headers = {
"x-api-key": "<api-key>",
"x-api-user": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-api-user': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
accountName: '',
accountNumber: '',
bankCode: '',
cryptoAddress: '',
fromAmount: 0,
fromCurrency: '',
fromNetwork: '',
rateKey: '',
toAmount: 0,
toCurrency: '',
toNetwork: '',
type: ''
})
};

fetch('https://staging-api.getpartna.com/v4/ramp/breakdown', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://staging-api.getpartna.com/v4/ramp/breakdown",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'accountName' => '',
'accountNumber' => '',
'bankCode' => '',
'cryptoAddress' => '',
'fromAmount' => 0,
'fromCurrency' => '',
'fromNetwork' => '',
'rateKey' => '',
'toAmount' => 0,
'toCurrency' => '',
'toNetwork' => '',
'type' => ''
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-api-user: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://staging-api.getpartna.com/v4/ramp/breakdown"

payload := strings.NewReader("{\n \"accountName\": \"\",\n \"accountNumber\": \"\",\n \"bankCode\": \"\",\n \"cryptoAddress\": \"\",\n \"fromAmount\": 0,\n \"fromCurrency\": \"\",\n \"fromNetwork\": \"\",\n \"rateKey\": \"\",\n \"toAmount\": 0,\n \"toCurrency\": \"\",\n \"toNetwork\": \"\",\n \"type\": \"\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-api-user", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://staging-api.getpartna.com/v4/ramp/breakdown")
.header("x-api-key", "<api-key>")
.header("x-api-user", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"accountName\": \"\",\n \"accountNumber\": \"\",\n \"bankCode\": \"\",\n \"cryptoAddress\": \"\",\n \"fromAmount\": 0,\n \"fromCurrency\": \"\",\n \"fromNetwork\": \"\",\n \"rateKey\": \"\",\n \"toAmount\": 0,\n \"toCurrency\": \"\",\n \"toNetwork\": \"\",\n \"type\": \"\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://staging-api.getpartna.com/v4/ramp/breakdown")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-api-user"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"accountName\": \"\",\n \"accountNumber\": \"\",\n \"bankCode\": \"\",\n \"cryptoAddress\": \"\",\n \"fromAmount\": 0,\n \"fromCurrency\": \"\",\n \"fromNetwork\": \"\",\n \"rateKey\": \"\",\n \"toAmount\": 0,\n \"toCurrency\": \"\",\n \"toNetwork\": \"\",\n \"type\": \"\"\n}"

response = http.request(request)
puts response.read_body
{
  "data": {
    "DepositFeeCapped": false,
    "DepositFeeInFromCurrency": 1000,
    "DepositFeeInToCurrency": 0.597221725,
    "DepositPercentageApplied": 0,
    "MerchantFeeCapped": false,
    "MerchantFeeInFromCurrency": 200,
    "MerchantFeeInToCurrency": 0.11944434500000001,
    "MerchantFeeUSD": 0.11944434500000001,
    "MerchantPercentageApplied": 0.02,
    "NetAmountInToCurrency": 5.2455,
    "Rate": 0.000597221725,
    "TotalAmountInFromCurrency": 10000,
    "TotalAmountInToCurrency": 5.97221725,
    "TotalFeesInFromCurrency": 1216.7441999870316,
    "TotalFeesInToCurrency": 0.72666607,
    "WithdrawalFeeInFromCurrency": 16.744199987031617,
    "WithdrawalFeeInToCurrency": 0.01
  },
  "message": "success"
}

Authorizations

x-api-key
string
header
required
x-api-user
string
header
required

Body

application/json
fromCurrency
enum<string>
required
Available options:
BTC,
ETH,
USDC,
USDT,
CUSD,
BNB,
NGN,
KES
fromNetwork
enum<string>
required
Available options:
avalanche,
binance,
bitcoin,
celo,
ethereum,
polygon,
tron,
solana,
naira,
mobileMoney,
mpesa,
kenyanshilling
rateKey
string
required
toCurrency
enum<string>
required
Available options:
BTC,
ETH,
USDC,
USDT,
CUSD,
BNB,
NGN,
KES
toNetwork
enum<string>
required
Available options:
avalanche,
base,
binance,
bitcoin,
celo,
ethereum,
polygon,
tron,
solana,
naira,
mobileMoney,
mpesa,
kenyanshilling
accountName
string

accountname of the user (not bank account name)

accountNumber
string
bankCode
string
cryptoAddress
string
fromAmount
number
toAmount
number
type
enum<string>

initiate offramp with cryptoToFiat type and onramp with fiatToCrypto type

Available options:
fiatToCrypto,
cryptoToFiat

Response

200 - application/json

post ramp breakdown ok

data
object
message
string