curl --request POST \
--url https://app.sandbox.rio.trade/api/payouts/crypto/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"payoutAddressId": "65ba521a4b3e1bd9eb6a5107"
}
'import requests
url = "https://app.sandbox.rio.trade/api/payouts/crypto/bulk"
payload = { "payoutAddressId": "65ba521a4b3e1bd9eb6a5107" }
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({payoutAddressId: '65ba521a4b3e1bd9eb6a5107'})
};
fetch('https://app.sandbox.rio.trade/api/payouts/crypto/bulk', 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://app.sandbox.rio.trade/api/payouts/crypto/bulk",
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([
'payoutAddressId' => '65ba521a4b3e1bd9eb6a5107'
]),
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://app.sandbox.rio.trade/api/payouts/crypto/bulk"
payload := strings.NewReader("{\n \"payoutAddressId\": \"65ba521a4b3e1bd9eb6a5107\"\n}")
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://app.sandbox.rio.trade/api/payouts/crypto/bulk")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payoutAddressId\": \"65ba521a4b3e1bd9eb6a5107\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.sandbox.rio.trade/api/payouts/crypto/bulk")
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 = "{\n \"payoutAddressId\": \"65ba521a4b3e1bd9eb6a5107\"\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2025-01-04T00:24:28.658Z",
"userId": "6757546b4c5d19bf3cd7b09c",
"orderIds": [],
"amount": 0,
"asset": "USDC",
"network": "solana",
"payoutAddressId": "65ba521a4b3e1bd9eb6a5107",
"blockchainAddress": "0x1234567890abcdef1234567890abcdef12345678",
"country": "MX",
"status": "awaitingOrders",
"id": "677890d5d520f9ecb10e9c33"
}{
"errors": [
{
"code": 19,
"message": "Not authorized"
}
]
}Create bulk crypto payout
Creates a bulk crypto payout container to group multiple order payouts into a single consolidated payout.
curl --request POST \
--url https://app.sandbox.rio.trade/api/payouts/crypto/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"payoutAddressId": "65ba521a4b3e1bd9eb6a5107"
}
'import requests
url = "https://app.sandbox.rio.trade/api/payouts/crypto/bulk"
payload = { "payoutAddressId": "65ba521a4b3e1bd9eb6a5107" }
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({payoutAddressId: '65ba521a4b3e1bd9eb6a5107'})
};
fetch('https://app.sandbox.rio.trade/api/payouts/crypto/bulk', 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://app.sandbox.rio.trade/api/payouts/crypto/bulk",
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([
'payoutAddressId' => '65ba521a4b3e1bd9eb6a5107'
]),
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://app.sandbox.rio.trade/api/payouts/crypto/bulk"
payload := strings.NewReader("{\n \"payoutAddressId\": \"65ba521a4b3e1bd9eb6a5107\"\n}")
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://app.sandbox.rio.trade/api/payouts/crypto/bulk")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payoutAddressId\": \"65ba521a4b3e1bd9eb6a5107\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.sandbox.rio.trade/api/payouts/crypto/bulk")
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 = "{\n \"payoutAddressId\": \"65ba521a4b3e1bd9eb6a5107\"\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2025-01-04T00:24:28.658Z",
"userId": "6757546b4c5d19bf3cd7b09c",
"orderIds": [],
"amount": 0,
"asset": "USDC",
"network": "solana",
"payoutAddressId": "65ba521a4b3e1bd9eb6a5107",
"blockchainAddress": "0x1234567890abcdef1234567890abcdef12345678",
"country": "MX",
"status": "awaitingOrders",
"id": "677890d5d520f9ecb10e9c33"
}{
"errors": [
{
"code": 19,
"message": "Not authorized"
}
]
}Requirements to consume the endpoint.
Create and modify role
User approved
Authorizations
Body
Response
Created
The date and time the bulk payout was created.
"2025-01-04T00:24:28.658Z"
The unique identifier of the user.
"6757546b4c5d19bf3cd7b09c"
List of order IDs associated with this bulk payout.
[]
The total payout amount across all orders.
0
Stablecoin the bulk payout sends, taken from the payout address.
USDC, USDCe, EURC, USDT "USDC"
Network the bulk payout settles on, taken from the payout address.
ethereum, polygon, solana, stellar, base, tempo, tron, bsc "solana"
The ID of the destination crypto address.
"65ba521a4b3e1bd9eb6a5107"
The blockchain address where funds will be sent.
"0x1234567890abcdef1234567890abcdef12345678"
The country of the operation.
MX, PE, CO The current status of the bulk crypto payout.
awaitingOrders, awaitingPaymentForOrders, awaitingPayoutRequest, awaitingPayout, awaitingAsyncPayout, awaitingAsyncPayoutRequest, checkingLiquidity, sourcingLiquidity, liquiditySourced, complete, failed, cancelled "awaitingOrders"
The unique identifier of the bulk crypto payout.
"677890d5d520f9ecb10e9c33"