Get a transfer request by ID
curl --request GET \
--url https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}', 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.staging.railsfromthecrypt.com/v1/transfer-requests/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Transfer retrieved successfully",
"data": {
"id": "c17d2777-e604-45e2-b6d5-7743652eadf1",
"type": "onramp",
"status": "fetching_rates",
"source": {
"amount": 10000,
"currency": "NGN"
},
"destination": {
"amount": 0,
"currency": "USDC"
},
"events": [
{
"status": "pending",
"timestamp": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}
],
"payments": [],
"created_at": "2025-10-10T09:15:21Z",
"reference": "TXN-2Z82FVYO6BW22RC7",
"rate": {
"value": 0,
"expires_at": null
},
"recipient": {
"id": "rec_01J8V9ZP3A7",
"type": "crypto",
"name": "My USDT Wallet",
"details": {
"network": "Ethereum",
"wallet_address": "0xABC123DEF456...",
"symbol": "USDT"
}
},
"payment_instructions": {
"type": "bank_transfer",
"bank_transfer": {
"account_number": "1234567890",
"account_name": "HashRails Ltd",
"bank_name": "Wema Bank",
"bank_code": "035"
}
}
}
}Transfer Request
Get Transfer Request
GET
/
v1
/
transfer-requests
/
{id}
Get a transfer request by ID
curl --request GET \
--url https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}', 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.staging.railsfromthecrypt.com/v1/transfer-requests/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.railsfromthecrypt.com/v1/transfer-requests/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Transfer retrieved successfully",
"data": {
"id": "c17d2777-e604-45e2-b6d5-7743652eadf1",
"type": "onramp",
"status": "fetching_rates",
"source": {
"amount": 10000,
"currency": "NGN"
},
"destination": {
"amount": 0,
"currency": "USDC"
},
"events": [
{
"status": "pending",
"timestamp": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}
],
"payments": [],
"created_at": "2025-10-10T09:15:21Z",
"reference": "TXN-2Z82FVYO6BW22RC7",
"rate": {
"value": 0,
"expires_at": null
},
"recipient": {
"id": "rec_01J8V9ZP3A7",
"type": "crypto",
"name": "My USDT Wallet",
"details": {
"network": "Ethereum",
"wallet_address": "0xABC123DEF456...",
"symbol": "USDT"
}
},
"payment_instructions": {
"type": "bank_transfer",
"bank_transfer": {
"account_number": "1234567890",
"account_name": "HashRails Ltd",
"bank_name": "Wema Bank",
"bank_code": "035"
}
}
}
}Retrieve the details of a specific transfer request by its unique ID, including the current status, rate, recipient, and payment instructions.
Authorizations
Your JWT access token from Issue Token.
Path Parameters
Unique transfer request ID
Example:
"c17d2777-e604-45e2-b6d5-7743652eadf1"