Initiate payout
curl --request POST \
--url https://api.portalhq.io/api/v3/clients/me/integrations/noah/payouts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"payoutId": "<string>",
"sourceAddress": "<string>",
"expiry": "2023-11-07T05:31:56Z",
"nonce": "<string>",
"network": "<string>",
"fiatAmount": "<string>"
}
'import requests
url = "https://api.portalhq.io/api/v3/clients/me/integrations/noah/payouts"
payload = {
"payoutId": "<string>",
"sourceAddress": "<string>",
"expiry": "2023-11-07T05:31:56Z",
"nonce": "<string>",
"network": "<string>",
"fiatAmount": "<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({
payoutId: '<string>',
sourceAddress: '<string>',
expiry: '2023-11-07T05:31:56Z',
nonce: '<string>',
network: '<string>',
fiatAmount: '<string>'
})
};
fetch('https://api.portalhq.io/api/v3/clients/me/integrations/noah/payouts', 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.portalhq.io/api/v3/clients/me/integrations/noah/payouts",
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([
'payoutId' => '<string>',
'sourceAddress' => '<string>',
'expiry' => '2023-11-07T05:31:56Z',
'nonce' => '<string>',
'network' => '<string>',
'fiatAmount' => '<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.portalhq.io/api/v3/clients/me/integrations/noah/payouts"
payload := strings.NewReader("{\n \"payoutId\": \"<string>\",\n \"sourceAddress\": \"<string>\",\n \"expiry\": \"2023-11-07T05:31:56Z\",\n \"nonce\": \"<string>\",\n \"network\": \"<string>\",\n \"fiatAmount\": \"<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.portalhq.io/api/v3/clients/me/integrations/noah/payouts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"payoutId\": \"<string>\",\n \"sourceAddress\": \"<string>\",\n \"expiry\": \"2023-11-07T05:31:56Z\",\n \"nonce\": \"<string>\",\n \"network\": \"<string>\",\n \"fiatAmount\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.portalhq.io/api/v3/clients/me/integrations/noah/payouts")
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 \"payoutId\": \"<string>\",\n \"sourceAddress\": \"<string>\",\n \"expiry\": \"2023-11-07T05:31:56Z\",\n \"nonce\": \"<string>\",\n \"network\": \"<string>\",\n \"fiatAmount\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"destinationAddress": "<string>",
"conditions": [
{
"amountConditions": [
{
"comparisonOperator": "<string>",
"value": "<string>"
}
],
"cryptoCurrency": "<string>",
"network": "<string>",
"destinationAddress": "<string>"
}
]
}
}{
"error": "<string>"
}{
"error": "<string>"
}Noah
Initiate payout
Initiates an onchain-deposit-to-payment-method workflow from a prepared payout intent.
POST
/
clients
/
me
/
integrations
/
noah
/
payouts
Initiate payout
curl --request POST \
--url https://api.portalhq.io/api/v3/clients/me/integrations/noah/payouts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"payoutId": "<string>",
"sourceAddress": "<string>",
"expiry": "2023-11-07T05:31:56Z",
"nonce": "<string>",
"network": "<string>",
"fiatAmount": "<string>"
}
'import requests
url = "https://api.portalhq.io/api/v3/clients/me/integrations/noah/payouts"
payload = {
"payoutId": "<string>",
"sourceAddress": "<string>",
"expiry": "2023-11-07T05:31:56Z",
"nonce": "<string>",
"network": "<string>",
"fiatAmount": "<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({
payoutId: '<string>',
sourceAddress: '<string>',
expiry: '2023-11-07T05:31:56Z',
nonce: '<string>',
network: '<string>',
fiatAmount: '<string>'
})
};
fetch('https://api.portalhq.io/api/v3/clients/me/integrations/noah/payouts', 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.portalhq.io/api/v3/clients/me/integrations/noah/payouts",
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([
'payoutId' => '<string>',
'sourceAddress' => '<string>',
'expiry' => '2023-11-07T05:31:56Z',
'nonce' => '<string>',
'network' => '<string>',
'fiatAmount' => '<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.portalhq.io/api/v3/clients/me/integrations/noah/payouts"
payload := strings.NewReader("{\n \"payoutId\": \"<string>\",\n \"sourceAddress\": \"<string>\",\n \"expiry\": \"2023-11-07T05:31:56Z\",\n \"nonce\": \"<string>\",\n \"network\": \"<string>\",\n \"fiatAmount\": \"<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.portalhq.io/api/v3/clients/me/integrations/noah/payouts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"payoutId\": \"<string>\",\n \"sourceAddress\": \"<string>\",\n \"expiry\": \"2023-11-07T05:31:56Z\",\n \"nonce\": \"<string>\",\n \"network\": \"<string>\",\n \"fiatAmount\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.portalhq.io/api/v3/clients/me/integrations/noah/payouts")
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 \"payoutId\": \"<string>\",\n \"sourceAddress\": \"<string>\",\n \"expiry\": \"2023-11-07T05:31:56Z\",\n \"nonce\": \"<string>\",\n \"network\": \"<string>\",\n \"fiatAmount\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"destinationAddress": "<string>",
"conditions": [
{
"amountConditions": [
{
"comparisonOperator": "<string>",
"value": "<string>"
}
],
"cryptoCurrency": "<string>",
"network": "<string>",
"destinationAddress": "<string>"
}
]
}
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Client API Key or Client Session Token (CST). Pass as a Bearer token in the Authorization header.
Body
application/json
Unique idempotency nonce for the payout request. Must not be reused across different transactions.
Maximum string length:
36CAIP-2 chain ID.
Fiat amount for the payout. Only applicable when trigger.Type is SingleOnchainDepositSourceTriggerInput.
Defines when and how the automated sell rule fires. Three variants
discriminated by Type (each with slightly different shape):
SingleOnchainDepositSourceTriggerInput— executes once.Conditions[*]must includeAmountConditions. The persistedfiatAmountfrom the quote is forwarded.PermanentOnchainDepositSourceTriggerInput— fires on every matching deposit; the entire deposited crypto amount is always sold.Conditions[*]carriesNetworkonly —AmountConditionsmust be omitted. OptionalNetworkAgnosticflag matches any network.QuotedOnchainDepositSourceTriggerInput— executes once and locks the conversion rate from a priorSellQuote. RequiresSignedQuote(fromquote.signedQuoteonPOST /payouts/quote).Conditions[*]carriesNetworkonly —AmountConditionsmust be omitted.Expiryis optional and defaults to the bound quote's expiry.
Show child attributes
Show child attributes
Response
Payout initiated successfully
Show child attributes
Show child attributes
Was this page helpful?