Terminology

It's dangerous to go alone - learn these.

Archcontroller

  • Smart contract which doubles up as a registry and permission gate. Borrowers are added or removed from the archcontroller by the operators of the protocol itself (granting/rescinding the ability to deploy hooks and/or markets), and the addresses of any factories, hooks instances or markets that get deployed through the protocol are stored here.

Base APR

  • The interest rate that lenders receive on assets that they have deposited into a particular market, in the absence of the penalty APR being enforced.

Borrow

  • To withdraw assets from a market that has a non-zero supply and reserve ratio less than 100%, with the intent of repaying the assets (plus any accrued interest) to the market either when the required purpose of using the assets has concluded or as a response to withdrawal requests.

Borrower

  • Both:

    • The counterparty that wishes to make use of a credit facility through a Wildcat market, and

    • The blockchain address that defines the parameters of a market and deploys the hook instances and market contracts that use them.

Capacity

  • Parameter required of borrower when creating a new market.

  • The maxTotalSupply field in the state.

  • The maximum amount of an asset that a borrower is looking to source via a market - the threshold for totalSupply after which the market will stop accepting deposits.

  • Can be exceeded by the market's totalSupply due to interest accrual.

Claim

Collateral Obligation

Delinquency

  • A market state wherein there are insufficient assets in the market to meet the market's collateral obligations.

  • Arises via the passage of time through interest if the borrower borrows right up to their reserve ratio.

  • Can also arise if a lender makes a withdrawal request that exceeds the market's available liquidity.

  • A market being delinquent for an extended period of time (as specified by the grace period) results in the penalty APR being enforced in addition to the base APR and any protocol APR that may apply.

  • 'Cured' by the borrower depositing sufficient assets into the market as to reattain the required collateral obligation.

Deposit

  • Both:

    • The act of sending assets as a lender to a market for the purposes of being borrowed by the borrower,

    • The act of sending assets as a borrower to a market for the purposes of being withdrawn by lenders,

    • A term for the lenders' assets themselves once in a market.

Deposit Credential

  • Permission granted to a lender through a role provider in order to deposit into a market.

  • The set of requirements for receiving a deposit credential from a given role provider are arbitrary, determined by the borrower according to their needs.

  • May be associated with a TTL (Time-To-Live) configured by the borrower, after which the deposit credential expires and a new one must be acquired from a role provider in order to make any further deposits.

  • Depositing into a market while holding a valid deposit credential (or receiving market tokens while in possession of one) marks lender as a known lender.

Escrow Contract

  • An auxiliary smart contract that is deployed in the event that the sentinel detects that a lender address has been added to a sanctioned list such as the OFAC SDN: this check is performed through the Chainalysis oracle.

  • Used to transfer the debt (for the lender) and obligation to repay (for the borrower) away from the market contract to avoid wider contamination through interaction. Interest ceases to accrue upon creation and transfer.

  • Any assets relating to an attempted claim by the affected lender as well as any market tokens tied to their remaining deposit are automatically transferred to the escrow contract when blocked (either through an attempt to withdraw or via a call to a 'nuke from orbit' function found within the market).

  • Assets can only be released to the lender in the event that a) they are no longer tagged as sanctioned by the Chainalysis oracle, or b) the borrower specifically overrides the sanction.

Expired Withdrawal

Fixed Term

  • Parameter configured by a borrower when creating a new market.

  • Determines the length of time after market deployment in which withdrawal requests and reductions in base APR will be rejected by the market.

  • After this time has elapsed, the market converts into an 'open term' market where the above are permitted. Once a market has converted to open term, it cannot be moved back into a fixed term.

  • Default value is zero (immediately open term).

  • Associated with two distinct market configuration flags that allow a borrower to either prematurely close a market or bring the maturity/conversion time closer to the present.

  • Cannot be extended once a market is deployed.

