Inspiration

Acend defi project sought to dissolve centralised money flow structures (liquidity pools) by bringing a peer-to-peer model of crypto lending. It does not solely eliminate Liquidity Pools, but it fractionalizes the pool itself, making each user able to control the flow of his funds (in and out). This model takes into account that the loss of funds can only apply to a fraction, and in no way will it affect every other person.

What it does

  • lending in our terms == direct trade with a borrower
  • borrowing in our terms == direct trade with lender.

consider Acend as similar to an Escrow that facilitates transactions between two parties, without incurring risk to other participants.

on this, we believe lending can be

  • truly undercollaterilzed we solve under-collateralization partially, by using the term trusted nodes. Again each lender can set their trusted nodes explicitly, and decide who to give an under-collateralized loan. All risks are however taken by the (lender).

  • truly personalised we introduced personalization to mean that a user can take a loan with as low as 100% collateral I.e 1:1 we use nomis a wallet-scoring solution to achieve this. based on your nomis score, you can take up to 50 USD worth of loans with 1:1 collateral. the 50usd limit is enhanced if you are a recurring customer with healthy protocol standing using alchemy points which counts whenever you return your loans. However, it does not mean you are immune to liquidations (although lower compared to the standard)

How we built it

Acend comprises 3 nodes

  • BNodes: These are partial nodes created when an address makes a loan request. With provided collaterals, acceptable interest range, and loan's expected duration.
  • bnode
  • LNodes: These are partial nodes created when an address lends its assets to possible needers.
  • lnode
  • Node: this represents a full node. It is created when a lender merges with a borrower and exchanges values.
  • fnode

The steps for the node transition include:

  • a user creates a partial node
  • a user fulfils the other partial node
  • a full node is created from both partial nodes
  • exchange of requested assets for borrowers' collateral
  • node marked as active/running
  • timestamp snapshot created
  • to close the position, the borrower has to deposit back the assets + interest to take back his collaterals + yields

Vaults

The protocol uses EIP4626 yield-bearing vaults for shareholders and assets management.

Interest structure

the protocol requires a fixed interest to be fixed and agreed upon by the 2 transacting partners.

Loan duration

the duration of a loan is fixed and cannot be open forever. the transacting partners need to explicitly set the loan tenure between 30, 60 or 90 days

Transparency

the protocol is built to hide nothing, you can see a user borrowing/lending activity at your disposal.

Challenges we ran into

Splitting the code base into multiple contracts to reduce code size. handling decimals for different cases and tokens in the lending strategy

Accomplishments that we're proud of

a working peer-to-peer lending model completed the first impression of the smart-contracts and built the subgraph

What we learned

code-size limits helped us learn to make more use of solidity libraries, and how to make better multi-contract architecture. and also, in the course of the project, we learnt how to work with the graph protocol.

contract addresses

links

What's next for Acend

Support the creation of a node allowing both parties to provide non-dollar pegged crypto. Currently, Every node must be characterized by a stablecoin and a non-stable asset. implement quadratic personalised output based on Acend points to enhance the 50usd limit of personalized loans Handle position liquidations and triggers. improve, refactor, reorganise, and redeploy

Built With

  • chainlink
  • covalent
  • ethers.js
  • fantom
  • foundry
  • graph-protocol
  • graphql
  • nomis
  • rainbowkit
  • solidity
  • sppokyswap
  • typescript
  • wagmi
Share this project:

Updates