> For the complete documentation index, see [llms.txt](https://link-product.gitbook.io/ngnc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://link-product.gitbook.io/ngnc/integration-guides/bridge-api/buy-ramp.md).

# Buy Ramp

This endpoint can be used to intiate an NGNC On-ramp transaction.

## Initiate a Buy Transaction

{% hint style="info" %}
Use this endpoint to perform a buy transaction.\
\
**POST** **api.ngnc.online/transactions/v1/onramp**
{% endhint %}

{% tabs %}
{% tab title="Shell" %}
{% code overflow="wrap" lineNumbers="true" %}

```bash
curl --request POST \
     --url https://api.ngnc.online/transactions/v1/onramp \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'ngnc-sec-key: NGNC_SECRET_KEY' \
     --data '
{
    "business_id": "string",
    "link_tag": "string",
    "type": "string",
    "amount": 0, 
    "vendor_number": "string",
    "vendor_name": "string",
    "vendor_bank": "string",
    "account_number": "string",
    "bank_name": "string",
    "network": "string",
    "wallet_address": "string"
}'
```

{% endcode %}
{% endtab %}

{% tab title="JavaScript" %}
{% code overflow="wrap" lineNumbers="true" %}

```javascript
const options = {
  method: 'POST',
  headers: {
    accept: 'application/json',
    'ngnc-sec-key': 'NGNC_SECRET_KEY',
    'content-type': 'application/json'
  },
  body: JSON.stringify({
    "business_id": "string",
    "link_tag": "string",
    "type": "string",
    "amount": 0, 
    "vendor_number": "string",
    "vendor_name": "string",
    "vendor_bank": "string",
    "account_number": "string",
    "bank_name": "string",
    "network": "string",
    "wallet_address": "string"
  });
};

fetch('https://api.ngnc.online/transactions/v1/onramp', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
```

{% endcode %}
{% endtab %}

{% tab title="Python" %}
{% code overflow="wrap" lineNumbers="true" %}

```python
import requests

url = "https://api.ngnc.online/transactions/v1/onramp"

payload = {
    "business_id": "string",
    "link_tag": "string",
    "type": "string",
    "amount": 0, 
    "vendor_number": "string",
    "vendor_name": "string",
    "vendor_bank": "string",
    "account_number": "string",
    "bank_name": "string",
    "network": "string",
    "wallet_address": "string"
}
headers = {
    "accept": "application/json",
    "ngnc-sec-key": "NGNC_SECRET_KEY",
    "content-type": "application/json"
}

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

print(response.text)
```

{% endcode %}
{% endtab %}
{% endtabs %}

<table><thead><tr><th width="174">Parameter</th><th>Type</th><th width="353">Description</th><th>Required</th></tr></thead><tbody><tr><td>business_id</td><td>String</td><td>Buinesses unique ID which can be found on the dashboard at <a href="https://app.ngnc.online/">app.ngnc.online</a>.</td><td>True</td></tr><tr><td>link_tag</td><td>String</td><td>Your business link_tag.<br>Also provided on your dashbaord.</td><td>True</td></tr><tr><td>type</td><td>String</td><td>buy_ramp</td><td>True</td></tr><tr><td>amount</td><td>String</td><td>Amount user wishes to onramp and meant to send to vendor. (Min ₦15000)</td><td>True</td></tr><tr><td>vendor_name<br>Vendor_bank<br>Vendor_number</td><td>String</td><td>Use the <a href="broken://pages/ST75nAj1HTcsyFq8nPWc">List Vendors</a> ENDPOINT to fetch the list of supported payment vendors</td><td>True</td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td>network</td><td>String</td><td>Our supported networks are (Stellar, Polygon, Solana, Avalanche)</td><td>False</td></tr><tr><td>wallet_address</td><td>String</td><td>Wallet address where the on-ramp stablecoin token will be sent to.</td><td>False</td></tr><tr><td>bank_name</td><td>String</td><td><strong>Proof of payment</strong><br>Bank used to send money to the vendor account</td><td>True</td></tr><tr><td>account_number</td><td>String</td><td><strong>Proof of payment</strong><br>Account number of bank used to send money to the vendor account.</td><td>True</td></tr></tbody></table>

{% code overflow="wrap" lineNumbers="true" %}

```javascript
// Sample Buy Request in Javascript

const options = {
  method: 'POST',
  headers: {
    accept: 'application/json',
    'ngnc-sec-key': 'NGNC_SECRET_KEY',
    'content-type': 'application/json'
  },
  body: JSON.stringify({
    "business_id": "8a90we32394kds3204",
    "link_tag": "Link_Eng",
    "type": "buy_ramp",
    "amount": 1000, 
    "reference": "478939302",
    "vendor_number": "028374332",
    "vendor_name": "John Doe",
    "vendor_bank": "Wema bank",
    "account_number": "303828284",
    "bank_name": "Wema bank",
    "network": "solana",
    "wallet_address": "8ajjPhDqJFWGKAQdagWUQL6YmR4BabKAqixM1AhhT"
  });
};

fetch('https://api.ngnc.online/transactions/v1/onramp', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
```

{% endcode %}

## On Ramp NGNC

<mark style="color:green;">`POST`</mark> `https://api.ngnc.online/transactions/v1/onramp`&#x20;

#### Headers

| Name                                           | Type   | Description             |
| ---------------------------------------------- | ------ | ----------------------- |
| ngnc-sec-key<mark style="color:red;">\*</mark> | String | Get Key from Bridge App |

#### Request Body

| Name                                              | Type   | Description                          |
| ------------------------------------------------- | ------ | ------------------------------------ |
| business\_id<mark style="color:red;">\*</mark>    | String | Get your business id from Bridge App |
| account\_name<mark style="color:red;">\*</mark>   | String |                                      |
| link\_tag<mark style="color:red;">\*</mark>       | String |                                      |
| amount<mark style="color:red;">\*</mark>          | Number |                                      |
| type<mark style="color:red;">\*</mark>            | String | use: buy\_ramp                       |
| wallet\_address<mark style="color:red;">\*</mark> | String |                                      |
| network<mark style="color:red;">\*</mark>         | String |                                      |
| bank\_name<mark style="color:red;">\*</mark>      | String |                                      |
| account\_number<mark style="color:red;">\*</mark> | String |                                      |
| vendor\_bank<mark style="color:red;">\*</mark>    | String |                                      |
| vendor\_number<mark style="color:red;">\*</mark>  | String |                                      |
| vendor\_name<mark style="color:red;">\*</mark>    | String |                                      |

{% tabs %}
{% tab title="200: OK Returns the successful transaction data" %}

```json
{
    "status": "success",
    "message": "Transaction Request successful",
    "transaction": {
        "transaction_id": "645c329afc3ac414bf70f9a1",
        "business": {
            "business_id": "0123456789"
        },
        "type": "Buy",
        "reference": "0984938271",
        "amount": 25639.55,
        "link_account_name": "Okemdinachi Nwaejie",
        "link_account_number": "8180789670",
        "link_bank_name": "Wema Bank",
        "account_number": "3338900202",
        "bank_name": "Providus Bank",
        "link_tag": "Link_eng",
        "network": "Avalanche",
        "wallet_address": "x.fie9383jEU8394jdnc",
        "date_created": "May 11, 2023"
    }
}
```

{% endtab %}

{% tab title="401: Unauthorized This happens when you enter a wrong key" %}

{% endtab %}

{% tab title="404: Not Found This happens when you you use a wrong or broken url" %}

{% endtab %}
{% endtabs %}