Force Buyback

  • Permission toggled by a borrower when creating a new market.

  • If enabled, permits the borrower to purchase market tokens directly from a lender, subverting the market by swapping the market tokens for an equivalent amount of underlying assets sourced from the borrower.

  • Cannot be used if a market is delinquent or currently in a fixed term state.

  • If performed for the first time on a market, marks the borrower as a known lender.

  • Immediately forces the market tokens into a withdrawal request on behalf of the borrower.

  • Can be permanently disabled for a market at the borrower's discretion.

  • Note: if a market has both force buyback enabled and open token transferability, a borrower is capable of force rebuying market tokens from LP contracts that hold market tokens such as Uniswap or Curve pools. Despite there being a warranty in the (optional) template Master Loan Agreement related to this point, the potential for substantial damage exists here.

Grace Period

  • Parameter required of borrower when creating a new market.

  • Rolling period of time for which a market can be delinquent before the penalty APR of the market activates.

  • Note that the grace period does not 'reset' to zero when delinquency is cured. See grace tracker below for details.

Grace Tracker

  • Internal market parameter associated with the grace period.

  • timeDelinquent in the market state.

  • Once a market becomes delinquent, begins counting seconds up from zero - when the value of the grace tracker exceeds the grace period, the penalty APR activates.

  • Once a market is cured of delinquency, begins counting seconds down to zero - the penalty APR continues to apply until the grace tracker value is below the grace period value.

  • Enforces the rolling nature of the grace period.

Hook

  • A function on a hook instance which is executed when a particular action occurs on a market.

  • Corresponds to a specific market action, such as the onCloseMarket hook which is called when closeMarket is called on a market during termination.

Hook Instance

  • Contract that defines the hook functions for a market.

  • Deployed by an approved borrower as an instance of a particular hooks template.

  • Configured in the market parameters at market deployment.

Hooks Template

  • A base contract defining behaviour for a kind of hook contract approved by factory operators.

  • Copied when borrowers deploy hook instances.

Known Lender

Lender

  • Both:

    • A counterparty that wishes to provide a credit facility through a Wildcat market, and

    • The blockchain address associated with that counterparty which deposits assets to a market for the purposes of being borrowed by the borrower.

Liquid Reserves

Market

  • Smart contract that accepts underlying assets, issuing market tokens in return.

  • Deployed by borrower through the factory.

  • Holds assets in escrow pending either being borrowed by the borrower or withdrawn by a lender.

  • Permissioned: only lenders that have been obtained a credential authorising them to deposit (either through explicit whitelisting or another access provider via hooks) can interact.

Market Token

  • ERC-20 token indicating a claim on the underlying assets in a market.

  • Issued to lenders after a deposit.

  • Supply rebases after every non-static call to the market contract depending on the total current APR of the market.

  • Can only be redeemed by authorised lender addresses (not necessarily the same one that received the market tokens initially).

  • Name and symbol prefixes are customisable in market creation, prepending to the name and symbol of the underlying asset.

Minimum Deposit

  • Parameter required of borrower when creating a new market.

  • Determines the amount of assets below which any attempts by a lender to deposit in a single transaction will be rejected.

  • Defaults to zero, can be configured after launch by the borrower.

Outstanding Supply

Penalty APR

  • Parameter required of borrower when creating a new market.

  • Additional interest rate (above and beyond the base APR and any protocol APR) that is applied for as long as the grace tracker value for a market is in excess of the specified grace period.

  • Encourages borrower to responsibly monitor the reserve ratio of a market.

  • No part of the penalty APR is receivable by the Wildcat protocol itself (does not inflate the protocol APR if present).

Pending Withdrawal

Protocol APR

  • Percentage of base APR that accrues to the Wildcat protocol itself.

  • Parameter configured by the factory operator for each hooks template, applying to all markets deployed with an instance of said template.

  • Can be zero.

  • Does not increase in the presence of an active penalty APR (which only increases the APR accruing to lenders).

  • Example: market with base APR of 10% and protocol APR of 20% results in borrower paying 12% when penalty APR is not active.

Required Reserves

