Giter VIP home page Giter VIP logo

Comments (2)

dankelleher avatar dankelleher commented on August 16, 2024 3

I am at Civic and worked with Armani on the initial implementation of Permissioned Markets in Serum. Here is a little background on the use-case for this feature

Markets may have constraints on who can place orders. For example, they may disallow traders in OFAC-sanctioned countries, or they may simply require traders to be whitelisted or KYCed.

This is a real possibility e.g. with MiCA regulations coming in next year in Europe that essentially requires KYC even for non-custodial wallets. Dexes that don't allow for these constraints may not be usable by institutional traders, banks etc.

We don't want to add anything like KYC into the dex itself, and we don't want to tie Openbook to any one implementation of these regulations on chain, but the dex should probably have a way to create markets that comply with them (and upcoming regulations).

The way Armani built this in Serum, was to abstract it into a Permissioned Markets proxy. Markets could be set up with a key that would have to cosign orders. This cosigner would typically be a PDA owned by a proxy, and traders would place orders via the proxy.

An important component is order-book "pruning" - permission to trade can also be removed, and in doing so, existing orders must also be removed. If, for example, a wallet makes an order, then that wallet shows up on some OFAC sanctions list, then traders filling that order would be in violation of US law and be liable to be prosecuted. The permissioned-markets proxy also had a prune function which would remove orders from the order-book for that wallet. Pruning was a permissionless crank operation.

The civic implementation of the proxy used a soulbound token (Civic Pass) to determine the right to trade. So the proxy checked for existence of a valid pass and pruned the order book if it was revoked.

Feel free to reach out if more details are needed about this feature. Anecdotally, we are speaking to interested parties quite frequently these days as people see regulations getting closer, who are interested in setting up permissioned markets using OpenBook (as well as other dexes on other chains).

from openbook-v2.

binyebarwe avatar binyebarwe commented on August 16, 2024

Thank you for creating this issue.
Closing this issue as permissioned markets have been implemented according to your specifications.
In case there is something that doesn't meet the requirements a different specific issue can be open

from openbook-v2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.