curl --request GET "https://prod-api.stableyard.fi/v2/partners/config" \
--header "Authorization: Basic <BASE64_APP_ID_COLON_APP_SECRET>"import requests
url = "https://prod-api.stableyard.fi/v2/partners/config"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://prod-api.stableyard.fi/v2/partners/config', 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://prod-api.stableyard.fi/v2/partners/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://prod-api.stableyard.fi/v2/partners/config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://prod-api.stableyard.fi/v2/partners/config")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.stableyard.fi/v2/partners/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"id": "app_123",
"appId": "app_123",
"organizationId": "org_123",
"environmentId": "env_123",
"apiVersion": "2026-09-09",
"supportedApiVersions": [
"2026-09-09"
],
"namespace": "partner",
"scopes": [
"v2:accounts",
"v2:deposit_addresses",
"v2:payments"
],
"credentialType": "standard",
"credentialMode": "app_secret",
"status": "active",
"modules": [
{
"id": "deposit_addresses",
"name": "Deposit Addresses",
"description": "Example payment",
"scopes": [
"v2:deposit_addresses"
],
"defaultEnabled": true,
"optional": true,
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
}
],
"compliance": {
"partnerKyb": {
"status": "not_started",
"updatedAt": null
},
"requirements": {
"partnerFiatAccess": "kyb",
"individualUpaFiatAccess": "kyc",
"businessUpaFiatAccess": "kyb"
}
},
"fees": {
"partnerFeeBps": 25,
"partnerFeePercent": 0.25,
"platformFeeBps": 50,
"platformFeePercent": 0.5,
"totalFeeBps": 75,
"totalFeePercent": 0.75,
"model": "deducted_at_final_settlement",
"currency": "USD"
},
"networks": [
{
"code": "base",
"aliases": [
"base",
"base-mainnet",
"8453"
],
"chainFamily": "evm",
"chainId": 8453,
"depositAddresses": {
"supported": true,
"provider": "alchemy",
"operational": true,
"disabledReason": null
},
"connectedWallets": {
"supported": true
},
"settlement": {
"supported": true
},
"paymentCollection": {
"supported": true,
"provider": null,
"network": "base",
"configured": true,
"detectionMode": null,
"disabledReason": null
},
"defaultAsset": {
"symbol": "USDC",
"tokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6,
"kind": "token",
"minimumDeposit": {
"amount": "0.5",
"amountAtomic": "500000",
"inclusive": true
},
"pricing": {
"referenceCurrency": "USD",
"referenceAmount": "1",
"assetAmount": "33",
"description": "1 USD = 33 THBT"
}
},
"supportedAssets": [
{
"symbol": "USDC",
"tokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6,
"kind": "token",
"minimumDeposit": {
"amount": "0.5",
"amountAtomic": "500000",
"inclusive": true
},
"pricing": {
"referenceCurrency": "USD",
"referenceAmount": "1",
"assetAmount": "33",
"description": "1 USD = 33 THBT"
}
}
]
}
],
"capabilities": {
"accounts": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"availableToCredential": true,
"accountIdLookup": true,
"externalUserIdLookup": true,
"handles": true,
"connectedWallets": true,
"emailVerification": {
"mode": "stableyard_email_otp",
"partnerAssertionAllowed": true,
"version": 0
}
},
"depositAddresses": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"availableToCredential": true,
"supportedChainIds": [
42161,
1,
8453,
137,
56,
43114,
4663,
4217,
10103,
10002,
728126428,
10001
],
"availableChainIds": [
42161,
1,
8453,
137,
56,
43114,
4663,
4217,
10103,
10002,
728126428,
10001
],
"supportedNetworks": [
{
"code": "example",
"chainId": 1,
"chainFamily": "evm",
"operational": true,
"disabledReason": null,
"assets": [
{
"symbol": "USDC",
"tokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6,
"kind": "token",
"minimumDeposit": {
"amount": "0.5",
"amountAtomic": "500000",
"inclusive": true
},
"pricing": {
"referenceCurrency": "USD",
"referenceAmount": "1",
"assetAmount": "33",
"description": "1 USD = 33 THBT"
}
}
]
}
]
},
"payments": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"availableToCredential": true,
"capabilities": {
"crypto": true,
"onramp": {},
"externalQr": true,
"externalBank": true,
"card": true
},
"methods": {
"direct": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
},
"routing": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
},
"onramp": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
},
"externalQr": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"destinationType": "external_qr",
"standaloneApi": false,
"countries": [
{
"country": "PH",
"countryName": "Philippines",
"currency": "PHP",
"rails": [
"qr"
],
"minimumAmountAtomic": "1000000",
"maximumAmountAtomic": "1000000",
"enabled": true
}
],
"preparationAvailable": true,
"paymentExecutionAvailable": true
},
"externalBank": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"destinationType": "external_bank",
"standaloneApi": false,
"directoryEndpoint": "/v2/payments/external-bank/banks?country={country}",
"countries": [
{
"country": "VN",
"countryName": "Vietnam",
"currency": "VND",
"rails": [
"bank_transfer"
],
"minimumAmountAtomic": "1000000",
"maximumAmountAtomic": "1000000",
"enabled": true
}
],
"preparationAvailable": true,
"paymentExecutionAvailable": true
},
"card": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
}
},
"publicPaymentCreation": {
"enabled": true,
"authentication": "none",
"purpose": "fund_wallet_or_pay_enabled_upa",
"methods": [
"crypto"
],
"destinations": [
{
"chainId": 8453,
"networkCode": "base",
"chainName": "Base",
"chainFamily": "evm",
"assetSymbol": "USDC",
"tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"decimals": 6,
"assetKind": "token",
"logoUrl": null,
"minimumAmount": "10",
"maximumAmount": "1000",
"available": true,
"disabledReason": null
}
],
"allowedFiatCurrencies": [
"USD"
],
"paymentTtlSeconds": 120,
"configureEndpoint": "/v2/partners/payment-settings",
"createEndpoint": "example"
}
},
"balancesAndTransactions": {
"enabled": true,
"availableToCredential": true,
"balances": {
"enabled": true,
"availableToCredential": true
},
"transactions": {
"enabled": true,
"availableToCredential": true
}
},
"webhooks": {
"supportedEvents": [
"account.created",
"account.updated",
"bank_funding.completed",
"bank_funding.failed",
"compliance.action_required",
"compliance.submitted",
"compliance.approved",
"compliance.rejected",
"compliance.requires_intervention",
"deposit.detected",
"deposit.settled",
"deposit.failed",
"deposit.requires_intervention",
"deposit.reversed",
"kyc.session_created",
"kyc.updated",
"partner_kyc.requires_information",
"partner_kyc.information_submitted",
"partner_kyc.ready_to_submit",
"partner_kyc.submitted",
"partner_kyc.approved",
"partner_kyc.rejected",
"offramp_partner_account.linked",
"smart_wallet.active",
"smart_wallet.deployment_failed",
"smart_wallet.requires_intervention",
"vault.policy_active",
"vault.failed",
"vault.funding_posted",
"vault.funding_requires_intervention",
"vault.yield_supply_settled",
"vault.yield_supply_failed",
"payment.created",
"payment.requires_action",
"payment.processing",
"payment.accepted",
"payment.refund_pending",
"payment.partially_refunded",
"payment.refunded",
"payment.succeeded",
"payment.failed",
"payment.cancelled",
"payment.expired",
"payment.requires_intervention",
"payment.duplicate_received",
"payment.late_received",
"payment.settlement_returned"
],
"recommendedEvents": [
"account.created",
"account.updated",
"bank_funding.completed",
"bank_funding.failed",
"compliance.action_required",
"compliance.approved",
"compliance.rejected",
"compliance.requires_intervention",
"deposit.detected",
"deposit.settled",
"deposit.reversed",
"deposit.requires_intervention",
"payment.processing",
"payment.accepted",
"payment.refund_pending",
"payment.partially_refunded",
"payment.refunded",
"payment.succeeded",
"payment.failed",
"payment.cancelled",
"payment.expired",
"payment.requires_intervention",
"payment.duplicate_received",
"payment.late_received",
"payment.settlement_returned"
],
"eventGroups": [
{
"id": "accounts",
"label": "Accounts",
"events": [
"account.created",
"account.updated"
]
},
{
"id": "deposits",
"label": "Deposits",
"events": [
"deposit.detected",
"deposit.settled",
"deposit.requires_intervention",
"deposit.reversed",
"deposit.failed"
]
},
{
"id": "bank_funding",
"label": "Bank funding",
"events": [
"bank_funding.completed",
"bank_funding.failed"
]
},
{
"id": "payments",
"label": "Payments",
"events": [
"payment.created",
"payment.requires_action",
"payment.processing",
"payment.accepted",
"payment.refund_pending",
"payment.partially_refunded",
"payment.refunded",
"payment.succeeded",
"payment.failed",
"payment.cancelled",
"payment.expired",
"payment.requires_intervention",
"payment.duplicate_received",
"payment.late_received",
"payment.settlement_returned"
]
},
{
"id": "kyc",
"label": "KYC",
"events": [
"kyc.session_created",
"kyc.updated",
"partner_kyc.requires_information",
"partner_kyc.information_submitted",
"partner_kyc.ready_to_submit",
"partner_kyc.submitted",
"partner_kyc.approved",
"partner_kyc.rejected",
"offramp_partner_account.linked"
]
},
{
"id": "compliance",
"label": "Compliance",
"events": [
"compliance.action_required",
"compliance.submitted",
"compliance.approved",
"compliance.rejected",
"compliance.requires_intervention"
]
},
{
"id": "vaults",
"label": "Vaults",
"events": [
"vault.policy_active",
"vault.failed",
"vault.funding_posted",
"vault.funding_requires_intervention",
"vault.yield_supply_settled",
"vault.yield_supply_failed"
]
},
{
"id": "smart_wallets",
"label": "Smart Wallets",
"events": [
"smart_wallet.active",
"smart_wallet.deployment_failed",
"smart_wallet.requires_intervention"
]
}
],
"signatures": {
"header": "x-stableyard-signature",
"timestampHeader": "x-stableyard-timestamp",
"deliveryHeader": "x-stableyard-delivery",
"eventHeader": "x-stableyard-event",
"scheme": "hmac-sha256",
"signedPayload": "<timestamp>.<deliveryId>.<eventId>.<rawBody>"
},
"deliveryPolicy": {
"guarantee": "at_least_once",
"retryableStatuses": [
408,
425,
429,
500,
502,
503,
504
],
"maxAttempts": 3,
"localPrivateDestinationsAllowed": false,
"dedupe": {
"deliveryRetryHeader": "x-stableyard-delivery",
"eventHeader": "x-stableyard-event-id",
"resourceStrategy": "Use the event name plus the public resource id in the payload, such as depositId or paymentId, for business-level idempotency."
}
}
},
"vaults": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"scope": "v2:vaults",
"runtime": "enabled",
"disabledReason": null,
"ownershipModes": {
"external": true,
"stableyard": true
},
"managedApproval": {
"method": "email_otp",
"ready": true,
"disabledReason": null
},
"spendLimit": {
"defaultAmountAtomic": "500000000",
"maxAmountAtomic": "5000000000",
"currency": "USD",
"decimals": 6,
"period": "fixed_30_day"
},
"yieldProviders": [
"none"
],
"tokens": [
{
"symbol": "USDC",
"chainId": 42161,
"tokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6
}
],
"resourceVersion": null
}
},
"integrations": {
"clientApi": {
"enabled": true,
"availableToCredential": true
},
"webhooks": {
"enabled": true,
"availableToCredential": true
},
"partnerConsole": {
"enabled": true,
"availableToCredential": true
}
},
"links": {
"docs": "https://docs.stableyard.fi",
"openapi": "/v2/openapi/partners.json",
"dashboard": "https://dashboard.stableyard.fi"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}Get your partner configuration
Verify your app credentials and read what is enabled for this app and environment.
curl --request GET "https://prod-api.stableyard.fi/v2/partners/config" \
--header "Authorization: Basic <BASE64_APP_ID_COLON_APP_SECRET>"import requests
url = "https://prod-api.stableyard.fi/v2/partners/config"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://prod-api.stableyard.fi/v2/partners/config', 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://prod-api.stableyard.fi/v2/partners/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://prod-api.stableyard.fi/v2/partners/config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://prod-api.stableyard.fi/v2/partners/config")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.stableyard.fi/v2/partners/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"id": "app_123",
"appId": "app_123",
"organizationId": "org_123",
"environmentId": "env_123",
"apiVersion": "2026-09-09",
"supportedApiVersions": [
"2026-09-09"
],
"namespace": "partner",
"scopes": [
"v2:accounts",
"v2:deposit_addresses",
"v2:payments"
],
"credentialType": "standard",
"credentialMode": "app_secret",
"status": "active",
"modules": [
{
"id": "deposit_addresses",
"name": "Deposit Addresses",
"description": "Example payment",
"scopes": [
"v2:deposit_addresses"
],
"defaultEnabled": true,
"optional": true,
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
}
],
"compliance": {
"partnerKyb": {
"status": "not_started",
"updatedAt": null
},
"requirements": {
"partnerFiatAccess": "kyb",
"individualUpaFiatAccess": "kyc",
"businessUpaFiatAccess": "kyb"
}
},
"fees": {
"partnerFeeBps": 25,
"partnerFeePercent": 0.25,
"platformFeeBps": 50,
"platformFeePercent": 0.5,
"totalFeeBps": 75,
"totalFeePercent": 0.75,
"model": "deducted_at_final_settlement",
"currency": "USD"
},
"networks": [
{
"code": "base",
"aliases": [
"base",
"base-mainnet",
"8453"
],
"chainFamily": "evm",
"chainId": 8453,
"depositAddresses": {
"supported": true,
"provider": "alchemy",
"operational": true,
"disabledReason": null
},
"connectedWallets": {
"supported": true
},
"settlement": {
"supported": true
},
"paymentCollection": {
"supported": true,
"provider": null,
"network": "base",
"configured": true,
"detectionMode": null,
"disabledReason": null
},
"defaultAsset": {
"symbol": "USDC",
"tokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6,
"kind": "token",
"minimumDeposit": {
"amount": "0.5",
"amountAtomic": "500000",
"inclusive": true
},
"pricing": {
"referenceCurrency": "USD",
"referenceAmount": "1",
"assetAmount": "33",
"description": "1 USD = 33 THBT"
}
},
"supportedAssets": [
{
"symbol": "USDC",
"tokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6,
"kind": "token",
"minimumDeposit": {
"amount": "0.5",
"amountAtomic": "500000",
"inclusive": true
},
"pricing": {
"referenceCurrency": "USD",
"referenceAmount": "1",
"assetAmount": "33",
"description": "1 USD = 33 THBT"
}
}
]
}
],
"capabilities": {
"accounts": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"availableToCredential": true,
"accountIdLookup": true,
"externalUserIdLookup": true,
"handles": true,
"connectedWallets": true,
"emailVerification": {
"mode": "stableyard_email_otp",
"partnerAssertionAllowed": true,
"version": 0
}
},
"depositAddresses": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"availableToCredential": true,
"supportedChainIds": [
42161,
1,
8453,
137,
56,
43114,
4663,
4217,
10103,
10002,
728126428,
10001
],
"availableChainIds": [
42161,
1,
8453,
137,
56,
43114,
4663,
4217,
10103,
10002,
728126428,
10001
],
"supportedNetworks": [
{
"code": "example",
"chainId": 1,
"chainFamily": "evm",
"operational": true,
"disabledReason": null,
"assets": [
{
"symbol": "USDC",
"tokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6,
"kind": "token",
"minimumDeposit": {
"amount": "0.5",
"amountAtomic": "500000",
"inclusive": true
},
"pricing": {
"referenceCurrency": "USD",
"referenceAmount": "1",
"assetAmount": "33",
"description": "1 USD = 33 THBT"
}
}
]
}
]
},
"payments": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"availableToCredential": true,
"capabilities": {
"crypto": true,
"onramp": {},
"externalQr": true,
"externalBank": true,
"card": true
},
"methods": {
"direct": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
},
"routing": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
},
"onramp": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
},
"externalQr": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"destinationType": "external_qr",
"standaloneApi": false,
"countries": [
{
"country": "PH",
"countryName": "Philippines",
"currency": "PHP",
"rails": [
"qr"
],
"minimumAmountAtomic": "1000000",
"maximumAmountAtomic": "1000000",
"enabled": true
}
],
"preparationAvailable": true,
"paymentExecutionAvailable": true
},
"externalBank": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null,
"destinationType": "external_bank",
"standaloneApi": false,
"directoryEndpoint": "/v2/payments/external-bank/banks?country={country}",
"countries": [
{
"country": "VN",
"countryName": "Vietnam",
"currency": "VND",
"rails": [
"bank_transfer"
],
"minimumAmountAtomic": "1000000",
"maximumAmountAtomic": "1000000",
"enabled": true
}
],
"preparationAvailable": true,
"paymentExecutionAvailable": true
},
"card": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"disabledReason": null
}
},
"publicPaymentCreation": {
"enabled": true,
"authentication": "none",
"purpose": "fund_wallet_or_pay_enabled_upa",
"methods": [
"crypto"
],
"destinations": [
{
"chainId": 8453,
"networkCode": "base",
"chainName": "Base",
"chainFamily": "evm",
"assetSymbol": "USDC",
"tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"decimals": 6,
"assetKind": "token",
"logoUrl": null,
"minimumAmount": "10",
"maximumAmount": "1000",
"available": true,
"disabledReason": null
}
],
"allowedFiatCurrencies": [
"USD"
],
"paymentTtlSeconds": 120,
"configureEndpoint": "/v2/partners/payment-settings",
"createEndpoint": "example"
}
},
"balancesAndTransactions": {
"enabled": true,
"availableToCredential": true,
"balances": {
"enabled": true,
"availableToCredential": true
},
"transactions": {
"enabled": true,
"availableToCredential": true
}
},
"webhooks": {
"supportedEvents": [
"account.created",
"account.updated",
"bank_funding.completed",
"bank_funding.failed",
"compliance.action_required",
"compliance.submitted",
"compliance.approved",
"compliance.rejected",
"compliance.requires_intervention",
"deposit.detected",
"deposit.settled",
"deposit.failed",
"deposit.requires_intervention",
"deposit.reversed",
"kyc.session_created",
"kyc.updated",
"partner_kyc.requires_information",
"partner_kyc.information_submitted",
"partner_kyc.ready_to_submit",
"partner_kyc.submitted",
"partner_kyc.approved",
"partner_kyc.rejected",
"offramp_partner_account.linked",
"smart_wallet.active",
"smart_wallet.deployment_failed",
"smart_wallet.requires_intervention",
"vault.policy_active",
"vault.failed",
"vault.funding_posted",
"vault.funding_requires_intervention",
"vault.yield_supply_settled",
"vault.yield_supply_failed",
"payment.created",
"payment.requires_action",
"payment.processing",
"payment.accepted",
"payment.refund_pending",
"payment.partially_refunded",
"payment.refunded",
"payment.succeeded",
"payment.failed",
"payment.cancelled",
"payment.expired",
"payment.requires_intervention",
"payment.duplicate_received",
"payment.late_received",
"payment.settlement_returned"
],
"recommendedEvents": [
"account.created",
"account.updated",
"bank_funding.completed",
"bank_funding.failed",
"compliance.action_required",
"compliance.approved",
"compliance.rejected",
"compliance.requires_intervention",
"deposit.detected",
"deposit.settled",
"deposit.reversed",
"deposit.requires_intervention",
"payment.processing",
"payment.accepted",
"payment.refund_pending",
"payment.partially_refunded",
"payment.refunded",
"payment.succeeded",
"payment.failed",
"payment.cancelled",
"payment.expired",
"payment.requires_intervention",
"payment.duplicate_received",
"payment.late_received",
"payment.settlement_returned"
],
"eventGroups": [
{
"id": "accounts",
"label": "Accounts",
"events": [
"account.created",
"account.updated"
]
},
{
"id": "deposits",
"label": "Deposits",
"events": [
"deposit.detected",
"deposit.settled",
"deposit.requires_intervention",
"deposit.reversed",
"deposit.failed"
]
},
{
"id": "bank_funding",
"label": "Bank funding",
"events": [
"bank_funding.completed",
"bank_funding.failed"
]
},
{
"id": "payments",
"label": "Payments",
"events": [
"payment.created",
"payment.requires_action",
"payment.processing",
"payment.accepted",
"payment.refund_pending",
"payment.partially_refunded",
"payment.refunded",
"payment.succeeded",
"payment.failed",
"payment.cancelled",
"payment.expired",
"payment.requires_intervention",
"payment.duplicate_received",
"payment.late_received",
"payment.settlement_returned"
]
},
{
"id": "kyc",
"label": "KYC",
"events": [
"kyc.session_created",
"kyc.updated",
"partner_kyc.requires_information",
"partner_kyc.information_submitted",
"partner_kyc.ready_to_submit",
"partner_kyc.submitted",
"partner_kyc.approved",
"partner_kyc.rejected",
"offramp_partner_account.linked"
]
},
{
"id": "compliance",
"label": "Compliance",
"events": [
"compliance.action_required",
"compliance.submitted",
"compliance.approved",
"compliance.rejected",
"compliance.requires_intervention"
]
},
{
"id": "vaults",
"label": "Vaults",
"events": [
"vault.policy_active",
"vault.failed",
"vault.funding_posted",
"vault.funding_requires_intervention",
"vault.yield_supply_settled",
"vault.yield_supply_failed"
]
},
{
"id": "smart_wallets",
"label": "Smart Wallets",
"events": [
"smart_wallet.active",
"smart_wallet.deployment_failed",
"smart_wallet.requires_intervention"
]
}
],
"signatures": {
"header": "x-stableyard-signature",
"timestampHeader": "x-stableyard-timestamp",
"deliveryHeader": "x-stableyard-delivery",
"eventHeader": "x-stableyard-event",
"scheme": "hmac-sha256",
"signedPayload": "<timestamp>.<deliveryId>.<eventId>.<rawBody>"
},
"deliveryPolicy": {
"guarantee": "at_least_once",
"retryableStatuses": [
408,
425,
429,
500,
502,
503,
504
],
"maxAttempts": 3,
"localPrivateDestinationsAllowed": false,
"dedupe": {
"deliveryRetryHeader": "x-stableyard-delivery",
"eventHeader": "x-stableyard-event-id",
"resourceStrategy": "Use the event name plus the public resource id in the payload, such as depositId or paymentId, for business-level idempotency."
}
}
},
"vaults": {
"entitled": true,
"credentialAllowed": true,
"operational": true,
"available": true,
"scope": "v2:vaults",
"runtime": "enabled",
"disabledReason": null,
"ownershipModes": {
"external": true,
"stableyard": true
},
"managedApproval": {
"method": "email_otp",
"ready": true,
"disabledReason": null
},
"spendLimit": {
"defaultAmountAtomic": "500000000",
"maxAmountAtomic": "5000000000",
"currency": "USD",
"decimals": 6,
"period": "fixed_30_day"
},
"yieldProviders": [
"none"
],
"tokens": [
{
"symbol": "USDC",
"chainId": 42161,
"tokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6
}
],
"resourceVersion": null
}
},
"integrations": {
"clientApi": {
"enabled": true,
"availableToCredential": true
},
"webhooks": {
"enabled": true,
"availableToCredential": true
},
"partnerConsole": {
"enabled": true,
"availableToCredential": true
}
},
"links": {
"docs": "https://docs.stableyard.fi",
"openapi": "/v2/openapi/partners.json",
"dashboard": "https://dashboard.stableyard.fi"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid",
"details": "example"
}
}Authorizations
HTTP Basic auth. Username is the Stableyard app ID. Password is the app secret. The optional Stableyard-Version request header must match the environment pin.
Headers
Optional contract-version assertion. Omit it to use the app environment's pinned version. A different supported version is accepted only after that environment is explicitly migrated.
2026-09-09 Response
Partner configuration
"app_123"
"app_123"
"org_123"
"env_123"
Immutable date-based contract recorded on the resource. Historical values may appear on existing records; only versions advertised in x-stableyard-supported-api-versions are accepted for new requests.
2026-08-28, 2026-09-09 "2026-09-09"
Immutable date-based contract recorded on the resource. Historical values may appear on existing records; only versions advertised in x-stableyard-supported-api-versions are accepted for new requests.
2026-08-28, 2026-09-09 "partner"
[
"v2:accounts",
"v2:deposit_addresses",
"v2:payments"
]
Standard keys dynamically receive permissions for enabled app products. Restricted keys retain an explicit scope subset.
standard, restricted Identifies whether the request used a server app secret or a short-lived Partner Dashboard session.
app_secret, portal_session "active"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes