Eckmar's Marketplace Script v2.0
This is a complete rewrite of my old script: Eckmar's Marketplace Script. The two share some similarities (functional), but new version is written from scratch, meaning no code is shared between them.
About script
Marketplace v2.0 is also written in PHP with Laravel framework. Its using latest standards for encryption (like Sodium library) and security. Its made without use of JavaScript, so its optimized for TOR, but can also be ran normally like any other web app (as you can see on demo).
Requirements
VPS with at least 2GB of RAM
Daemon for each coin that is enabled on marketplace
Server requirements: (what software is needed on VPS)
PHP 7 (recommended and tested on 7.2)
SQL Database (MySQL,PostgreSQL, SQLite, SQL Server)
Elasticsearch (Search interface that will keep track of search records and provide great search performance)
Redis (Optional, but will greatly increase app performance )
Features
Categories
Category system is very dynamic. Categories can be nested indefinitely. Creating, deleting and editing of categories is handled in admin panel.
Detailed home page
There is placeholder text on the home page at the moment that will represent most important features of your marketplace.
On top of that, all users can see Top Vendors (Vendors with most sales), Latest Orders (Products of orders completed most recently, as well as order value, but no information about buyer or seller), Rising Vendors (Vendors with most sales in specified time frame, defaults to 7 days).
Official mirrors is place where you can specify on what other links your website can be reached.
PGP
Each user can add their on PGP key which is used for multiple features. Vendors must have PGP and 2FA enabled before they are allowed to upgrade from user to vendor status. If you have active PGP key you can reset your password with it or enable 2FA for your login. Each PGP key must be confirmed before is linked to account, and if you want to add new key you must first sign a message from the old one.
Messages can also be encrypted with user's PGP key if its present (this is not enforced, its user's choice).
Vendors
Normal users cannot post products on Marketplace. In order to post products you must become vendor. Before you can upgrade you must have PGP key and 2FA Enabled in your profile. Vendor price can be set in marketplace config. Vendor can use any of the coins available to purchase vendor status. Out of each vendor sale, a percentage of sale value goes to marketplace addresses.
Vendor profile customization
Vendors are able to customize their profile with pre-defined profile backgrounds and short personal description.
Feedback
After each completed purchase, vendors are able to leave feedback. Feedback types are Positive, Neutral and Negative and they will affect vendor score as well as product score.
Multiple Coins
Probably the most important system is Coin System. Its completely dynamic, which means new coins can be added at any time. Standard version of marketplace comes with Bitcoin and Monero included. For each coin added, in marketplace config there can be set unlimited amount of marketplace addresses (used for receiving fees from purchases), and in case more than one address is present, address for receiving fee will be choosen randomly (for each purchase).
Product types
There are two product types. Physical and Digital products. Based on the type, different options are displayed during product creating and purchase.
Both Digital and Physical products support offers and custom units of measure (Item, kg, gram, piece ...). With offers, vendors can give discounts on purchase based on quantity. For example:
Price for 1 product is 100$
Price for 10 products is 90$
Price for 20+ products is 80$
Each of those is considered an offer and can be added/removed at any time.
Escrow
Escrow is present on every purchase by default. Upon purchase, marketplace address is generated that will hold funds. If purchase is completed if its marked as delivered or dispute is resolved. If buyer is unhappy with purchase he can open dispute and potentially (based on admin's decision) get his money back. Upon purchase completion, based on result money will be sent from temporary purchase address to buyer/vendor and to one of the marketplace holding addresses.
Cart
If user wants to buy more than one product (maybe from different sellers too), they can add them all in a cart and then checkout only once.
Notifications
Users will get notifications for most actions that happen on marketplace regarding them. Some of the examples are: New message, Purchase status update (product sent, product delivered etc.), Vendor actions (Feedback) and so on.
They can be read in User Account Panel and deleted at any time.
Support
Users can open support tickets regarding any problem they encounter. Administrators/Moderators will see this tickets in admin panel and can reply, or close them.
Admin Panel
Most of the stuff happening on marketplace can be viewed directly on admin panel. Administrators can access every feature on admin panel.
Moderators
Modular permission system is currently supported, which means admins can give/take some access to moderators (For example, support staff can only answer tickets and resolve disputes, community manager can only send mass messages etc.). Currently supported features:
Index - Basic information
Categories - Add/Edit/Remove Categories
Mass Messages - Ability to send messages to users by marketplace (Can be filtered to user groups)
Users - View users, search, filter, and edit each user individually.
Products - View, search, filter by user, or edit product
Log - Activity log of all Administrators/Moderators inside Admin Panel Example:
Quote:User: eckmar Type: change Description: Administrator status taken from user Performed on: exampleUser123 Date: 2019-03-20 11:36:52
Bitmessage - Status of Bitmessage service (performs test), and view of marketplace bitmessage address
Disputes - View and resolve purchase disputes
Tickets - View and resolve support tickets
Purchases - List of all purchases
Vendor Purchases - List of vendor purchases
Supported coins
Marketplace currently supports these coins:
Bitcoin - Included in standard version
Monero - Included in standard version
Litecoin
DASH
PIVX
Verge
Bitcoin Cash
Installation
Marketplace installation instructions are included. These are not 100% copy paste but they do explain how must of the things work in detail.
Current price is: 450$ in BTC equivalent (please note that this can be changed at any time)
For this price, you get standard version of the marketplace with two coins (Bitcoin and Monero). If you want additional coins, they are charged separately.
Litecoin, DASH, PIVX are 50$ each, Verge is 60$ and Bitcoin Cash is 90$
There is 100$ discount available for anyone who bought original script Eckmar's Marketplace Script
In order to apply for discount, you must sign a message from address that sent coins for purchase.
Contact details
Telegram: @eckmars (Best way to reach me)
XMPP: [email protected]
Start Contract

