Wallet & CDP Liquidation-based Predictive Scoring Model

Hi Maker Community,

As someone having perspective in both the traditional financial system and the blockchain/crypto world, the concept of significant over-collateralization (of min. 150%, typically much higher) has always bothered me as prohibitely expensive and basically - the polar opposite of enabling financial inclusion (say we leave flash loans out of the picture for the time being, as they are exclusive in a whole different purely technical fashion).

Having read up a bit more about the MakerDAO mechanics over the last couple of days, I notice that the average collateral locked up is actually even higher, currently at around ~400% (likely due to the forced liquidations during the mid-March flash crash, where my own CDP also got bitten) - basically, a 4x overcollateralization of the borrowed amount.

I understand that the current protocol risk framework focuses mainly on risk management at collateral asset, liquidity and price level. However, IMO it makes sense to further fine-tune risk at individual CDP-level, by combining historic parameters about CDP-liquidations with information about the ETH wallet behind the CDP and any further voluntarily provided information as an option (i.e. identity-verifications).

In real-world credit risk modelling, verified proof about the owner’s:

  • their historical loan performance (number of loans, credit cards taken/repayed/defaulted, number/frequency of late payments, number of concurrent loans - essentially, parameters that in the blockchain world are availble through various MakerDAO liquidations explorers)
  • total available assets, their activity within a network, time of first transaction, nr of transaction, balances etc (in the blockchain equivalent, all that info is publicly available on the ETH blockchain)
  • their digital presence, identity parameters and other variables voluntarily provided (i.e. phone numbers, e-mails, IP etc)
    all feed into a model that can add a risk-modelling dimension on individual level.

Applying that model to every new open CDP, it could allow for an additional dynamic setting of parameters such as:

  • lower / higher liquidation threshold/ratio;
  • lower / higher liquidation penalty size;
  • lower / higher stability fee;
  • and many other potential use cases that apportion risk based on further information, obtained at borrower level;

Of course, it’s a given that in the crypto/blockchain world many of these aspects can be obfuscated by opening a CDP with a fresh ETH address each time, but that on its own should already be factored in (i.e. - the absence of information is information in itself).

I’ve see one or two white papers focusing on such models so far, but haven’t seen an actual application / analysis of the portfolio in any of the DeFi Lending protocols that I looked at, so it would really help to get some inputs on:

  1. What is the easiest way to obtain all the necessary info from the blockchain and convert it into a CSV file?

Perhaps similar to the one in WhiteRabbit’s post here (https://medium.com/@whiterabbit_hq/black-thursday-for-makerdao-8-32-million-was-liquidated-for-0-dai-36b83cac56b6), but looking at ALL CDPs ever opened and all state changes, instead of only a zoom-in on Black Thursday liquidation events;

  1. I realize there would/could be many objections at taking this approach, especially prior to actually having done any analysis on the information, but I would appreciate thoughts or comments on what would be the biggest barrier for adoption of such “product” by DeFi Lending Protocols, such as MakerDAO

  2. Any ideas on predicting the target outcomes or other collaboration on the matter would be greatly appreciated - please feel free to DM;

My intention would be to provide the above to a team of data scientists / analysts, proficient in credit risk modelling, with several possible targets outcomes to predict;

It is fairly possible that the exercise may prove that the available information is not sufficient to build a predictive / discriminating model & distribution, but if it is, it may help to bring a very early version of the “credit scoring” concept on-chain.

Thanks in advance.


I made a program a while back that will query the debt and collateral values for every eth and bat CDP and outputs those to a csv file.

If you download and run it again you should be able to query a more up to date file, and obviously contributions are welcome if you want it to have more functionality.

1 Like

I love what you are going for here, and I would say that it is something that would benefit the system. How might we implement this in a way that is suitable yet limited in complexity? I do feel like users who want the true privacy of giving zero information should be given less favorable loan terms than those who provide quality substantiation that they have “good credit”.


If you need any help or want to bounce ideas around, I’m more than willing to help or provide feedback. Great initiative for awareness. Thank you!

1 Like

Hi Mike,

Would be happy to get some additional inputs, ideas and feedback - let me know how I can reach out to you (just spent 10 min searching for a way to DM and didn’t find one here :slight_smile:)

Ping me on the chat! mike.wyre is my name (from memory? :blush:)


I like this idea a lot. I think a good method to create such a credit system would be through some sort of non transferable value tokens. It’s unclear how much information we can gather purely from vaults, but I don’t think we should incentivize removal of personal privacy.

Maybe we could increase the vault/wallet’s credit rating by incentivizing behavior that reduces the risk of maker? For example, higher credit for opening vaults with liquidation levels that are significantly offset from other vault holders, so that it is harder to have a mass liquidation event. Or maybe higher credit for having many vault in different assets instead of all in one collateral type (this would have to be at the wallet level rather than the vault level).

We gain something for the ecosystem by creating this credit system that isn’t specifically related to loans and defi: a decentralized, pseudonymous form of identity. If it is sufficiently difficult to game the credit system and it takes enough time and resources on the part of the borrower to duplicate it could be used for things like quadratic voting, and other blockchian application that require identity


IMO, Maker should only consider past credit performance of vaults. Arguably the protocol is no longer permissionless/non-discriminatory if we consider outside identity info, eth address associations, or interactions with other dapps when determining vault specific pricing and access conditions.


Instead of this applying to ALL vaults, could it be an opt-in system? If you opt-in, you can take on a higher leverage? That way individuals can still remain anonymous, keep their ETH address associations and their associated dapp interactions private if they choose to do so.


Given that users seem to place low value on privacy, I’d guess over time most users would opt in to the system. The remaining opt-outs would be a mix of privacy focused users and credit-impaired (negative history/high risk) users. There’s potential for a vicious cycle of adverse selection in the opt out group as a greater ratio of credit impairment makes opting out progressively more expensive.


Because of this we should avoid asking for information that compromises privacy in the first place.

Perhaps a system based more on the length of time a CDP has been functioning? Overall length of the account being maintained would suggest that in general a fund owner has been more responsible, therefore can be trusted with higher leverage?

This could bypass privacy concerns while still incentivising and rewarding funds for keeping collateral locked up for longer periods of time and behaving responsibly.

Also could help to create a ‘fairer’ system…If people with less funds play by the rules they gain a potentially small advantage over others with deeper pockets but a higher appetite for risk…