API Reference

Base URL: https://eveex.net · All responses are JSON. · Authenticated endpoints accept a session cookie or Authorization: Bearer EX-XXXXX (your reference code — API access activated by admin).

No auth required Session or API key Admin only Internal cron only

Listings

GET/api/listingsPublic

List all active listings. Supports query params: search, sector, sort (market_cap|price|change|volume|ticker), page, pageSize.

Returns: { listings[], total, page, pageSize }

GET/api/listings/:tickerPublic

Get a single listing by its ticker symbol.

Returns: { listing }

GET/api/listings/:ticker/orderbookPublic

Get the current order book (bids and asks) for a listing.

Returns: { bids: OrderbookLevel[], asks: OrderbookLevel[] }

GET/api/listings/:ticker/tradesPublic

Get recent trades for a listing (last 100).

Returns: { trades[] }

POST/api/listingsAuth

Submit a new listing application.

Body: { corporation_id, ticker, description, total_shares, shares_for_sale, ipo_price, sector?, dividend_policy?, monthly_revenue? }

Returns: { listing_id }

Orders

POST/api/ordersAuth

Place a buy or sell limit order. Triggers the matching engine immediately.

Body: { listing_id, type: "buy"|"sell", price, quantity }

Returns: { result: { status, filled, order_id } }

DELETE/api/orders/:idAuth

Cancel an open or partially-filled order. Refunds the reserved ISK or shares.

Returns: { result: { status } }

GET/api/orders/historyAuth

Get filled and cancelled orders for the authenticated user.

Returns: { orders: HistoricalOrder[] }

Portfolio

GET/api/portfolioAuth

Get holdings, open orders, recent trades, and total portfolio value for the authenticated user.

Returns: { holdings[], openOrders[], trades[], holdingsValue }

Trades

GET/api/trades/recentPublic

Get the 20 most recent trades across all listings.

Returns: { trades[] }

Deposits

GET/api/deposits/generateAuth

Returns the authenticated user's permanent deposit reference code (EX-XXXXX). Generates one on first call.

Returns: { reference_code }

Withdrawals

POST/api/withdrawalsAuth

Request a withdrawal of ISK to an in-game character. Minimum 500M ISK. Locks the balance until processed.

Body: { amount, character_name? }

Returns: { result: { status } }

GET/api/withdrawalsAuth

List all withdrawal requests for the authenticated user.

Returns: { withdrawals[] }

Ledger

GET/api/ledgerAuth

Full transaction ledger for the authenticated user: deposits, trades, and withdrawals sorted by date.

Returns: { entries: LedgerEntry[] }

Reserves

GET/api/reservesPublic

Platform solvency data: total virtual liabilities vs pending withdrawals.

Returns: { liabilities, pendingWithdrawals }

Settings

PATCH/api/settingsAuth

Update account settings for the authenticated user.

Body: { eve_mail_notifications?: boolean }

Returns: { ok: true }

Admin — Listings

POST/api/admin/listings/:id/approveAdmin

Approve a pending listing application. Activates trading.

Returns: { ok: true }

POST/api/admin/listings/:id/rejectAdmin

Reject a pending listing application.

Body: { reason? }

Returns: { ok: true }

POST/api/admin/listings/:id/suspendAdmin

Suspend or unsuspend an active listing. Disables trading while suspended.

Returns: { ok: true }

PATCH/api/admin/listings/:idAdmin

Edit listing content: description, dividend_policy, monthly_revenue, sector.

Body: { description?, dividend_policy?, monthly_revenue?, sector? }

Returns: { ok: true }

Admin — Withdrawals

POST/api/admin/withdrawals/:id/completeAdmin

Mark a withdrawal request as completed after the in-game ISK transfer is done.

Body: { admin_note? }

Returns: { ok: true }

Admin — Users

GET/api/admin/usersAdmin

Search users by character name. Returns up to 50 results.

Returns: { users[] }

POST/api/admin/users/:id/adjust-balanceAdmin

Manually adjust a user's ISK balance. Positive = credit, negative = debit.

Body: { delta, note? }

Returns: { ok, character, delta, new_balance, note }

POST/api/admin/users/:id/subscriptionAdmin

Grant or revoke a user's API subscription. Grant defaults to 35 days.

Body: { active: boolean, days?: number }

Returns: { ok, character_name, api_subscription_valid_until }

Admin — Unmatched Deposits

GET/api/admin/unmatched-depositsAdmin

List ISK deposits that arrived with no valid or recognisable reference code.

Returns: { deposits[] }

POST/api/admin/unmatched-deposits/:id/creditAdmin

Credit an unmatched deposit to a specific user by character name.

Body: { character_name }

Returns: { ok, credited_to, amount }

POST/api/admin/unmatched-deposits/:id/dismissAdmin

Dismiss an unmatched deposit without crediting anyone.

Body: { admin_note? }

Returns: { ok: true }

Admin — Stats

GET/api/admin/statsAdmin

Platform-wide statistics: total deposits, withdrawals, user balances.

Returns: { total_deposits, total_withdrawals, total_owed, user_count }

Cron (internal)

GET/api/cron/poll-walletCron

Poll the exchange corporation wallet journal. Credits player deposits and auto-distributes EVE corporate dividends. Runs every minute.

Returns: { scanned, matched, credited, errors[] }

GET/api/cron/record-pricesCron

Snapshot current prices and 1-hour volume into price_history for all active listings. Runs hourly.

Returns: { ok, recorded }