Reserve Ratio

  • Parameter required of borrower when creating a new market.

  • Percentage of current outstanding supply that must be kept in the market (but still accrue interest).

  • Intended to provide a liquid buffer for lenders to make withdrawal requests against, partially 'collateralising' the credit facility through lenders' deposits.

  • Increases temporarily when a borrower reduces the base APR of a market (fixed-term increase).

  • A market which has insufficient assets in the market to meet the reserve ratio is said to be delinquent, with the penalty APR potentially being enforced if the delinquency is not cured before the grace tracker value exceeds that of the grace period for that particular market.

Role Provider

  • A smart contract registered to an access hook instance for a market which grants deposit credentials to would-be lenders according to a specific set of requirements (i.e. lender has a Coinbase Verification, and/or lender is not marked as sanctioned by the Chainalysis oracle).

  • Two variants: 'pull' providers which are contracts that can be queried by wallet address to determine suitability, or 'push' providers that explicitly tell the market which addresses are suitable.

  • Deployed by the borrower (either from a template or constructed themselves).

  • Can be arbitrarily added and removed to a market after deployment by the borrower.

  • Note: the removal of all role providers from a hook instance for a market means that no more deposit credentials can be granted. However, all known lenders will always be able to make withdrawal requests provided the market is not in a fixed term and they are not sanctioned.

Sentinel

  • Smart contract that ensures that addresses which interact with the protocol are not flagged by the Chainalysis oracle for sanctions.

  • Can deploy escrow contracts to excise a lender flagged by the oracle from a wider market.

  • Facilitates the deployment of escrow contracts.

Supply

Token Transferability

  • Parameter required of borrower when creating a new market.

  • Determines whether market tokens can be transferred from their holders to arbitrary wallets.

  • Three configurations options (default is Open):

    • Open: market tokens can be transferred anywhere at any time.

    • Restricted: market tokens can only be transferred to either known lenders or addresses holding a valid (unexpired) deposit credential.

    • Disabled: market tokens can only be sent back to the market as part of a withdrawal request.

Unclaimed Withdrawals Pool

  • A sequestered pool of underlying assets which are pending their claim by lenders following a withdrawal request.

  • Assets are moved from market reserves to the unclaimed withdrawals pool by burning market tokens at a 1:1 ratio (reducing the supply of the market).

  • Assets within the unclaimed withdrawals pool do not accrue interest, but similarly cannot be borrowed by the borrower - they are considered out of reach.

Underlying Asset

  • Parameter required of borrower when creating a new market.

  • The asset which the borrower is seeking to borrow by deploying a market - for example DAI (Dai Stablecoin) or WETH (Wrapped Ether).

  • Can be any ERC-20 token (however, rebasing tokens break the underlying interest model).

Withdrawal Cycle

  • Parameter required of borrower when creating a new market.

  • Period of time that must elapse between the first withdrawal request of a 'wave' of withdrawals and assets in the unclaimed withdrawals pool being made available to claim.

  • Withdrawal cycles do not work on a rolling basis - at the end of one withdrawal cycle, the next cycle will not start until the next withdrawal request.

  • In the event that the amount being claimed in the same cycle across all lenders is in excess of the reserves currently within a market, all lenders requests within that cycle will be honoured pro rata depending on overall amount requested.

  • Intended to prevent a run on a given market (mass withdrawal requests) leading to slower lenders receiving nothing.

  • Can have a value of zero, in which case each withdrawal request is processed - and potentially added to the withdrawal queue - as a standalone batch.

Withdrawal Queue

  • Internal data structure of a market.

  • All withdrawal requests that could not be fully honoured at the end of their withdrawal cycle are batched together, marked as expired and added to the withdrawal queue.

  • Tracks the order and amounts of lender claims.

  • FIFO (First-In-First-Out): when assets are returned to a market which has a non-zero withdrawal queue, assets are immediately routed to the unclaimed withdrawals pool and can subsequently be claimed by lenders with the oldest expired withdrawals first.

Withdrawal Request

Last updated