Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/developer51709/Noxie/llms.txt

Use this file to discover all available pages before exploring further.

Noxie’s donation system is powered by OxaPay, a cryptocurrency payment API. When a user runs /donate, Noxie calls the OxaPay REST API to create a payment invoice, polls for confirmation, and then credits Glow Shards and Vibe Coins to the user’s economy balance. This page covers creating an OxaPay merchant account, obtaining your Merchant Key, and wiring it into config.json.

What OxaPay Provides

OxaPay exposes a REST API for generating and querying crypto invoices. Noxie uses two endpoints:
EndpointPurpose
POST /merchants/requestCreate a new payment invoice for a given amount, currency, and order ID
POST /merchants/inquiryQuery the current status of an existing invoice by its trackId
All requests are made with aiohttp from within the donate cog’s async polling loop.

Setup Steps

1

Create a merchant account

Go to https://oxapay.com and sign up for a merchant account. You will need to verify your email address before the dashboard becomes fully accessible.
2

Navigate to the Merchant section

Once logged in to the OxaPay dashboard, open the Merchant (or API Keys) section from the sidebar. This is where your payment credentials are managed.
3

Copy your Merchant Key

Locate your Merchant Key (sometimes labeled as the API key for merchant payments) and copy it. This key authenticates all invoice creation and inquiry requests made on your behalf.
4

Add the Merchant Key to config.json

Open config.json in the Noxie project root and replace the placeholder value:
{
  "oxapay_merchant_key": "YOUR_MERCHANT_KEY_HERE"
}
A minimal config with just the fields relevant to OxaPay looks like this:
{
  "bot_token": "YOUR_DISCORD_BOT_TOKEN",
  "oxapay_merchant_key": "YOUR_MERCHANT_KEY_HERE",
  "oxapay_base_url": "https://api.oxapay.com"
}
Restart Noxie after saving the file.
5

Optionally override the API base URL

The oxapay_base_url field defaults to https://api.oxapay.com. You do not need to change this for standard use, but it can be overridden if OxaPay publishes a new endpoint or you are routing requests through a proxy:
{
  "oxapay_base_url": "https://api.oxapay.com"
}

How Noxie Uses OxaPay

Invoice creation

When a user runs /donate <amount> [currency], Noxie posts to POST /merchants/request with a payload that includes:
  • merchant — the OxaPay Merchant Key from config.json
  • amount — the USD value entered by the user
  • currency — always "USD" (the invoice denomination currency)
  • payCurrency — the selected crypto the user pays with (e.g. USDT, BTC)
  • lifeTime600 seconds (the invoice expires after 10 minutes if unpaid)
  • orderId — a unique identifier for this donation session
  • description — a human-readable label such as "Noxie donation"
  • returnUrl"" (unused)
  • callbackUrl"" (unused)
OxaPay responds with a trackId and a payment URL, which Noxie presents to the user in a DM via a CV2 container.

Polling for confirmation

After presenting the invoice, Noxie polls POST /merchants/inquiry on a loop:
  • Interval: every 15 seconds
  • Maximum attempts: 40 (covering approximately 10 minutes total)
  • Recognized paid statuses: paid, confirmed, complete — any of these triggers reward disbursement
  • Terminal failure statuses: expired, cancelled, failed — any of these ends the flow immediately with a failure message
If the invoice is neither paid nor failed after 40 polls, the flow times out.

Supported Currencies

Users can donate in any of the following cryptocurrencies: USDT · BTC · ETH · LTC · BNB · DOGE · TRX The currency is selected as an optional argument to /donate. It defaults to USDT when not specified.

Reward Calculation

Once a donation is confirmed, Noxie credits the user’s economy account using the rates in config.json:
"economy": {
  "donation_glow_shards_per_usd": 500,
  "donation_vibe_coins_per_usd": 50
}
The exact formulas applied (using math.ceil to round up to the nearest whole unit):
RewardFormula
Glow Shardsceil(amount_usd × donation_glow_shards_per_usd)
Vibe Coinsceil(amount_usd × donation_vibe_coins_per_usd)
At the default rates, a $5 donation yields 2,500 Glow Shards and 250 Vibe Coins. A first-time donor also permanently receives the 💎 Donor badge. The completed donation is recorded in the donations table with the OxaPay trackId stored as tx_id for auditability.
The minimum donation amount enforced by Noxie is $1.00 USD. Attempts to donate less will be rejected before an invoice is even created.
If oxapay_merchant_key is missing from config.json or is still set to the placeholder value "YOUR_OXAPAY_MERCHANT_KEY_HERE", all /donate commands will fail at invoice creation with an OxaPay API authentication error. The hunt and economy systems are entirely unaffected and will continue to work normally.

Build docs developers (and LLMs) love