Skip to content

Core Concepts ​

Integrating an OOLIN wallet requires separate answers to who owns the funds, which asset is involved, whether the funds are available, and whether a deposit or withdrawal has completed. Accounts, assets, balances, transaction details, and ledger entries each answer a different question.

The basic wallet flow ​

A customer wallet provisions an account, receives assets, displays balances and transaction records, and sends funds to external addresses when requested.

text
Connect the customer to a USER account
  → select an asset/network and allocate a deposit address
  → confirm external deposits and credit the balance
  → display spendable funds and transaction history
  → request an external withdrawal and confirm its result

For example, a customer receives 100 USDT and withdraws 20 USDT to an external address. With a 1 USDT fee, the balance becomes 79 USDT after completion. While the withdrawal is pending, 21 USDT is reserved, so the available and total balances differ. These amounts and fees are illustrative; use values returned by your environment.

QuestionResourceMain identifiers and fields
Whose wallet is this?Accountuid, account_id, account_type
Which asset is received or sent on which network?Asset type, network, assetasset_type_id, network_id, asset_id
Where should external funds be sent?Deposit addressaddress_id, address, network_id, tag_or_memo
How much is spendable now?Balanceavailable_amount_raw, pending_withdraw_amount_raw
Has the deposit, withdrawal, or transfer finished?Deposit/withdrawal detaildeposit_id, withdrawal_id, status, user_status
Which transaction changed the balance?Ledgerledger_id, ref_type, ref_id, entry_type

Account transfers and payments built on wallets ​

Use an internal transfer to move wallet funds to another OOLIN account. External withdrawals select an address and network; internal transfers select a source account, recipient account, and asset type.

Digital Payment uses this capability for customer-to-merchant payments. A customer USER account sends funds to a merchant BUSINESS account, and the merchant can settle received funds to an external address. This scenario uses the same accounts, balances, transactions, and ledger concepts as basic wallet deposits and withdrawals.

DocumentWhat it explains
OOLIN Service ArchitectureYour app, backend, Wallet API, and the scope of wallet/payment integrations
Users, Accounts, and WalletsUsers, accounts, USER/BUSINESS roles, and deposit addresses
Networks and AssetsAsset types, network deployments, identifiers, and amount units
Supported NetworksMainnet/testnet catalog, availability, and network expansion
Deposit AddressesAccount destinations, assets/networks/memos, allocation, and retrieval
Balances and LedgerAvailable, reserved, and total balances, and reconciliation
Deposit FlowAddress allocation, deposit discovery, and completion
Withdrawal FlowExternal quotes, reservations, completion, recovery, and internal transfers
Transaction Status ModelState-dependent behavior, discovery, and status tracking

Connect concepts to implementation ​

Follow the Wallet tutorials for customer deposits, queries, and withdrawals. Follow the Digital Payment tutorials for customer-to-merchant payments and settlement using account transfers. The API Reference provides complete request and response fields.

Keep an asset and unit with every amount, an owner and environment with every account, a network and memo with every address, and a completion rule with every transaction. These relationships connect basic wallet features and their application scenarios consistently.

OOLIN is a digital asset operations infrastructure product by BPMG.