curl --request POST \
--url https://api.openxswitch.com/v1/sandbox/sub-wallet/deposit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"destination": "on_chain",
"coin": "<string>",
"amount": "<string>",
"chain": "<string>",
"status": "pending",
"fromAddress": "<string>",
"toAddress": "<string>",
"fromWalletId": "<string>",
"toWalletId": "<string>"
}
'import requests
url = "https://api.openxswitch.com/v1/sandbox/sub-wallet/deposit"
payload = {
"destination": "on_chain",
"coin": "<string>",
"amount": "<string>",
"chain": "<string>",
"status": "pending",
"fromAddress": "<string>",
"toAddress": "<string>",
"fromWalletId": "<string>",
"toWalletId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
destination: 'on_chain',
coin: '<string>',
amount: '<string>',
chain: '<string>',
status: 'pending',
fromAddress: '<string>',
toAddress: '<string>',
fromWalletId: '<string>',
toWalletId: '<string>'
})
};
fetch('https://api.openxswitch.com/v1/sandbox/sub-wallet/deposit', 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.openxswitch.com/v1/sandbox/sub-wallet/deposit",
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([
'destination' => 'on_chain',
'coin' => '<string>',
'amount' => '<string>',
'chain' => '<string>',
'status' => 'pending',
'fromAddress' => '<string>',
'toAddress' => '<string>',
'fromWalletId' => '<string>',
'toWalletId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.openxswitch.com/v1/sandbox/sub-wallet/deposit"
payload := strings.NewReader("{\n \"destination\": \"on_chain\",\n \"coin\": \"<string>\",\n \"amount\": \"<string>\",\n \"chain\": \"<string>\",\n \"status\": \"pending\",\n \"fromAddress\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"fromWalletId\": \"<string>\",\n \"toWalletId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.openxswitch.com/v1/sandbox/sub-wallet/deposit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"destination\": \"on_chain\",\n \"coin\": \"<string>\",\n \"amount\": \"<string>\",\n \"chain\": \"<string>\",\n \"status\": \"pending\",\n \"fromAddress\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"fromWalletId\": \"<string>\",\n \"toWalletId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openxswitch.com/v1/sandbox/sub-wallet/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destination\": \"on_chain\",\n \"coin\": \"<string>\",\n \"amount\": \"<string>\",\n \"chain\": \"<string>\",\n \"status\": \"pending\",\n \"fromAddress\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"fromWalletId\": \"<string>\",\n \"toWalletId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"depositId": "wd_001"
}
}{
"statusCode": 400,
"path": "/v1/...",
"timestamp": "2025-03-13T12:34:56.789Z",
"message": "......"
}{
"statusCode": 404,
"path": "/v1/...",
"timestamp": "2025-03-13T12:34:56.789Z",
"message": "Cannot GET /v1/..."
}{
"statusCode": 422,
"path": "/v1/...",
"timestamp": "2025-03-13T12:34:56.789Z",
"message": [
"param is required"
]
}{
"statusCode": 500,
"path": "/v1/...",
"timestamp": "2025-03-13T12:34:56.789Z",
"message": "......"
}Simulate Sub-wallet Deposit event
Simulates a deposit event in the OpenXSwitch Sandbox environment.
curl --request POST \
--url https://api.openxswitch.com/v1/sandbox/sub-wallet/deposit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"destination": "on_chain",
"coin": "<string>",
"amount": "<string>",
"chain": "<string>",
"status": "pending",
"fromAddress": "<string>",
"toAddress": "<string>",
"fromWalletId": "<string>",
"toWalletId": "<string>"
}
'import requests
url = "https://api.openxswitch.com/v1/sandbox/sub-wallet/deposit"
payload = {
"destination": "on_chain",
"coin": "<string>",
"amount": "<string>",
"chain": "<string>",
"status": "pending",
"fromAddress": "<string>",
"toAddress": "<string>",
"fromWalletId": "<string>",
"toWalletId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
destination: 'on_chain',
coin: '<string>',
amount: '<string>',
chain: '<string>',
status: 'pending',
fromAddress: '<string>',
toAddress: '<string>',
fromWalletId: '<string>',
toWalletId: '<string>'
})
};
fetch('https://api.openxswitch.com/v1/sandbox/sub-wallet/deposit', 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.openxswitch.com/v1/sandbox/sub-wallet/deposit",
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([
'destination' => 'on_chain',
'coin' => '<string>',
'amount' => '<string>',
'chain' => '<string>',
'status' => 'pending',
'fromAddress' => '<string>',
'toAddress' => '<string>',
'fromWalletId' => '<string>',
'toWalletId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.openxswitch.com/v1/sandbox/sub-wallet/deposit"
payload := strings.NewReader("{\n \"destination\": \"on_chain\",\n \"coin\": \"<string>\",\n \"amount\": \"<string>\",\n \"chain\": \"<string>\",\n \"status\": \"pending\",\n \"fromAddress\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"fromWalletId\": \"<string>\",\n \"toWalletId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.openxswitch.com/v1/sandbox/sub-wallet/deposit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"destination\": \"on_chain\",\n \"coin\": \"<string>\",\n \"amount\": \"<string>\",\n \"chain\": \"<string>\",\n \"status\": \"pending\",\n \"fromAddress\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"fromWalletId\": \"<string>\",\n \"toWalletId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openxswitch.com/v1/sandbox/sub-wallet/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destination\": \"on_chain\",\n \"coin\": \"<string>\",\n \"amount\": \"<string>\",\n \"chain\": \"<string>\",\n \"status\": \"pending\",\n \"fromAddress\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"fromWalletId\": \"<string>\",\n \"toWalletId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"depositId": "wd_001"
}
}{
"statusCode": 400,
"path": "/v1/...",
"timestamp": "2025-03-13T12:34:56.789Z",
"message": "......"
}{
"statusCode": 404,
"path": "/v1/...",
"timestamp": "2025-03-13T12:34:56.789Z",
"message": "Cannot GET /v1/..."
}{
"statusCode": 422,
"path": "/v1/...",
"timestamp": "2025-03-13T12:34:56.789Z",
"message": [
"param is required"
]
}{
"statusCode": 500,
"path": "/v1/...",
"timestamp": "2025-03-13T12:34:56.789Z",
"message": "......"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Destination type for the deposit
on_chain, internal_transfer "on_chain"
The token name. Only rechargeable currencies are accepted.
Refer to the Get Recharge Currencies endpoint for the list of supported currencies.
Receive Amount
The token name
Status of the deposit, supported status(pending, updated, success)
success, pending "pending"
Source address for the deposit; required when the destination type is "on_chain"
Destination address for the deposit; required when the destination type is "on_chain"
The unique id of source the wallet/sub-wallet; required when the destination type is "internal_transfer"
The unique id of destination the wallet/sub-wallet; required when the destination type is "internal_transfer"
.png?fit=max&auto=format&n=ML35RDblT1Ol-zJb&q=85&s=062e79ad9c4540929eec204aff020178)
.png?fit=max&auto=format&n=ML35RDblT1Ol-zJb&q=85&s=f6328956931c9664a2a070c2edb6e9b3)