For P2P exchanges there are more options, but they are not decentralized, for example ... Robosats
Why do you consider Robosats as not decentralized exchange? Since January 2024, it works in a DEX mode.
The DEX is available at two addresses:
http://dex.robosats.com/ - with limited functionality,
http://robodexarjwtfryec556cjdz3dfa7u47saek6lkftnkgshvgg2kcumqd.onion/ - with full functionality.
Each user can take on three roles:
1. Maker - the one who publishes an order (exchange request),
2. Taker - the one who accepts an order,
3. Coordinator - the one through whose Lightning Network node the exchange is conducted.
All you need to become a maker or taker is a few sats in your Lightning Network wallet. Yes, even the recipient of sats must have some to pay the insurance bond for publishing or accepting an order. The bond is needed to avoid fake orders and fake responses. It is returned after the successful completion of the trade or after the cancellation of an order that no one responded to. However, if you back out of a trade that has already started (when the order has both a maker and a taker), the bond is not returned. Part of it goes to the other party, and the other part goes to the coordinator.
To become a coordinator, you need to have your own full Lightning Network node. Insurance deposits and the exchanged sats are sent to this node. The coordinator cannot seize these funds (the invoices they receive only allow them to manage the sats according to the specified scenarios). However, the coordinator can act as an arbitrator in a dispute: if the two parties involved in the trade cannot agree on whether all obligations have been met and the sats should be transferred to the recipient, the final decision will be made by the coordinator.
Coordinators can set a fee for their mediation. This fee is paid from the exchanged amount (a portion of it remains on the coordinator's node). Different coordinators may charge different fees.
Exchanging on the DEX requires trust in the coordinator. A coordinator who colludes with one party can leave the other party without Bitcoins and without fiat currency.
The coordinator for a transaction is chosen by the maker. If a potential taker does not trust the coordinator specified in the order, they should find an order with a different coordinator or publish their own order.
Decentralization lies in the fact that the RoboSats team retains only the functions of supporting and developing the protocol. Its source code is open, and anyone can launch their own platform on any server. The protocol provides for information exchange between coordinators. As a result, each coordinator has information about the status of all orders in the system. A new server only needs to connect to any coordinator, after which it can receive information about all available orders and coordinators, create new orders, and respond to them.
If desired, the system can also be used to exchange bitcoins for other cryptocurrencies.