Orangemart 0.4.0 is Live – WebSockets, Rate Limits, Better VIP and More!

Jun 20, 2025 | RustySats

We’re excited to announce the release of Orangemart 0.4.0, a major update that brings big improvements to performance, reliability, and player experience on your Rust server. This update focuses on real-time Lightning payment handling, transaction traceability, abuse prevention, and smarter inventory management.

🔁 Real-Time Payments via WebSockets

Previously, Orangemart relied on HTTP GET/POST polling to check whether a Lightning invoice had been paid. This meant the plugin would repeatedly send out requests on a timer (every few seconds), asking, “Has this invoice been paid yet?” While functional, this approach introduced latency, unnecessary server load, and a risk of missing payment events during short server downtimes or restarts.

With Orangemart 0.4.0, we’ve introduced full WebSocket support for Lightning payment monitoring. Instead of constantly polling, Orangemart now opens a persistent real-time connection to your LNBits server and subscribes to invoice events as they happen. When a player pays an invoice, the plugin receives an instant push notification—no waiting, no lag.

This upgrade offers several major benefits:

⚡ Instant invoice confirmation the moment a payment clears

🧠 Reduced server workload and fewer outbound HTTP requests

🔁 No missed updates, even in high activity periods

We’ve also retained the old HTTP polling system as a fallback, so if WebSocket support isn’t available or a connection drops, Orangemart will gracefully continue using legacy methods without disrupting your server’s payment experience. This means you can now use a much higher CheckIntervalSeconds variable as more of a fallback than the primary means of finalizing a transaction.

With WebSockets enabled, your players will notice faster responses and smoother transactions, especially during high-traffic events or marketplaces.

📜 Smarter Transaction Logging

In earlier versions of Orangemart, the transaction tracking system was primitive and inconsistent. Logging often happened only after the payment completed, with no clear start-to-finish trail. Worse, there was a persistent bug where successful payments were sometimes logged multiple times, cluttering your logs and making it harder to debug or audit player purchases.

With version 0.4.0, we’ve completely overhauled the transaction logging system.

Now, every time a player initiates a payment—whether it’s to buy Blood, send currency, or purchase VIP—the system immediately records the event as INITIATED. From there, we update the transaction log in real time as the process continues:

INITIATED – Payment created and waiting for confirmation

COMPLETED – Payment confirmed and delivered successfully

FAILED – Payment attempt failed (e.g. due to invalid details or errors)

EXPIRED – Invoice expired without being paid

This lifecycle-based approach gives you clean, consistent, and traceable logs for every transaction. You can now see exactly when a command was issued, whether the invoice was paid, and how the system handled the result—all without duplicate entries or missing context.

The new system not only makes debugging easier, but also lays the groundwork for future auditing, analytics, or custom integrations with external systems.

⚖️ Configurable Rate Limits

Orangemart 0.4.0 introduces configurable rate limits to help protect your server’s economy and prevent abuse. Server owners can now set maximum amounts a player can buy or send, limit how many unpaid invoices a player can have at once and apply cooldowns on commands like /buyblood, /sendblood or /buyvip.

These safeguards prevent spam, reduce load on your LNBits backend, and ensure players interact with your in-game currency system fairly and responsibly. All limits are optional and fully customizable to match your server’s needs.

🎖️ Customizable VIP Delivery

Orangemart no longer hardcodes group changes for VIPs. Instead, it runs a customizable server command when a player purchases VIP—making it compatible with plugins like Temporary Permissions and giving you full control over how VIP status is applied.

🎒 Inventory-Safe Currency Drops

In previous versions of Orangemart, there was a frustrating edge case: if a player bought Blood but had a full inventory, the purchased item could vanish completely, resulting in a lost payment and no way to properly tell if the player was given blood as logging would still show as a successful transaction.

With Orangemart 0.4.0, this issue is fully resolved. The plugin now checks whether a player has enough space in their inventory before delivering the purchased currency. If no room is available, the system will safely drop the item on the ground at the player’s position, ensuring it’s still recoverable. This simple but critical change greatly improves reliability and trust—players no longer need to worry about lost sats due to inventory issues, and admins won’t need to manually compensate users for missing items. It’s a win-win for everyone.

🧠 Improved Payment Hash Handling

Outbound payment hashes are now reliably stored and matched, fixing inconsistencies and making your logs and audits more trustworthy than ever.


💡 Upgrade Tips

To take full advantage of all the improvements in Orangemart 0.4.0:

Review Your Config
We’ve added several new configuration fields for rate limiting and VIP commands. The plugin includes a config migration tool that will automatically inject any missing fields into your existing config.json without overwriting your custom values. However, for the cleanest experience and to avoid legacy misconfigurations, we highly recommend installing fresh if possible.

Test VIP Command Execution
The VIP system now uses a customizable command rather than hardcoded group assignment. Make sure this command integrates correctly with your permission management plugin (e.g. Temporary Permissions, BetterChatGroups, etc.).

Monitor Transaction Logs
With the new logging system in place, you’ll get detailed lifecycle logs for each transaction. This makes it easier to trace payments and verify that player interactions are working as expected.


We’re always listening—join our community to share feedback, report issues, or suggest features for Orangemart. Thank you for building awesome servers with us!

🔗 View on Gitea
📣 Follow updates on RustySats.com