Skip to main content
A handful of concepts cover almost everything you’ll do with WAAS: you create a wallet with multiple receive destinations, confirmed deposits credit your merchant USD balance, and you pay out with a quote followed by a transfer to a whitelisted recipient.

Wallet

A wallet is the stable identifier for one receiving relationship. Creating it provisions a destination for every supported deposit chain. Store its id and use it to group deposits and transactions across those chains. You may attach an optional customer_id when creating a wallet. Deposits received by that wallet then include the same customer attribution. If you omit it, the wallet belongs directly to your business. Wallets do not hold balances. They group receive destinations and transaction history. Confirmed funds always roll up into your merchant USD balance.

Destination

A destination is the chain-specific address inside a wallet. It contains its own chain, address, and provisioning status. Select the destination for the network the sender will use and display the chain alongside the address.
A destination is tied to its chain. Sending funds on a different network can result in lost funds. Never infer a chain from the address alone.

Deposit

A deposit is an incoming transfer to one of your wallet’s destinations. Yara watches the chain, waits for confirmations, and records the deposit with its wallet_id and optional customer_id. Once CONFIRMED, the USD value is credited to your merchant balance and a deposit.confirmed webhook fires.

Merchant USD balance

Confirmed deposits roll up into a single merchant USD balance — your spendable ledger balance. It has three parts:

Whitelisted recipient

A recipient is a payout destination you approve in the dashboard before sending funds — a bank account or a crypto address. You reference it by recipient_id when quoting a transfer. Funds can only ever leave to whitelisted recipients. See Whitelist an address.

Quote

A quote prices a payout to a recipient. You send an amount, a currency (e.g. NGN), and a recipient_id; you get back the gross amount, fee, net amount, the USD that will be debited, the destination rail, and an expires_at. Quotes are short-lived — initiate the transfer before it expires.

Transfer

A transfer is the payout itself. You create it from a valid quote_id; Yara reserves the funds and processes it asynchronously. Track its status (e.g. RESERVED → completed) via webhooks or by fetching the transfer.

How they fit together

1

Create a wallet

Provision one wallet and receive destinations across all supported deposit chains.
2

Receive a deposit

Supported assets arrive, confirm, and credit your merchant USD balance.
3

Whitelist a recipient

Approve the payout destination in the dashboard.
4

Quote, then transfer

Quote the payout, then initiate the transfer from the quote.

Next: create a wallet

Put these concepts to work.