Overview
Noah payins let your client receive bank deposit details, send fiat funds, and settle into crypto.
1. Prerequisite: approved KYC
Ensure the client completed Noah onboarding and has APPROVED status.
See Noah KYC onboarding.
2. Initiate payin
Call POST /payins to create a bank-deposit-to-onchain workflow.
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": "USD",
"cryptoCurrency": "USDC_TEST",
"network": "eip155:11155111",
"destinationAddress": "0xc118ad00663be7d0360b56a4e9fbb20530bf4693"
}'
Example response (truncated to key fields):
{
"data": {
"payinId": "cmmw70gq500053saq9urbu8ag",
"bankDetails": {
"accountHolderName": "John Mock-Doe",
"accountNumber": "900366164700",
"bankAddress": {
"city": "Kansas City",
"country": "US",
"postCode": "64108",
"state": "MO",
"street": "1801 Main St"
},
"bankCode": "101019644",
"bankName": "LEAD BANK",
"network": "EthereumTestSepolia",
"paymentMethodId": "Bank/Ach/USD/101019644/900366164700/cmmw6tzqc00003saqzbgwueb5",
"paymentMethodType": "BankAch",
"relatedPaymentMethods": [
{
"details": {
"accountNumber": "900366164700",
"bankCode": "101019644"
},
"paymentMethodId": "Bank/Fedwire/USD/101019644/900366164700/cmmw6tzqc00003saqzbgwueb5",
"paymentMethodType": "BankFedwire"
}
]
}
}
}
3. Display bank instructions
Show bankDetails to your user in your UI so they can submit their fiat transfer.
4. (Optional, sandbox) Simulate fiat deposit
To test payin flows in sandbox, call POST /payins/simulate with the
paymentMethodId returned in bankDetails.
curl --request POST \
--url https://api.portalhq.io/api/v3/clients/me/integrations/noah/payins/simulate \
--header 'Authorization: Bearer [token]' \
--header 'Content-Type: application/json' \
--data '{
"paymentMethodId": "Bank/Fedwire/USD/101019644/900366164700/cmmw6tzqc00003saqzbgwueb5",
"fiatAmount": "100.00",
"fiatCurrency": "USD"
}'
Example response:
{
"data": {
"fiatDepositId": "accdeef0-c364-5b67-976c-f90a50aa957c"
}
}
Set up Noah webhooks in Noah Dashboard to receive payin lifecycle updates directly from Noah.
- Subscribe to
FiatDeposit and Transaction events for payin status and settlement updates.
- Noah Webhooks
6. Monitor payin progress
Use FiatDeposit and Transaction webhook events plus Noah Dashboard delivery logs for payin reconciliation and status tracking.
Acknowledge webhook deliveries quickly with 2XX, then process events asynchronously.