Skip to content
Saleheen.
All work
Case studyWeb app

Nova

NFT lending, leasing & minting on Polkadot

Role
Designer & sole developer
Timeline
2026
Status
Live · 2026
Nova — interface preview
3On-chain primitives
0Custodians
4ink! contracts
The challenge

An NFT is a locked asset: you own it, but it earns nothing and does nothing while it sits in your wallet. Unlocking it normally means handing custody to a platform — the exact thing the asset was supposed to protect you from. Nova had to make an NFT productive without ever taking the keys.

The approach
  • 01Put three primitives — lending, leasing and minting — behind one non-custodial interface, so a single NFT can be collateral, a rental income stream or a fresh mint without leaving the app.
  • 02Executed every action through inspectable ink! contracts rather than a backend: four contracts (ERC-20, ERC-721, LendingManager and LeasingManager) carry the logic, and their ABIs ship with the app so anyone can read them end to end.
  • 03Kept the keys with the user — authorisation runs through the Polkadot.js extension, which signs each transaction and nothing else, so there is no Nova account to create and none to lose access to.
  • 04Streamed positions from the chain over WebSocket subscriptions that refresh roughly every two seconds, so supplied, borrowed and earned balances are computed from real contract state instead of cached numbers.
  • 05Designed the failure mode rather than hiding it: when the node is unreachable the wallet still connects and balances stay readable from the extension, on-chain features disable, and the dashboard says the node is down instead of failing silently.
The outcome

Nova turns a collectible into working capital with no custodian in the middle — lend against it, lease it out or mint a new one, with every position read live from ink! contract state.

Screens
Nova — interface capture
Nova — interface capture
Stack
PolkadotSubstrateink! contractsERC-721ERC-20WebSocket RPC