Built on Creditcoin with Attestcoin readability

You never make
a repayment.

With no bridge or oracle, put USDC to work on Aave V4 (Ethereum). Borrow against it on Creditcoin. The yield your deposit earns is proven across and quietly retires the debt, until you owe nothing.

Your savings make the payments. You wait and do nothing.

  1. Deposit: USDC into RiyaEscrow, supplied to Aave V4
  2. Accrue: The position earns. Nothing to prove yet
  3. Prove: Harvest verified on Creditcoin via 0x0FD2
  4. Retire: The ledger knocks the yield off your debt
Repayments you make
$0

Repayments you make

Liquidation events
Never

Liquidation events

Borrow limit, earned
10 → 50%

Borrow limit, earned

Proof crosses. Nothing else
1

Proof crosses. Nothing else

How it works

One deposit, six steps, no repayments

You have $1,000 USDC and want cash without selling. Here is exactly what happens, in the order it happens.

  1. 01Ethereum

    You deposit $1,000 of USDC

    It goes into RiyaEscrow, which hands it straight to Aave V4. The escrow keeps no accounting of its own. It emits one event, and that is the entire contract.

    $1,000.00

    collateral

  2. 02Creditcoin

    Your deposit is proven

    A readability worker notices your deposit and asks Creditcoin to verify it. Creditcoin checks the Ethereum block itself through the Block Prover Precompile.

    0x0FD2

    precompile

  3. 03Creditcoin

    You borrow $100 — 10% to start

    New addresses open at a 10% limit and mint rUSD against the collateral. The limit is a credit score you have not used yet, and it increases with your usage of Riya.

    $100.00

    rUSD minted

  4. 04Ethereum

    Your position earns, and is harvested

    Aave pays roughly 5% a year on the $1,000. Because Aave positions rebase silently, Riya periodically pulls the profit out in a real transaction, turning continuous yield into a discrete, provable fact.

    ≈ $50

    per year

  5. 05Creditcoin

    Each harvest retires debt. You pay nothing.

    The harvest is proven the same way the deposit was. Creditcoin sees real yield arrive and knocks it off your debt. No transaction from you, no repayment schedule, no liquidation price to watch.

    −$38.60

    debt retired

  6. 06Creditcoin

    Your debt reaches zero

    Then you owe nothing.

    $0.00

    owed

You never repaid a penny. Your savings did it for you. Your savings on one chain and the loan on another.

Technical alignment

Why this can only be built on Creditcoin

The useful test for a cross-chain design is whether it would still work, unchanged, on any other L2.

Verified by the chain

Creditcoin re-checks the Ethereum block itself through the Block Prover Precompile. Riya's ASC additionally requires receiptStatus == 1 and pins each event to the contract that may emit it. So a proof that decodes but did not succeed is rejected.

0x0FD2

One copy of the accounting

Ethereum holds the money and states facts. Creditcoin decides what they mean — collateral, fee, score, limit, debt. State that exists in one place cannot drift from a copy.

no mirror state

The destination

rUSD is an ERC-20 on Creditcoin. Any Creditcoin wallet, contract or DEX can accept it. Your position never needs to leave.

rUSD · 6 decimals

Nothing waits on writability

Every proof travels inbound: Ethereum to Creditcoin. Riya V1 needs no outbound message, so nothing in the product is blocked on writability.

readability only

The truth: Riya's Precompile is the main reason the loan learns that the collateral earned anything.

Collateral

What you can deposit

One asset today, and an honest reason for each of the others. Your dollars never leave Ethereum: they sit in Aave earning, and only a proof crosses to Creditcoin.

AssetYield sourceStatus

USDC

USD Coin

Aave V4

USDT

Needs its own adapter and escrow

Roadmap

DAI

Needs its own adapter and escrow

Roadmap

wETH

Needs an oracle. The ledger counts collateral in dollars

Roadmap

Riya’s position on Ethereum

Offline
Supplied to Aave
$0.00
Held by Aave now
$0.00
Yield not yet harvested
$0.00
Harvest threshold
$10.00

Everything above what was supplied is yield, and harvest() may move exactly that and nothing else. Read live from the adapter.

On the rate

riya does not read an APY on chain, and does not claim one. The ledger takes the rate as an argument to selfRepayRateBps, so the assumption is the caller’s and this page owns it. Today it assumes 5.0%.

Aave V4 is deployed on Ethereum Mainnet and nowhere else, so the demo runs against a stand-in on Ethereum Sepolia. The production venue is the Aave V4 Spoke, reserve 7. Check the real rate there.

Credit score

A limit you earn

Your borrow limit starts at 10% and climbs to 50%. It moves for one reason: yield retiring your debt. Cash repayments do not count.

Try it

$38.60retired by yield

19

Score

10%

Max LTV

$100

You may borrow

The credit score is relative to your cumulative debt retired.

The ladder

  • 019
    10%
  • 2039
    20%
  • 4059
    30%
  • 6084
    40%
  • 85100
    50%

Why cash repayment does not count

If repaying moved the score, anyone could borrow $100 and repay $100 on a loop without their collateral ever doing any work. Only proven yield writes to the score, so the ladder measures productive collateral.

Onboarding guide

Your first ten minutes

