How It works
Each vault within the DUCAT protocol will include a βliquidation pathβ as a spending script, which is locked via the hash from a price quote. The vault will also record the quoted exchange price, threshold price, and timestamp for the quote in the vault return data field.
When a liquidator is interested in a vault, they use the return data to request a copy of the quote from the price oracle. The oracle will check to see if the exchange price has crossed the threshold price, starting from the time-stamp of the quote. If the threshold has been crossed, then the oracle will return the secret key along with the price quote. Otherwise, the key is kept secret (and returned as null).
Using the secret key, the liquidator can spend the underwater vault into their own vault, which must contain enough capital to re-collateralize the debt. This transaction is verified and co-signed by the guardian nodes, then broadcast to the network.
Protocol Flows
Vault Action
(Vault User) wants to perform an action on their vault. Vault user calculates the threshold price for their updated vault, then requests a price quote from an oracle.
(Oracle) receives a request for the latest BTC / USD exchange price. Oracle returns a signed price quote, with the requested threshold price and key hash.
(Vault User) constructs a vault update transaction using the data from the price quote. Vault user also constructs a request for updating the vault, and sends this information to a guardian along with the price quote.
(Guardian) verifies the update terms, price quote, and transaction. If everything checks out, the guardian co-signs the transaction and broadcasts it to the network.
Vault Liquidation
(Liquidator) wants to liquidate a vault that has fallen below the threshold price. Liquidator uses the data in the vault to request the past quote from the oracle.
(Oracle) receives a request for a past quote. Oracle checks if the exchange price has surpassed the threshold price of the quote. If so, oracle returns a secret key along with the quote.
( Liquidator) constructs a vault liquidation transaction using the secret key, and sends this information to the guardian along with the price quote.
(Guardian) verifies the liquidation terms, price quote, and transaction. If everything checks out, the guardian co-signs the transaction and broadcasts it to the network
Last updated
Was this helpful?