Runway

How Runway works

Runway gives merchants working capital based on the sales they receive through it, and lets anyone fund that capital and earn the fees. This page explains the whole idea in five minutes; the other pages go into each role.

The idea in one picture

  1. A merchant registers a handle (like priya). Runway creates a settlement account for it, priya.pay.runway-rama.testnet, which has no keys: nobody can sign for it, not even Runway.
  2. Customers pay the merchant through a payment link: any crypto (swapped to USDC by NEAR Intents) or rupees by UPI (converted to USDC by the INR gateway). The money lands in the settlement account.
  3. A keeper calls settle() every few seconds. With no loan, 100% goes to the merchant. The amount is also counted in the merchant's revenue history.
  4. After a few windows of revenue, the merchant asks for an offer. A private underwriter agent scores the revenue and proposes a limit, a fee and a repay share. The contract checks it against fixed rules.
  5. The merchant accepts: USDC moves from the lenders' vault to the merchant. From then on, the settlement account sends the repay share of every payment to the vault until the loan is repaid.
  6. Lenders deposit USDC (or rupees) into the vault and receive runUSDC shares. Loan fees raise the share price, which is how lenders earn.

Who uses it

Quick start (testnet, about 30 minutes)

  1. 1

    Wallet + NEAR

    Meteor Wallet on testnet, at least 4 NEAR from near-faucet.io.
  2. 2

    Test USDC first

    Lenders page → Get 1,000 test USDC. This also registers your wallet with the token.
  3. 3

    Register a merchant handle

    Merchants page. About 2 NEAR pays for your keyless settlement account.
  4. 4

    Three windows of revenue

    Pay yourself 400 test USDC once in each of three 5-minute windows in a row.
  5. 5

    Offer → accept

    In the next window: Capital → Sign and request an offer → Accept. Expect grade C, 100 USDC.
  6. 6

    Repay

    Within 5 minutes, pay yourself 1,200: 110 repays the loan, 1,090 is yours.

Why “test USDC first”?

A wallet must be registered with a token before it can receive it. The faucet button does that for you. A wallet that isn't registered can't receive its share of a payment (it waits as “claimable”) or a loan (the loan fails safely and nothing is lost).

Testnet vs mainnet

WhatOn testnet (this site)On mainnet (design)
Revenue window and loan period5 minutes30 days
USDCa mock token, free from the faucetreal USDC on NEAR
UPIa mock provider: press “Simulate success”Razorpay UPI QR and RazorpayX payouts
Crypto paymentsa live 1Click price preview, then a simulated transferreal 1Click swaps from any chain
Agentslocal mode: whitelisted accounts, mock attestationTEEs with hardware attestation
Withdrawal wait120 seconds7 days

Where to go next