DUOpenMarket
Version 1.61.4 - (23/11/2022)
The free and open-source Market API and Economy tool for Dual Universe players.
Find exactly what you need with powerful search filters. View & sort by item prices & quantities.
Generate history graphs to view market trends over time.
Secure login and authorization with Discord OAuth - No signup required.
Dual Universe OpenMarket API
    Minimum Requirements:
  • .NET Framework 4.8 or later
  • Windows 10 or later
  • A Discord account

DUOpenMarket is a publicly-accessible, open-source, third-party market tool and REST API for Dual Universe market data.

Now with Discord OAuth support! No registration required, just log in with your discord account.

You're two clicks away from helping the community by supplying us any market data you download while you play. In return, our users get access to Dual Universe's market data outside the game, which allows the community to make useful tools and calculation utilities.




Installation Instructions:


Download the DUOpenMarket Client, and place the EXE anywhere you wish. (any non-admin protected directory)
It is at least recommended to create a subfolder for the DUOM client to reside in, as it will create several files of its own, in the same directory as the EXE.



Features:




Planned Features:



If you have an idea or request for a feature, or would like to help develop one, please reach out on Discord!

Community Support:

Dual Universe OpenSource Initiative Discord
If you have any questions, concerns, would like to request a feature or report a bug, please feel free to reach out on Discord. - @EpicPhail#3860





F.A.Q.'s:


How does DUOpenMarket work?

The DUOpenMarket Desktop client actively scrapes your logfiles while you play Dual Universe. It sends the market data for any items you search for ingame, to our servers, where we can share it with others who may not be logged into the game. We strongly encourage players to keep the DUOpenMarket Desktop client open in the background while they play the game normally. If everyone did that, our database would always be up to date.

The Open-Source nature of the DUOpenMarket Client means there's no need to worry about privacy, either - You or anyone, can verify that only market data is read and transmitted by the client.


What information does the DUOpenMarket client collect?

The DUOpenMarket Desktop client ONLY accesses logfiles created by Dual Universe. DU log files in themselves, do contain some sensitive data - namely your DU account email, your avatar ID, your world position ingame, and which orders on the market belong to you. Not to worry, at no point will the DUOpenMarket client interpret or transmit this data for any reason.

We use the Discord API for authorization and the security benefits it comes with. This means no passwords or sensitive account data of any kind, is ever shared with DUOpenMarket.

We do log your Discord username and id when a request is made, to help us improve the quality of our service and eliminate bots/abusers. We also perform checks on the servers you have joined on discord, verifying you have been an unbanned member of the Dual Universe discord server for at least 7 days. We do not collect any personally identifiable information or other analytical data about our users, or their devices.


Why do I have to use a desktop client?

This is a bit of a strategic move to ensure the longevity and viability of this service. Log parsing takes a fairly large toll on my server. To top that, requiring the client to be running increases the likelyhood of contribution per each individual user - and minimizes the potential of each user to simply leech data and provide no updates in return.

Other users are free to use the API as they see fit, as long as they abide by the same "rules" the client follows. This means other users, are free to create web-interfaces for viewing this data if they so desire. I, however, will not officially support doing so, as my efforts go into improving and maintaining this client.


What do you do to prevent bots / false data?

The accuracy and reliability of the data DUOpenMarket provides is my number one priority. Users are authenticated through the Discord OAuth2 code grant flow, making it very difficult to "spoof" orders as someone else. The server routinely performs checks against incoming orders to verify that others have seen the same values if at all possible. Users that are found to be tampering their logs or uploading falsified data are banned by their Discord ID, and may be publicly shamed in the Official DU Discord.


Does the DUOpenMarket Client violate NovaQuark's TOS?

Simply put, NO. DUOpenMarket is perfectly legal to use and infact there are many tools that predate this one, which do similar things. The client only reads from log files which are created by Dual Universe. It does not read game files. It does not modify, update, move, or delete, any files other than its own.

NovaQuark is aware that tools like this exist, and have even shown support for such projects in Discord.


What can I do to help?

Just running the DUOpenMarket Desktop Client is plenty of help enough! The most helpful thing anyone can do to contribute, is to update as many items as often as you can.

To be more specific, the API relies on people to send in updated or recent market logs in order to serve out accurate data. These logs are generated when you search for an item on the ingame market screen, and only for the item you searched for.

Therefore, performing a full database update is quite the task as you could probably imagine - as it would involve manually searching for every single item presently in the game, and sending in the logs - That's where you come in! The desktop client sneds in the logs automatically, all you need to do is perform searches on the market in-game.

If you still want to do more, and are technically inclined (programming skills are not always required!), perhaps consider getting in touch on Discord and seeing what needs working on or testing out. If you know Visual Basic or C#, I can accept and integrate code written in either language. Consider checking out the GitHub repo!