Usury Protocol

Protocol to tokenize future cash-flow rights, trading them for immediate liquidity.

Usury Protocol

Created At

HackMoney 2026

Project Description

Usury Protocol is the name of our project submission. The protocol defines a primitive for expected cashflows: future payments that are not guaranteed, but can be represented, priced, and traded on-chain.

It is composed of two components:

  • ECVault: A contract where a payer is expected to deposit funds in the future. It tracks solvency, payment behavior, and defaults.

  • ECToken (ERC-1155): A token representing entitlement and allowance to claim future cashflows from an ECVault.

The primitive intentionally carries default risk, making it explicit:

  • Solvent vaults signal creditworthiness.
  • Risky EC tokens may trade at large discounts.

Because default risk exists, both sides are incentivized to operate on-chain:

Payers (the source of future cashflows):

  • Defaults make their EC tokens unattractive or worthless. Nobody will buy tokens from unreliable vaults.
  • Trustworthiness becomes an asset for them.
  • Predictable future cashflows unlock present liquidity.

Investors (providers of instant liquidity):

  • Higher risk implies deeper discounts and higher potential returns.
  • Lower risk implies smaller discounts and safer exposure.
  • They value on-chain signals because they are verifiable and trustless.

Both actors value the same signals: creditworthiness, default history, and payment behavior. All of them are recorded on-chain, and reputation becomes the bridge between future promises and present liquidity.

With that at the core of our project, the best way to show viability was through examples:

  • Usury Pay is a DeFi payroll dApp that leverages our primitive to offer employees the option to get paid in advance without requiring them to pay for it.

  • Usury Marketplace is a market to trade ECTokens. It allows users to get good deals on ECTokens, and the market signals indicate good or bad risk pricing.

Why usury? Well… nobody is going to assume default risk for free 😉. But accessing liquidity now can increase future returns. And all of this pushes toward better on-chain reputation.

How it's Made

Built with Next.js 16, React 19, and Foundry for the smart contract layer. The frontend uses Wagmi v3 + Viem v2 for type-safe blockchain interactions, with @reown/appkit for wallet connections and TanStack Query for caching. Smart contracts are written in Solidity 0.8+ using OpenZeppelin's ERC-1155 implementation. Architecture highlight: The EC primitive uses a two-component design — ECVault (escrow) + ECToken (ERC-1155 claims). We implemented a registry-based default system instead of boolean flags, allowing multiple partial defaults and settlements to be tracked over time. This is critical for secondary market pricing. Notable hack: We made the entire dApp work without any backend or indexer — all data comes from view functions. The tokensOfOwner() enumeration pattern lets us enumerate user holdings on-chain, avoiding TheGraph dependency. Wagmi CLI codegen generates fully typed React hooks from contract ABIs, with deployment addresses imported from deployments.json — eliminating manual address management across chains. Cross-chain ready: While MVP is Sepolia-only, the architecture separates USDC routing (Arc/CCTP integration) from custody. EC tokens stay on one chain; only stablecoins move cross-chain.

background image mobile

Join the mailing list

Get the latest news and updates

Usury Protocol | ETHGlobal