Skip to content
@UsufructProtocol

Usufruct Protocol

Renting an asset doesn't have to lock it. A new market primitive for Sui.

usufruct

usufruct.io  ·  sdk.usufruct.io  ·  playground.usufruct.io  ·  Discord


Renting an asset locks it for everyone. usufruct keeps the asset in the hands of whoever values it most — the right of use is always contestable, never locked. The market never closes.

A rental protocol for Sui. Integrate once; the protocol handles price discovery, auctions, handovers, and credit curves.

Why usufruct is different

Most rental markets close when someone checks in. usufruct doesn't.

  • Always a price. In every state there is a price at which the right of use can be acquired: the rest price at idle, a descending price during the Dutch auction, an escalated price while occupied.
  • Always liquid. A challenger can bid at any time. The current holder keeps access for the handover window before displacement executes. The window is configured by the governor; the guarantee is enforced by the protocol.
  • Self-correcting. Competition drives price up. Absence of demand drives it down through a Dutch auction. Both are governed by configurable curves.
  • No keeper required. State transitions execute lazily on the next transaction that touches the escrow. No off-chain coordinator, no cron job, no external dependency on liveness.
  • Zero external dependencies. Any Sui object with key + store integrates directly — no adapter code, no permission required, no contract rewrite. The package imports only the Sui standard library.

Playground

Before reading specs or code, build intuition interactively. The usufruct playground lets you configure policies, run rental scenarios, and observe how price, credit, and handover mechanics interact — without deploying anything. It is the fastest path from zero to understanding how the eight policy axes compose into different markets.

llms.txt — tell your agent

llms.txt is a self-contained guide for LLM agents. Load it and the agent will build real PTBs against the testnet deployment — wallet, funding, integrate, rent, collect, handover — without reading any Move source.

With Claude Code:

claude   # from the repo root
@llms.txt  Set up a wallet, integrate the dummy asset, and rent it for one tenure.
           Show the escrow ID once the asset is occupied.

Be curious. Let the agent walk you through the built-in scenarios, then push further. Ask it to swap ensembles, change the credit shape, reshape the auction curve, crank up the price escalation until a challenger is forced out, or spin up a fleet of escrows under a single cap. Ask what a holder can actually do with the asset once they hold the cap — what PTBs are legal inside a borrow, what other protocols compose. Ask it to pay rent in a different coin, or integrate your own asset instead of the dummy. The guide is the map; the agent drives; the protocol surprises.

Sui Move State of the Art

Sui Move 2024 opened the door to functional programming in Move. Enums with exhaustive match — algebraic data types, the same foundation as Haskell, OCaml, and Rust — made it possible to express sum types: WaitingState | RentingState instead of boolean flags and nullable fields. The compiler rejects any function that does not handle every case.

usufruct applies this throughout. Illegal states have no type representation — financial state only exists when the asset is rented, structurally absent from every waiting variant. State transitions consume the old state and produce the new one; no partial update, no intermediate inconsistency. The compiler is the auditor. See CODE_PRINCIPLES.md.


Live on Sui testnet  ·  SDK coming  ·  Apache 2.0

Popular repositories Loading

  1. usufruct-protocol-v1 usufruct-protocol-v1 Public

    On-chain rental market primitive for any Sui asset, any payment coin — always-liquid with handover protection, lazy state transitions, and composable with any Sui protocol.

    Move 1

  2. .github .github Public

    About Org Repo

  3. usufruct-protocol-v1-sdk usufruct-protocol-v1-sdk Public

    Borrow. Compose. Return. — the TypeScript SDK for the Usufruct Protocol, a new rental market primitive for any Sui Object, priced in any Coin.

    TypeScript

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…