sodax.moneyMarket: supply, borrow, withdraw, repay. Each has a complete one-call form (handles the relay end-to-end) and a create*Intent form when you want the transaction only.
The assets that work in the money market from Hedera are a subset of the Hedera swap list, and native HBAR is not among them today. Read the list at runtime, as below, or see Networks & Assets.
Supply from Hedera
Supplying an HTS token needs an ERC-20 allowance first, the same as any EVM network:Borrow to Hedera
dstChainKey and dstAddress default to the source, but any supported network can be the destination. That is the cross-network story in one parameter: collateral supplied from one network, borrowed liquidity delivered to another.
decimals: on Hedera most HTS tokens in the SODAX list use 8, and USDC uses 6.
When Hedera is the destination of a borrow or a withdraw, the receiving account must be able to receive that HTS token. Check it with the mirror node before you submit: Receiving tokens on Hedera.
withdraw and repay follow the same shape. Withdraw and borrow need no approval on any network; repaying with an HTS token needs an allowance, like supply.
Building a lending UI
sodax.moneyMarket.data exposes what you need for rates, positions, and health factors without extra indexing:
getReservesHumanized(): all reserves, human-readable.getUserReservesHumanized(spokeChainKey, userAddress): a user’s positions.formatReservesUSD(request)/formatUserSummary(request): USD-converted reserves and portfolio summaries.
Error handling
The module returns typed results. Discriminate onresult.error.code ('RELAY_TIMEOUT', 'EXECUTION_FAILED', …) with structured context on result.error.context.
Full reference, including intent-only methods, gas estimation, and the per-method error-code table: Lend / Borrow (Money Market).