{"id":43777,"date":"2026-06-02T03:49:42","date_gmt":"2026-06-02T00:49:42","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/"},"modified":"2026-06-02T03:49:42","modified_gmt":"2026-06-02T00:49:42","slug":"coinop","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/","title":{"rendered":"CoinOp"},"content":{"rendered":"<p># CoinOp<\/p>\n<p>A dynamic, order-book-based economy plugin for Minecraft servers.<\/p>\n<p>## What This Plugin Does<\/p>\n<p>This plugin creates a marketplace where players can trade items with each other. Instead of fixed prices, the market determines prices based on supply and demand &#8211; similar to how stock markets or Hypixel&#8217;s Bazaar works.<\/p>\n<p>**Key Features:**<br \/>\n&#8211; Players can place buy orders (&#8220;I want to buy 100 diamonds for $50 each&#8221;)<br \/>\n&#8211; Players can place sell orders (&#8220;I want to sell 100 diamonds for $50 each&#8221;)<br \/>\n&#8211; When prices match, trades happen automatically<br \/>\n&#8211; Instant buy\/sell at current market price<br \/>\n&#8211; Item tooltips show current market prices<br \/>\n&#8211; Works across multiple servers (using Redis)<br \/>\n&#8211; Optional GUI for easier trading<br \/>\n&#8211; Anvil cost rework (no more &#8220;Too Expensive!&#8221;)<\/p>\n<p>## Requirements<\/p>\n<p>Before installing, make sure you have:<\/p>\n<p>1. **A Minecraft Server** running Paper or Spigot (versions 1.19.x &#8211; 1.21.x)<br \/>\n2. **Java 17+** for Minecraft 1.19-1.20, or **Java 21+** for Minecraft 1.21+<br \/>\n3. **An economy plugin** like EssentialsX, CMI, or PlayerPoints<br \/>\n4. **Vault** (will auto-download if missing)<\/p>\n<p>## Server Compatibility<\/p>\n<p>CoinOp works with all major Minecraft server software:<\/p>\n<p>| Server | Status | Notes |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8211;|&#8212;&#8212;-|<br \/>\n| Paper | \u2705 Full | Primary target &#8211; uses Paper API |<br \/>\n| Spigot | \u2705 Full | Compatible via Spigot API |<br \/>\n| Bukkit | \u2705 Full | Basic Bukkit API |<br \/>\n| Purpur | \u2705 Full | Paper fork, 100% compatible |<br \/>\n| Pufferfish | \u2705 Full | Paper fork, 100% compatible |<br \/>\n| Airplane | \u2705 Full | Paper fork, 100% compatible |<br \/>\n| TacoSpigot | \u2705 Full | Paper\/Spigot fork, compatible |<br \/>\n| Akarin | \u2705 Full | Paper fork, compatible |<\/p>\n<p>**Minecraft Versions:**<br \/>\n&#8211; 1.19.x (1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4)<br \/>\n&#8211; 1.20.x (1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6)<br \/>\n&#8211; 1.21.x (1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, etc.)<\/p>\n<p>## Installation<\/p>\n<p>1. Download the JAR file for your Minecraft version from the releases<br \/>\n2. Put it in your server&#8217;s `plugins` folder<br \/>\n3. Start the server<br \/>\n4. The plugin will create a `plugins\/CoinOp\/` folder with configuration files<br \/>\n5. Edit `config.yml` to customize the plugin<br \/>\n6. Restart the server or run `\/coa reload`<\/p>\n<p>## Configuration Guide<\/p>\n<p>The main configuration file is `config.yml` located in `plugins\/CoinOp\/`. Here&#8217;s a detailed explanation of each section:<\/p>\n<p>### Economy Settings<\/p>\n<p>&#8220;`yaml<br \/>\neconomy:<br \/>\n  tax-rate: 0.0<br \/>\n&#8220;`<\/p>\n<p>&#8211; `tax-rate`: A percentage taken from each trade. Set to `0.0` for no tax, `0.05` for 5% tax. The tax money disappears from the economy (it&#8217;s not collected by anyone).<\/p>\n<p>**Example:** If you set `0.05` and a player sells diamonds for $100, they only receive $95.<\/p>\n<p>### Order Settings<\/p>\n<p>&#8220;`yaml<br \/>\norders:<br \/>\n  min-amount: 1<br \/>\n  max-amount: 2304<br \/>\n  expiration-minutes: -1<br \/>\n&#8220;`<\/p>\n<p>&#8211; `min-amount`: Minimum items per order. Default is 1.<br \/>\n&#8211; `max-amount`: Maximum items per order. Default is 2304 (36 stacks = one double chest). Set to `-1` for unlimited.<br \/>\n&#8211; `expiration-minutes`: How long orders stay active. Default `-1` means orders never expire. Set to `1440` for 24 hours, `10080` for 1 week.<\/p>\n<p>### Commodities Configuration<\/p>\n<p>&#8220;`yaml<br \/>\ncommodities:<br \/>\n  allowed: []<br \/>\n  categories:<br \/>\n    ores:<br \/>\n      &#8211; DIAMOND<br \/>\n      &#8211; IRON_INGOT<br \/>\n      &#8211; GOLD_INGOT<br \/>\n    crops:<br \/>\n      &#8211; WHEAT<br \/>\n      &#8211; CARROT<br \/>\n&#8220;`<\/p>\n<p>&#8211; `allowed`: Leave empty `[]` to allow all items. Or list specific items like `[DIAMOND, IRON_INGOT]` to only allow those.<br \/>\n&#8211; `categories`: Groups items together for the GUI. You can add your own categories.<\/p>\n<p>**Adding a new category:**<br \/>\n&#8220;`yaml<br \/>\ncommodities:<br \/>\n  categories:<br \/>\n    nether:<br \/>\n      &#8211; NETHERITE_INGOT<br \/>\n      &#8211; QUARTZ<br \/>\n      &#8211; GLOWSTONE_DUST<br \/>\n&#8220;`<\/p>\n<p>### Trade Limits<\/p>\n<p>&#8220;`yaml<br \/>\nlimits:<br \/>\n  global-daily-limit: 0<br \/>\n  daily-limits:<br \/>\n    DIAMOND: 1000<br \/>\n&#8220;`<\/p>\n<p>&#8211; `global-daily-limit`: Maximum total items a player can trade per day. `0` means unlimited.<br \/>\n&#8211; `daily-limits`: Per-item limits. The example limits players to 1000 diamonds per day.<\/p>\n<p>**Why use limits?** Prevents players from manipulating the market or laundering money.<\/p>\n<p>### Price Bounds<\/p>\n<p>&#8220;`yaml<br \/>\nprice-bounds:<br \/>\n  enabled: true<br \/>\n  global-min: 0.01<br \/>\n  global-max: 1000000000<br \/>\n  commodities:<br \/>\n    DIAMOND:<br \/>\n      min: 10.0<br \/>\n      max: 10000.0<br \/>\n&#8220;`<\/p>\n<p>&#8211; `enabled`: Turn price bounds on\/off<br \/>\n&#8211; `global-min`: Minimum price for any item (default: $0.01)<br \/>\n&#8211; `global-max`: Maximum price for any item (default: $1 billion)<br \/>\n&#8211; `commodities`: Set specific limits per item<\/p>\n<p>**Why use price bounds?** Prevents players from:<br \/>\n&#8211; Selling items for $0.01 to transfer money between accounts<br \/>\n&#8211; Buying items for extreme prices to manipulate the market<\/p>\n<p>**Example scenario:** You want diamonds to trade between $10 and $10,000:<br \/>\n&#8220;`yaml<br \/>\nprice-bounds:<br \/>\n  enabled: true<br \/>\n  commodities:<br \/>\n    DIAMOND:<br \/>\n      min: 10.0<br \/>\n      max: 10000.0<br \/>\n&#8220;`<\/p>\n<p>Now if someone tries to place a buy order for $5, it will be rejected. If someone tries to sell for $15,000, it will be rejected.<\/p>\n<p>### Multi-Server Sync (Redis)<\/p>\n<p>If you run multiple servers and want them to share the same market:<\/p>\n<p>&#8220;`yaml<br \/>\nsync:<br \/>\n  enabled: true<br \/>\n  redis:<br \/>\n    host: localhost<br \/>\n    port: 6379<br \/>\n    password: &#8220;&#8221;<br \/>\n    database: 0<br \/>\n&#8220;`<\/p>\n<p>&#8211; `enabled`: Turn sync on\/off<br \/>\n&#8211; `host`: Redis server IP address<br \/>\n&#8211; `port`: Redis port (default 6379)<br \/>\n&#8211; `password`: Redis password (leave empty if none)<br \/>\n&#8211; `database`: Redis database number (0-15)<\/p>\n<p>**How it works:** When a player places an order on Server A, it instantly appears on Server B. Trades are synchronized across all connected servers.<\/p>\n<p>**Do I need Redis?** Only if you run multiple servers. For a single server, leave `enabled: false`.<\/p>\n<p>### Database Configuration<\/p>\n<p>&#8220;`yaml<br \/>\ndatabase:<br \/>\n  type: sqlite<br \/>\n  host: localhost<br \/>\n  port: 3306<br \/>\n  name: CoinOp<br \/>\n  user: root<br \/>\n  password: &#8220;&#8221;<br \/>\n&#8220;`<\/p>\n<p>&#8211; `type`: Either `sqlite` or `mysql`<br \/>\n  &#8211; `sqlite`: Stores data in a local file. Good for single servers.<br \/>\n  &#8211; `mysql`: Connects to a MySQL server. Good for multi-server setups.<br \/>\n&#8211; `host`, `port`, `name`, `user`, `password`: MySQL connection details (ignored if using SQLite)<\/p>\n<p>**When to use MySQL:** If you run multiple servers and want them to share order history and player data.<\/p>\n<p>### Lore Display Settings<\/p>\n<p>&#8220;`yaml<br \/>\nlore:<br \/>\n  enabled: true<br \/>\n  update-interval: 20<br \/>\n  show-history: true<br \/>\n  history-points: 5<br \/>\n&#8220;`<\/p>\n<p>&#8211; `enabled`: Show market prices in item tooltips<br \/>\n&#8211; `update-interval`: How often to refresh prices (in ticks, 20 ticks = 1 second)<br \/>\n&#8211; `show-history`: Show price trend in tooltip<br \/>\n&#8211; `history-points`: How many price points to show<\/p>\n<p>**What players see:** When they hover over a diamond in their inventory, they&#8217;ll see:<br \/>\n&#8220;`<br \/>\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501<br \/>\nCoinOp Market Data<br \/>\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501<br \/>\nBuy Price: $50.00 each<br \/>\nSell Price: $48.50 each<br \/>\n24h Volume: 125,300<br \/>\nTrend: \u25b2 Up<br \/>\n&#8220;`<\/p>\n<p>### Anvil Rework Settings<\/p>\n<p>&#8220;`yaml<br \/>\nanvil-rework:<br \/>\n  enabled: true<br \/>\n  enchantment-extraction: true<br \/>\n  max-cost: 0<br \/>\n  material-costs:<br \/>\n    NETHERITE_INGOT: 15<br \/>\n    DIAMOND: 10<br \/>\n&#8220;`<\/p>\n<p>&#8211; `enabled`: Turn the anvil rework on\/off<br \/>\n&#8211; `enchantment-extraction`: Allow moving enchants to books<br \/>\n&#8211; `max-cost`: Maximum anvil cost. `0` means unlimited (no &#8220;Too Expensive!&#8221;)<br \/>\n&#8211; `material-costs`: Base costs for different materials<\/p>\n<p>**How it works:** Instead of exponential costs (2^n &#8211; 1), the anvil uses linear costs based on material rarity. This means you can combine many enchantments without hitting the &#8220;Too Expensive!&#8221; limit.<\/p>\n<p>**Enchantment Extraction:** Put an enchanted item in the left slot and a book in the right slot. The enchantments will transfer to the book.<\/p>\n<p>### GUI Settings<\/p>\n<p>&#8220;`yaml<br \/>\ngui:<br \/>\n  enabled: true<br \/>\n  open-on-command: true<br \/>\n  title: &#8220;&#038;6CoinOp &#038;8- &#038;7Market&#8221;<br \/>\n  main-menu-size: 54<br \/>\n  sounds:<br \/>\n    open: &#8220;BLOCK_CHEST_OPEN&#8221;<br \/>\n    click: &#8220;UI_BUTTON_CLICK&#8221;<br \/>\n  icons:<br \/>\n    ores: &#8220;DIAMOND&#8221;<br \/>\n    crops: &#8220;WHEAT&#8221;<br \/>\n&#8220;`<\/p>\n<p>&#8211; `enabled`: Turn the GUI on\/off<br \/>\n&#8211; `open-on-command`: Open GUI when player runs `\/CoinOp` without arguments<br \/>\n&#8211; `title`: GUI title (supports color codes: `&#038;6` = gold, `&#038;8` = dark gray, `&#038;7` = gray)<br \/>\n&#8211; `main-menu-size`: GUI size (must be multiple of 9, max 54)<br \/>\n&#8211; `sounds`: Sound effects for different actions<br \/>\n&#8211; `icons`: Which items represent each category<\/p>\n<p>**Color Codes:**<br \/>\n&#8211; `&#038;0` &#8211; Black<br \/>\n&#8211; `&#038;1` &#8211; Dark Blue<br \/>\n&#8211; `&#038;2` &#8211; Dark Green<br \/>\n&#8211; `&#038;3` &#8211; Dark Aqua<br \/>\n&#8211; `&#038;4` &#8211; Dark Red<br \/>\n&#8211; `&#038;5` &#8211; Dark Purple<br \/>\n&#8211; `&#038;6` &#8211; Gold<br \/>\n&#8211; `&#038;7` &#8211; Gray<br \/>\n&#8211; `&#038;8` &#8211; Dark Gray<br \/>\n&#8211; `&#038;9` &#8211; Blue<br \/>\n&#8211; `&#038;a` &#8211; Green<br \/>\n&#8211; `&#038;b` &#8211; Aqua<br \/>\n&#8211; `&#038;c` &#8211; Red<br \/>\n&#8211; `&#038;d` &#8211; Light Purple<br \/>\n&#8211; `&#038;e` &#8211; Yellow<br \/>\n&#8211; `&#038;f` &#8211; White<\/p>\n<p>## Commands<\/p>\n<p>### Player Commands<\/p>\n<p>| Command | Aliases | Description | Example |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;|<br \/>\n| `\/coinop` | `\/co`, `\/market` | Open the CoinOp menu | `\/coinop` |<br \/>\n| `\/coinop buy <item> <amount> <price>` | `\/coinbuy` | Place a buy order | `\/coinbuy DIAMOND 100 50` |<br \/>\n| `\/coinop sell <item> <amount> <price>` | `\/coinsell` | Place a sell order | `\/coinsell DIAMOND 100 50` |<br \/>\n| `\/coinop instant buy <item> <amount>` | `\/coininstant` | Buy at market price | `\/coininstant buy DIAMOND 64` |<br \/>\n| `\/coinop instant sell <item> <amount>` | `\/coininstant` | Sell at market price | `\/coininstant sell DIAMOND 64` |<br \/>\n| `\/coinop orders` | `\/coinorders` | View your active orders | `\/coinorders` |<br \/>\n| `\/coinop orders cancel <item> <id>` | &#8211; | Cancel an order | `\/coinop orders cancel DIAMOND 12345` |<br \/>\n| `\/coinop price <item>` | `\/coinprice` | Check current prices | `\/coinprice DIAMOND` |<br \/>\n| `\/coinop history <item>` | &#8211; | View recent trades | `\/coinop history DIAMOND` |<\/p>\n<p>### Admin Commands<\/p>\n<p>| Command | Aliases | Description |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `\/coinadmin reload` | `\/coa reload` | Reload configuration |<br \/>\n| `\/coinadmin bounds list` | `\/coa bounds list` | List all price bounds |<br \/>\n| `\/coinadmin bounds set <item> <min> <max>` | `\/coa bounds set` | Set price bounds |<br \/>\n| `\/coinadmin bounds remove <item>` | `\/coa bounds remove` | Remove price bounds |<br \/>\n| `\/coinadmin limits list` | `\/coa limits list` | List all trade limits |<br \/>\n| `\/coinadmin limits set <item> <limit>` | `\/coa limits set` | Set daily trade limit |<br \/>\n| `\/coinadmin stats [item]` | `\/coa stats` | View trading statistics |<br \/>\n| `\/coinadmin cleanup` | `\/coa cleanup` | Remove inactive orders |<br \/>\n| `\/coinadmin sync status` | `\/coa sync status` | Check Redis connection |<\/p>\n<p>## Permissions<\/p>\n<p>| Permission | Description | Default |<br \/>\n|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;|<br \/>\n| `CoinOp.use` | Basic CoinOp usage | Everyone |<br \/>\n| `CoinOp.buy` | Place buy orders | Everyone |<br \/>\n| `CoinOp.sell` | Place sell orders | Everyone |<br \/>\n| `CoinOp.instant` | Use instant buy\/sell | Everyone |<br \/>\n| `CoinOp.orders` | View own orders | Everyone |<br \/>\n| `CoinOp.cancel` | Cancel own orders | Everyone |<br \/>\n| `CoinOp.admin` | Admin commands | OPs only |<br \/>\n| `CoinOp.admin.bounds` | Set price bounds | OPs only |<br \/>\n| `CoinOp.admin.limits` | Set trade limits | OPs only |<br \/>\n| `CoinOp.admin.reload` | Reload config | OPs only |<br \/>\n| `CoinOp.admin.sync` | Manage sync settings | OPs only |<br \/>\n| `CoinOp.bypass.limit` | Bypass trade limits | OPs only |<br \/>\n| `CoinOp.bypass.bounds` | Bypass price bounds | OPs only |<\/p>\n<p>## How Trading Works<\/p>\n<p>### Order Book System<\/p>\n<p>The CoinOp uses an order book &#8211; the same system used by real stock markets:<\/p>\n<p>1. **Buy Orders (Bids):** Players say &#8220;I want to buy X items at $Y each&#8221;<br \/>\n   &#8211; Highest prices are matched first<br \/>\n   &#8211; Example: If someone is willing to pay $55 and another $50, the $55 order trades first<\/p>\n<p>2. **Sell Orders (Asks):** Players say &#8220;I want to sell X items at $Y each&#8221;<br \/>\n   &#8211; Lowest prices are matched first<br \/>\n   &#8211; Example: If someone is selling at $45 and another at $50, the $45 order trades first<\/p>\n<p>3. **Matching:** When a buy order&#8217;s price meets or exceeds a sell order&#8217;s price, a trade happens at the sell order&#8217;s price.<\/p>\n<p>**Example Trade:**<br \/>\n&#8211; Alice places a buy order: &#8220;I want to buy 100 diamonds at $50 each&#8221;<br \/>\n&#8211; Bob places a sell order: &#8220;I want to sell 50 diamonds at $48 each&#8221;<br \/>\n&#8211; Since $50 \u2265 $48, they trade: Bob sells 50 diamonds to Alice for $48 each<br \/>\n&#8211; Alice&#8217;s order now has 50 diamonds remaining at $50 each<\/p>\n<p>### Instant Buy\/Sell<\/p>\n<p>For players who want immediate trades:<\/p>\n<p>&#8211; **Instant Buy:** Buys at the lowest available sell price<br \/>\n&#8211; **Instant Sell:** Sells at the highest available buy price<\/p>\n<p>If no matching orders exist, the trade is rejected.<\/p>\n<p>## Troubleshooting<\/p>\n<p>### &#8220;Vault not found&#8221; error<\/p>\n<p>The plugin will auto-download Vault on first run. If it fails:<br \/>\n1. Download Vault from https:\/\/www.spigotmc.org\/resources\/vault.34315\/<br \/>\n2. Put it in your `plugins` folder<br \/>\n3. Restart the server<\/p>\n<p>### &#8220;No economy plugin found&#8221; error<\/p>\n<p>You need an economy plugin. Install one of these:<br \/>\n&#8211; EssentialsX (recommended): https:\/\/essentialsx.net\/ or https:\/\/modrinth.com\/plugin\/essentialsx<br \/>\n&#8211; CMI: https:\/\/www.spigotmc.org\/resources\/cmi.3742\/ or if you want to stay on modrinth SunLight<br \/>\n&#8211; PlayerPoints: https:\/\/www.spigotmc.org\/resources\/playerpoints.1997\/ or https:\/\/modrinth.com\/plugin\/playerpoints<\/p>\n<p>### &#8220;Price outside allowed bounds&#8221; error<\/p>\n<p>The price is outside the limits set in config.yml. Either:<br \/>\n&#8211; Change the price bounds in the config<br \/>\n&#8211; Give the player `CoinOp.bypass.bounds` permission<\/p>\n<p>### &#8220;Daily trade limit reached&#8221; error<\/p>\n<p>The player has traded too much of that item today. Either:<br \/>\n&#8211; Wait until tomorrow (limits reset daily)<br \/>\n&#8211; Increase the limit in config.yml<br \/>\n&#8211; Give the player `CoinOp.bypass.limit` permission<\/p>\n<p>### GUI not opening<\/p>\n<p>Check these settings in config.yml:<br \/>\n&#8220;`yaml<br \/>\ngui:<br \/>\n  enabled: true<br \/>\n  open-on-command: true<br \/>\n&#8220;`<\/p>\n<p>### Redis connection failed<\/p>\n<p>1. Make sure Redis is installed and running<br \/>\n2. Check the connection details in config.yml<br \/>\n3. Test with `\/coa sync status`<\/p>\n<p>## Building from Source<\/p>\n<p>If you want to modify the plugin:<\/p>\n<p>1. Install Java 17 or Java 21<br \/>\n2. Clone or download the source code<br \/>\n3. Run `.\/gradlew build` (Linux\/Mac) or `gradlew.bat build` (Windows)<br \/>\n4. Find the JARs in `versions\/*\/build\/libs\/`<\/p>\n<p>## Support<\/p>\n<p>&#8211; Report bugs on the **issue tracker**<br \/>\n&#8211; For questions, ask in the **discussion forum**<\/p>\n<p>## License<\/p>\n<p>MIT License with Attribution<\/p>\n<p>## Credits<\/p>\n<p>**Developer:** APPLEPIE6969<\/p>\n<p>Inspired by Hypixel&#8217;s Bazaar system and the Minecraft community&#8217;s requests for a dynamic economy plugin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A dynamic order-book economy plugin where players trade items at player-driven prices. Features instant buy\/sell, lore-based price tooltips, multi-server sync, optional GUI, and anvil cost rework.<\/p>\n","protected":false},"featured_media":43778,"template":"","meta":{"_minecraft_slug":"coinop","_minecraft_project_id":"C1QQIzCI","_minecraft_author":"APPLEPIE6969","_minecraft_license":"LicenseRef-MIT-License-with-attribution","_minecraft_downloads":1228,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"coinop.zip","_minecraft_size_bytes":87925505,"_minecraft_version_count":6,"_minecraft_updated_at":"2026-05-16T07:55:55.187778Z","_minecraft_date_created":"2026-03-24T22:52:08.083735Z","_minecraft_date_modified":"2026-03-22T22:58:31.764188Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/coinop","_minecraft_icon_attachment_id":43778,"_minecraft_imported_at":"2026-06-02T00:49:45+00:00","_minecraft_import_hash":"ac1510e9fb2a0cdf8dd197ef6599acee","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,844,89,126,127,128,129,92],"mod_loader":[130,132,133,134],"minecraft_version":[54,55,56,57,58,59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-43777","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-economy","mod_category-game-mechanics","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-utility","mod_loader-bukkit","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-19","minecraft_version-1-19-1","minecraft_version-1-19-2","minecraft_version-1-19-3","minecraft_version-1-19-4","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CoinOp - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CoinOp - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A dynamic order-book economy plugin where players trade items at player-driven prices. Features instant buy\/sell, lore-based price tooltips, multi-server sync, optional GUI, and anvil cost rework.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/coinop\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/coinop\\\/\",\"name\":\"CoinOp - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/coinop\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/coinop\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/coinop-icon-4c41b07961d902a74d86dd23d2a9ef0844d03281_96.webp\",\"datePublished\":\"2026-06-02T00:49:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/coinop\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/coinop\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/coinop\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/coinop-icon-4c41b07961d902a74d86dd23d2a9ef0844d03281_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/coinop-icon-4c41b07961d902a74d86dd23d2a9ef0844d03281_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/coinop\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"CoinOp\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CoinOp - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/","og_locale":"en_US","og_type":"article","og_title":"CoinOp - Minecraft","og_description":"A dynamic order-book economy plugin where players trade items at player-driven prices. Features instant buy\/sell, lore-based price tooltips, multi-server sync, optional GUI, and anvil cost rework.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/","name":"CoinOp - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/coinop-icon-4c41b07961d902a74d86dd23d2a9ef0844d03281_96.webp","datePublished":"2026-06-02T00:49:42+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/coinop\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/coinop-icon-4c41b07961d902a74d86dd23d2a9ef0844d03281_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/coinop-icon-4c41b07961d902a74d86dd23d2a9ef0844d03281_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/coinop\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"CoinOp"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/43777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/43778"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=43777"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=43777"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=43777"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=43777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}