Noxie’s donation system is powered by OxaPay, a cryptocurrency payment API. When a user runsDocumentation 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.
/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:| Endpoint | Purpose |
|---|---|
POST /merchants/request | Create a new payment invoice for a given amount, currency, and order ID |
POST /merchants/inquiry | Query the current status of an existing invoice by its trackId |
aiohttp from within the donate cog’s async polling loop.
Setup Steps
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.
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.
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.
Add the Merchant Key to config.json
Open A minimal config with just the fields relevant to OxaPay looks like this:Restart Noxie after saving the file.
config.json in the Noxie project root and replace the placeholder value: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 fromconfig.jsonamount— the USD value entered by the usercurrency— always"USD"(the invoice denomination currency)payCurrency— the selected crypto the user pays with (e.g.USDT,BTC)lifeTime—600seconds (the invoice expires after 10 minutes if unpaid)orderId— a unique identifier for this donation sessiondescription— a human-readable label such as"Noxie donation"returnUrl—""(unused)callbackUrl—""(unused)
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 pollsPOST /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
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 inconfig.json:
math.ceil to round up to the nearest whole unit):
| Reward | Formula |
|---|---|
| Glow Shards | ceil(amount_usd × donation_glow_shards_per_usd) |
| Vibe Coins | ceil(amount_usd × donation_vibe_coins_per_usd) |
donations table with the OxaPay trackId stored as tx_id for auditability.
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.