Overview
A peer-to-peer fixed-rate lending dApp in development on Stokenet (Radix's public testnet) demonstrates a trustless lend-and-borrow protocol where both parties agree to fixed interest rates before the loan is initiated. Unlike liquidity pool-based lending (Aave, Compound), where interest rates float with utilization, this protocol locks in rates at loan creation — eliminating variable rate risk for borrowers and lenders alike.
The dApp is built using Radix sub-intents, the composable transaction feature introduced in the Cuttlefish upgrade (December 2024). Sub-intents allow each party in a multi-party transaction to sign their own portion independently, with a final assembler combining them into a single atomic transaction. This enables trustless loan initiation without a central escrow contract holding funds during the matching process.
How It Works
For lenders: A lender creates a loan offer specifying the asset, amount, interest rate, and duration. This offer is encoded as a sub-intent — a signed partial transaction that commits the lender's funds conditionally. The offer can be broadcast or matched off-chain without the funds leaving the lender's control until a borrower accepts.
For borrowers: A borrower finds an acceptable offer, creates their own sub-intent (committing collateral), and an assembler combines both sub-intents into a complete atomic transaction. The loan is created, collateral locked, and principal transferred in a single Radix transaction. There is no window for front-running, rug pulls, or partial execution.
Repayment: Fixed-rate positions have predetermined repayment schedules. Because the interest rate is fixed at loan creation, borrowers know their total repayment obligation from the start — no oracle risk, no utilization-rate spikes, no surprise rate increases.
No Liquidation Risk
Traditional DeFi lending (Aave, Compound, MakerDAO) uses over-collateralization with liquidation mechanisms: if collateral value falls below the liquidation threshold, bots sell the collateral at a discount to repay the loan. In volatile markets, borrowers can be liquidated even during temporary price dips — losing their collateral despite intending to repay.
Fixed-rate P2P lending separates the interest rate from the collateral ratio. A borrower who commits collateral at loan creation and makes scheduled repayments cannot be liquidated due to price volatility — the terms are fixed. This is particularly valuable for longer-duration loans where variable rate and liquidation risk compound over time.
The tradeoff is reduced capital efficiency compared to over-collateralized pool-based protocols. Lenders must wait for matched borrowers rather than earning yield from an always-available liquidity pool.
Sub-Intent Technology
The protocol's non-custodial matching mechanism is enabled by Radix's sub-intent (pre-authorization) system, introduced in the Cuttlefish upgrade. Sub-intents allow a party to sign a partial transaction with specific preconditions and assurance properties, without broadcasting or finalizing it.
Key properties used by this dApp:
- Conditional execution: The lender's sub-intent only executes if the borrower's matching sub-intent is included in the final transaction
- Assertions: The lender can assert minimum collateral ratios or specific asset types in the borrower's sub-intent
- Atomic assembly: The final transaction either fully executes both sub-intents or fully reverts — no partial state
- No custodian needed: Funds never leave participants' vaults until the matched transaction is finalized
This is a direct application of Radix's composability primitives to DeFi primitives that previously required trusted escrow contracts or custodial order books.
Stokenet and Mainnet Path
The dApp is currently on Stokenet, Radix's public testnet, where it can be tested with testnet XRD without real financial risk. The development team is building toward a mainnet launch.
Stokenet now operates as community infrastructure following the Stokenet Goes Community handover, meaning external developers building on Stokenet are operating on independently maintained testnet infrastructure — closer to mainnet conditions than previous Foundation-operated testnet environments.
