API v2 — Stable

MoneroSwapper API

Integrate anonymous cryptocurrency exchange into your application. Access real-time rates, create transactions, and manage swaps programmatically.

Base URL https://moneroswapper.com/api/v2

Authentication

The MoneroSwapper API uses API keys to authenticate requests. You can obtain an API key by registering for an affiliate account. Include your API key in the X-API-Key header of each request.

Public endpoints (/currencies and /rate) do not require authentication.

# Authenticated request curl https://moneroswapper.com/api/v2/transactions \ -H "X-API-Key: YOUR_API_KEY"

Rate Limits

Rate limits are applied per API key (or per IP for public endpoints). Exceeding the limit returns a 429 Too Many Requests response.

Endpoint Limit
GET /currencies, GET /rate 60 requests / min
POST /transactions 30 requests / min
GET /transactions, GET /transactions/{id} 120 requests / min

Error Handling

The API uses standard HTTP status codes. Errors return a JSON object with a message field describing the issue.

Code Description
200Success
400Bad Request — Missing or invalid parameters
401Unauthorized — Invalid or missing API key
404Not Found — Resource does not exist
429Too Many Requests — Rate limit exceeded
500Internal Server Error
// Error response { "message": "Invalid coinFrom parameter", "code": 400 }

Endpoints

GET /currencies Public

List all available cryptocurrencies for exchange. Returns paginated results with coin code, name, icon URL, and network notes.

Query Parameters

Name Type Required Description
pagenumberNoPage number (default: 1)
sizenumberNoResults per page (default: 50)
searchstringNoFilter by coin name or code

Response

{ "data": [ { "code": "XMR", "name": "Monero", "icon": "https://moneroswapper.com/image_proxy.php?coin=XMR", "notes": "" }, { "code": "BTC", "name": "Bitcoin", "icon": "https://moneroswapper.com/image_proxy.php?coin=BTC", "notes": "" } ], "count": 1900 }

Examples

curl "https://moneroswapper.com/api/v2/currencies?page=1&size=50&search=monero"
GET /rate Public

Get the current exchange rate for a trading pair. Returns the estimated output amount, rate, and min/max limits.

Query Parameters

Name Type Required Description
coinFromstringYesSource currency code (e.g. "BTC")
coinTostringYesDestination currency code (e.g. "XMR")
amountnumberYesAmount to exchange
networkFromstringNoSource network (if coin has multiple)
networkTostringNoDestination network
rateTypestringNo"float" (default) or "fixed"

Response

{ "fromAmount": 0.1, "toAmount": 2.847, "rate": 28.47, "minAmount": 0.001, "maxAmount": 5.0, "message": null }

Examples

curl "https://moneroswapper.com/api/v2/rate?coinFrom=BTC&coinTo=XMR&amount=0.1"
POST /transactions Auth Required

Create a new exchange transaction. Returns the transaction details including the deposit address where funds should be sent.

Request Body (JSON)

Name Type Required Description
coinFromstringYesSource currency code
coinTostringYesDestination currency code
networkFromstringYesSource network
networkTostringYesDestination network
amountnumberYesAmount to exchange
withdrawalAddressstringYesDestination wallet address
rateTypestringNo"float" (default) or "fixed"
refundAddressstringNoRefund address if exchange fails

Response

{ "id": "a1b2c3d4e5", "status": "wait", "coin_from": "BTC", "coin_to": "XMR", "amount_in": 0.1, "amount_out_expected": 2.847, "deposit_address": "bc1qxy2kgdygjrsqtzq2n0yrf...", "withdrawal_address": "48daf1rG3hE1Txap...", "rate_type": "float", "created_at": "2026-03-19T12:00:00Z" }

Examples

curl -X POST "https://moneroswapper.com/api/v2/transactions" \ -H "Content-Type: application/json" \ -H "X-API-Key: YOUR_API_KEY" \ -d '{ "coinFrom": "BTC", "coinTo": "XMR", "networkFrom": "BTC", "networkTo": "XMR", "amount": 0.1, "withdrawalAddress": "48daf1rG3hE1Txap...", "rateType": "float" }'
GET /transactions Auth Required

List your exchange transactions. Returns paginated results sorted by creation date (newest first).

Query Parameters

Name Type Required Description
pagenumberNoPage number (default: 1)
sizenumberNoResults per page (default: 20)
dateFromstringNoFilter from date (ISO 8601)
dateTostringNoFilter to date (ISO 8601)

Response

{ "data": [ { "id": "a1b2c3d4e5", "status": "success", "coin_from": "BTC", "coin_to": "XMR", "amount_in": 0.1, "amount_out": 2.847, "created_at": "2026-03-19T12:00:00Z" } ], "count": 42 }

Examples

curl "https://moneroswapper.com/api/v2/transactions?page=1&size=20" \ -H "X-API-Key: YOUR_API_KEY"
GET /transactions/{id} Auth Required

Get the details and current status of a specific exchange transaction.

Path Parameters

Name Type Required Description
idstringYesTransaction ID

Response

{ "id": "a1b2c3d4e5", "status": "success", "coin_from": "BTC", "coin_to": "XMR", "network_from": "BTC", "network_to": "XMR", "amount_in": 0.1, "amount_out": 2.847, "rate": 28.47, "rate_type": "float", "deposit_address": "bc1qxy2kgdygjrsqtzq2n0yrf...", "withdrawal_address": "48daf1rG3hE1Txap...", "refund_address": null, "tx_hash_in": "abc123...", "tx_hash_out": "def456...", "created_at": "2026-03-19T12:00:00Z" }

Transaction Statuses

wait — Awaiting deposit
confirmation — Confirming
exchanging — Processing
success — Complete
overdue — Expired
refunded — Refunded

Examples

curl "https://moneroswapper.com/api/v2/transactions/a1b2c3d4e5" \ -H "X-API-Key: YOUR_API_KEY"

Need Help?

Having trouble integrating? Our support team can help.