Generate Static Virtual Account
curl --request POST \
--url https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '{}'import requests
url = "https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static"
payload = {}
headers = {
"X-API-Key": "<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>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static', 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://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static",
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([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static")
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["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"status": 201,
"success": true,
"message": "Static virtual account generated successfully",
"virtualAccount": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"virtual_account_type": "static",
"currency_type": "fiat",
"bank_name": "VFD MFB",
"account_number": "1234567890",
"account_name": "Rolla / Your Business Name"
}
}{
"success": false,
"message": "<string>"
}{
"success": false,
"message": "<string>"
}Wallet
Generate Static Virtual Account
Generates a permanent static NGN virtual account for your business. Only one static virtual account can exist — this will return an error if one already exists.
POST
/
wallet
/
virtual-accounts
/
generate
/
static
Generate Static Virtual Account
curl --request POST \
--url https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '{}'import requests
url = "https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static"
payload = {}
headers = {
"X-API-Key": "<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>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static', 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://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static",
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([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static")
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["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"status": 201,
"success": true,
"message": "Static virtual account generated successfully",
"virtualAccount": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"virtual_account_type": "static",
"currency_type": "fiat",
"bank_name": "VFD MFB",
"account_number": "1234567890",
"account_name": "Rolla / Your Business Name"
}
}{
"success": false,
"message": "<string>"
}{
"success": false,
"message": "<string>"
}Generate a permanent static NGN virtual account for your business. Unlike dynamic accounts, static accounts don’t expire and are intended for regular incoming payments.
Example Request
curl -X POST "https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static" \
-H "X-API-Key: your_api_key_here"
Request Body
No request body required.Example Response
{
"status": 201,
"success": true,
"message": "Static virtual account generated successfully",
"data": {
"virtualAccount": {
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"status": "active",
"virtual_account_type": "static",
"currency_type": "fiat",
"bank_name": "VFD MFB",
"account_number": "0987654321",
"account_name": "Rolla / Your Business Name"
}
}
}
Only one static virtual account can exist per business. This endpoint will return an error if one already exists. Use the Get Virtual Accounts endpoint to check first.
Your business KYB must be approved before a static virtual account can be generated. Account details are automatically derived from your KYB application.
Authorizations
Your Rolla API key
Body
application/json
The body is of type object.
⌘I