Five steps, two chains. For V1, everything below is on testnet: no real funds are involved.

  1. 1

    Connect and add Creditcoin

    Setup1 min

    Hit Connect in the top right. Your wallet will offer to add Creditcoin Testnet if it does not have it. The same address is used on both chains. Riya reuses your Ethereum address verbatim on Creditcoin, so there is no second account to manage.

  2. 2

    Deposit USDC into the escrow

    Ethereum2 min

    Approve the escrow, then deposit. There is a minimum deposit: small deposits cost more in gas than they are worth. Once this lands, your collateral is in Aave and earning.

  3. 3

    Wait for the proof to land

    Creditcoin~5 min

    You do nothing here. A readability worker picks up your deposit event, waits for the Ethereum block to be final enough to prove, and submits it to Riya's ASC on Creditcoin. Your dashboard flips from pending to credited when the ledger has it.

  4. 4

    Borrow rUSD

    Creditcoin1 min

    Your opening limit is 10% of collateral. Draw any part of it and rUSD is minted to your address on Creditcoin.

  5. 5

    Watch the debt fall

    AutomaticOngoing

    Every yield harvest is proven and applied against your debt. Nothing is asked of you. The dashboard shows the debt, the amount retired so far, and how long the rest will take at the current yield rate.

Roadmap

Where this goes next

Phases 0 through 2 are ours to execute. Phase 3 is not.

  1. Phase 0BuiltHackathon submission

    The vertical slice

    One asset, one source chain, one destination. USDC on Ethereum Sepolia into Aave V4, harvests proven onto Creditcoin Testnet, rUSD minted against a credit score that only proven yield can increase.

    • RiyaEscrow + AaveV4Adapter on Ethereum
    • RiyaASC proof verification with receiptStatus and per-event address pinning
    • LoanLedger: collateral, fee, score, LTV, debt
    • rUSD as a spendable ERC-20 on Creditcoin
  2. Phase 1NextPost-hackathon

    Harden and open

    Everything needed before anyone's real money is welcome.

    • External audits
    • Batched harvests tuned to Ethereum mainnet gas
    • Proven impairment marks, so an Aave loss prices into collateral and stops backing new borrowing instead of accruing silently
    • Permissionless readability watchers, so no single operator can stall proofs
    • More collateral assets and additional yield adapters behind IYieldAdapter
  3. Phase 2PlannedEcosystem

    Make rUSD worth holding

    This phase is about the Creditcoin side of the ledger becoming valuable.

    • rUSD liquidity on Creditcoin DEXes
    • Riya's credit score exposed as a public read-only primitive other Creditcoin protocols can price against
    • Delegated borrowing, lend your unused limit to an address you trust
    • Merchant and payment rails for rUSD
  4. Phase 3GatedBlocked on protocol capability

    The return leg, Attestcoin writability

    These need Creditcoin features that are not released yet.

    • Collateral release back to Ethereum, needs writability, currently in third-party audit
    • Additional source chains besides Ethereum Mainnet
    • Cross-chain liquidation-free refinancing between destinations

Risks

What can go wrong

A risk you find on your own discounts everything else on the page. Here are ours, first.

If Aave is impaired, Riya absorbs it

Yield is measured as what Aave holds minus what we put in. If that reserve takes a loss, the collateral shrinks while the Creditcoin debt does not. Riya has no liquidation path at all, so the protocol wears the gap rather than the borrower.

What we do about it

Designed, not built. A shortfall is provable the same way yield is: the adapter marks holdings against principal on Ethereum, and Creditcoin verifies that mark through the same precompile. The fee accrued so far absorbs it, the remainder spreads across collateral, and impaired collateral stops backing new borrowing. That prices a loss the moment it is proven. It does not refund one.

Proofs are not instant

A deposit is credited once its Ethereum block is final enough to prove, not the moment it lands. Expect minutes, not seconds.

This is unaudited testnet software

Built inside a hackathon window. It has fork tests on the Ethereum contracts and no external audit. An audit is the first item in Phase 1 for exactly this reason. Do not put anything you cannot lose in front of it.

Live

What is deployed

Live contracts on two chains, and the Attestcoin precompiles they depend on. Every one is verifiable without trusting a word on this page.

Creditcoin Testnet

Where every decision is made

  • LoanLedger

    Collateral, debt, credit score, borrow limit

    0x5519…9E86
  • RiyaASC

    Verifies Ethereum proofs. The only door between the chains

    0xce0c…aBC7
  • RiyaUSD

    The borrowable dollar. 6 decimals, minted only by the ledger

    0x194b…3335

Ethereum Sepolia

Where the money sits, earning

  • RiyaEscrow

    Custody. Emits the deposit event Creditcoin proves

    0xEDe1…b72e
  • AaveV4Adapter

    Supplies to Aave and harvests yield back to the escrow

    0x8314…8bFb
  • MockUSD

    Demo dollar. Aave V4 is mainnet-only, so testnet needs a stand-in

    0xcA1B…318F

Attestcoin precompiles

Native to Creditcoin. Not deployed by riya

  • BlockProver

    Verifies that an Ethereum transaction really happened

    0x0FD2
  • ChainInfo

    Names the source chains this network can read

    0x0FD3

Documentation

Read the whole thing

Every claim on this page traces back to a contract you can read. The docs are being assembled from the build walkthrough now.

Protocol walkthrough

Eight checkpoints, contract by contract, with the reasoning behind each decision rather than just the code.

8 checkpoints

Contract reference

Deployed addresses, ABIs, events, and the exact proof format RiyaASC accepts.

Sepolia + Creditcoin Testnet

Integrating rUSD

How to accept rUSD in a Creditcoin contract, and how to read a riya credit score from your own protocol.

For builders