Initiate payin
curl --request POST \
--url https://api.portalhq.io/api/v3/clients/me/integrations/noah/payins \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fiatCurrency": "<string>",
"cryptoCurrency": "<string>",
"network": "<string>",
"destinationAddress": "<string>",
"businessFees": {}
}
'import requests
url = "https://api.portalhq.io/api/v3/clients/me/integrations/noah/payins"
payload = {
"fiatCurrency": "<string>",
"cryptoCurrency": "<string>",
"network": "<string>",
"destinationAddress": "<string>",
"businessFees": {}
}
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({
fiatCurrency: '<string>',
cryptoCurrency: '<string>',
network: '<string>',
destinationAddress: '<string>',
businessFees: {}
})
};
fetch('https://api.portalhq.io/api/v3/clients/me/integrations/noah/payins', 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/payins",
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([
'fiatCurrency' => '<string>',
'cryptoCurrency' => '<string>',
'network' => '<string>',
'destinationAddress' => '<string>',
'businessFees' => [
]
]),
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/payins"
payload := strings.NewReader("{\n \"fiatCurrency\": \"<string>\",\n \"cryptoCurrency\": \"<string>\",\n \"network\": \"<string>\",\n \"destinationAddress\": \"<string>\",\n \"businessFees\": {}\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/payins")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fiatCurrency\": \"<string>\",\n \"cryptoCurrency\": \"<string>\",\n \"network\": \"<string>\",\n \"destinationAddress\": \"<string>\",\n \"businessFees\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.portalhq.io/api/v3/clients/me/integrations/noah/payins")
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 \"fiatCurrency\": \"<string>\",\n \"cryptoCurrency\": \"<string>\",\n \"network\": \"<string>\",\n \"destinationAddress\": \"<string>\",\n \"businessFees\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"payinId": "<string>",
"bankDetails": {
"paymentMethodId": "<string>",
"accountNumber": "<string>",
"cryptoCurrency": "<string>",
"network": "<string>",
"fee": {
"fiatCurrencyCode": "<string>",
"totalFeePct": "<string>",
"totalFeeBase": "<string>",
"totalFeeMin": "<string>"
},
"accountHolderName": "<string>",
"bankCode": "<string>",
"bankName": "<string>",
"bankAddress": {
"street": "<string>",
"city": "<string>",
"postCode": "<string>",
"state": "<string>",
"country": "<string>",
"street2": "<string>"
},
"reference": "<string>",
"relatedPaymentMethods": [
{
"paymentMethodId": "<string>",
"fee": {
"fiatCurrencyCode": "<string>",
"totalFeePct": "<string>",
"totalFeeBase": "<string>",
"totalFeeMin": "<string>"
},
"details": {
"accountNumber": "<string>",
"bankCode": "<string>"
}
}
]
}
}
}{
"error": "<string>"
}{
"error": "<string>"
}Noah
Initiate payin
Creates a bank-deposit-to-onchain payin workflow and returns bank details.
POST
/
clients
/
me
/
integrations
/
noah
/
payins
Initiate payin
curl --request POST \
--url https://api.portalhq.io/api/v3/clients/me/integrations/noah/payins \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fiatCurrency": "<string>",
"cryptoCurrency": "<string>",
"network": "<string>",
"destinationAddress": "<string>",
"businessFees": {}
}
'import requests
url = "https://api.portalhq.io/api/v3/clients/me/integrations/noah/payins"
payload = {
"fiatCurrency": "<string>",
"cryptoCurrency": "<string>",
"network": "<string>",
"destinationAddress": "<string>",
"businessFees": {}
}
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({
fiatCurrency: '<string>',
cryptoCurrency: '<string>',
network: '<string>',
destinationAddress: '<string>',
businessFees: {}
})
};
fetch('https://api.portalhq.io/api/v3/clients/me/integrations/noah/payins', 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/payins",
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([
'fiatCurrency' => '<string>',
'cryptoCurrency' => '<string>',
'network' => '<string>',
'destinationAddress' => '<string>',
'businessFees' => [
]
]),
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/payins"
payload := strings.NewReader("{\n \"fiatCurrency\": \"<string>\",\n \"cryptoCurrency\": \"<string>\",\n \"network\": \"<string>\",\n \"destinationAddress\": \"<string>\",\n \"businessFees\": {}\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/payins")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fiatCurrency\": \"<string>\",\n \"cryptoCurrency\": \"<string>\",\n \"network\": \"<string>\",\n \"destinationAddress\": \"<string>\",\n \"businessFees\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.portalhq.io/api/v3/clients/me/integrations/noah/payins")
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 \"fiatCurrency\": \"<string>\",\n \"cryptoCurrency\": \"<string>\",\n \"network\": \"<string>\",\n \"destinationAddress\": \"<string>\",\n \"businessFees\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"payinId": "<string>",
"bankDetails": {
"paymentMethodId": "<string>",
"accountNumber": "<string>",
"cryptoCurrency": "<string>",
"network": "<string>",
"fee": {
"fiatCurrencyCode": "<string>",
"totalFeePct": "<string>",
"totalFeeBase": "<string>",
"totalFeeMin": "<string>"
},
"accountHolderName": "<string>",
"bankCode": "<string>",
"bankName": "<string>",
"bankAddress": {
"street": "<string>",
"city": "<string>",
"postCode": "<string>",
"state": "<string>",
"country": "<string>",
"street2": "<string>"
},
"reference": "<string>",
"relatedPaymentMethods": [
{
"paymentMethodId": "<string>",
"fee": {
"fiatCurrencyCode": "<string>",
"totalFeePct": "<string>",
"totalFeeBase": "<string>",
"totalFeeMin": "<string>"
},
"details": {
"accountNumber": "<string>",
"bankCode": "<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
Fiat currency code.
Crypto currency symbol. In Noah sandbox, tickers must be suffixed with _TEST (e.g. USDC_TEST); use the unsuffixed ticker in production. See Noah's sandbox naming convention.
CAIP-2 chain ID.
Onchain destination address.
Optional per-PaymentMethodType business fee overrides (e.g. BankAch,
BankFedwire, BankSepa). Each entry defines the business fee applied
to customer transactions using that payment method.
Show child attributes
Show child attributes
Response
Payin workflow created successfully
Show child attributes
Show child attributes
Was this page helpful?
⌘I