Skip to main content

Overview

Importers regularly need to pay foreign vendors, manufacturers, and freight providers in different currencies. Traditional wire transfers are expensive, slow, and opaque. StableStack lets importers hold stablecoins locally, then pay overseas vendors directly into their bank accounts in their preferred fiat currency — with predictable fees and real-time tracking.

Core Flow

1

Onboard your vendor as a customer

Register each vendor as an individual or business customer. This lets you manage payout methods per vendor and track payments per relationship.For a business vendor:
POST /business-customers
{
  "business_name": "Shenzhen Parts Ltd",
  "email": "accounts@shenzhenparts.com",
  "country": "China",
  "phone": "+8613800138000"
}
For an individual vendor:
POST /individual-customers
{
  "first_name": "Wei",
  "last_name": "Zhang",
  "email": "wei.zhang@example.com",
  "country": "China"
}
2

Verify the vendor's bank account

Resolve the vendor’s bank account details before saving them, to catch errors before funds are sent.
GET /banks/resolve?account_number=1234567890&bank_code=000004
3

Save the vendor's bank as a payout method

Store the verified bank details against the vendor’s customer profile for fast, repeatable payments.
POST /payout/methods/banks
{
  "customer_id": "VENDOR_CUSTOMER_ID",
  "account_number": "1234567890",
  "bank_code": "000004",
  "bank_name": "United Bank for Africa",
  "currency": "USD",
  "country": "United States",
  "recipient_name": "Shenzhen Parts Ltd"
}
4

Get the fee estimate

Check the fee before initiating any payment so you can reconcile costs in your accounting system.
GET /payouts/fees?currency_type=FIAT&currency=USDC&recipient_currency=USD&amount=20000
5

Pay the vendor

Send a bank withdrawal. StableStack debits your stablecoin balance and delivers the equivalent fiat to the vendor’s bank.
POST /payouts/banks
{
  "customer_id": "VENDOR_CUSTOMER_ID",
  "currency": "USDC",
  "account_number": "1234567890",
  "bank_name": "Chase Bank",
  "bank_code": "021000021",
  "amount": "20000",
  "recipient_name": "Shenzhen Parts Ltd",
  "recipient_currency": "USD",
  "recipient_country": "United States"
}
6

Track the payment and reconcile

Look up the transaction by your reference ID or query all transactions for a given vendor.
GET /customers/transactions/by_ref_id/{reference_id}
GET /customers/transactions/by_customer_id/{customer_id}

Vendor Management Pattern

Managing many vendors is straightforward with StableStack’s customer model:
Customer (vendor profile)
├── Payout Method → Bank (USD, Chase)
├── Payout Method → Bank (EUR, Deutsche Bank)
└── Transactions  → All payments to this vendor
Each vendor’s payment history is queryable by customer_id, making reconciliation and audit trails easy.

Supported Payout Currencies for Importers

RegionCurrencyPayout
NigeriaNGN
United StatesUSD
EuropeEUR
South AfricaZAR
ChinaCNYQ4
IndiaINRQ4
UAEAEDQ4

Key APIs Used

EndpointPurpose
POST /business-customersRegister a business vendor
POST /individual-customersRegister an individual vendor
GET /banks/resolveVerify bank account before saving
GET /banksLook up bank codes
POST /payout/methods/banksSave a vendor’s bank account
GET /payouts/feesCheck fees before paying
POST /payouts/banksPay vendor via bank transfer
GET /customers/transactions/by_customer_id/{id}View all transactions for a vendor

Next Steps