📖 Grid Owner Resources

API Documentation

Complete REST API reference for integrating OpenSimulator grids with ZoneCoin. Authenticate, query balances, transfer funds, and manage instances programmatically.

🌐 Base URL

https://zonecoin.zonenations.com/api/index.php/v1/zonecoin/dll

All API requests should be sent to the base URL below. Append the endpoint path to construct the full URL.

🔒 Authentication

Most endpoints require API Key + Shared Secret authentication. Include these headers in every authenticated request.

# Request Headers
X-ZoneCoin-ApiKey: <your_api_key>
X-ZoneCoin-Secret: <your_shared_secret>
# Alternative: HMAC Signature
X-ZoneCoin-Signature: HMAC-SHA256(body, shared_secret)

⚡ Endpoints

GET /ping Health Check 🔓 Public

Check if the API is alive and responding. No authentication required.

Response Example

{
    "success": true,
    "status": "alive",
    "service": "ZoneCoin DLL Helper",
    "currency": "ZoneCoin",
    "symbol": "ZC",
    "timestamp": "2026-02-17 12:00:00"
}
GET /balance Query Balance 🔒 Auth Required

Query the ZoneCoin balance for a specific avatar.

Parameters

Name Type Required Description
avatar_uuid string UUID of the avatar in OpenSimulator

Response Example

{
    "success": true,
    "balance": 1500,
    "currency": "ZC"
}
POST /transfer Transfer Funds 🔒 Auth Required

Transfer ZoneCoin between two avatars. Fees are applied automatically.

Parameters

Name Type Required Description
sender_uuid string UUID of the sending avatar
receiver_uuid string UUID of the receiving avatar
amount float Amount to transfer/buy/sell
description string Optional transaction description

Response Example

{
    "success": true,
    "tx_hash": "abc123...",
    "net_amount": 99.5,
    "fee": 0.5
}
POST /buy Buy Currency 🔒 Auth Required

Purchase ZoneCoin for an avatar account.

Parameters

Name Type Required Description
avatar_uuid string UUID of the avatar in OpenSimulator
amount float Amount of ZoneCoin to purchase

Response Example

{
    "success": true,
    "credited": 1000,
    "cost_usd": 10
}
POST /sell Sell Currency 🔒 Auth Required

Sell ZoneCoin from an avatar account back to the platform.

Parameters

Name Type Required Description
avatar_uuid string UUID of the avatar in OpenSimulator
amount float Amount of ZoneCoin to sell

Response Example

{
    "success": true,
    "deducted": 500,
    "payout_usd": 5
}
GET /discover Discover Instances 🔒 Auth Required

List all active grid instances registered on the platform.

Response Example

{
    "success": true,
    "instances": [
        {
            "uuid": "...",
            "name": "MyGrid",
            "status": "active",
            "online_users": 12
        }
    ],
    "count": 1
}
POST /register Register Instance 🔒 Auth Required

Register a new OpenSimulator instance on the platform.

Parameters

Name Type Required Description
name string Name of the OpenSimulator instance
base_url string Base URL of the OpenSimulator instance

Response Example

null
POST /currencyServer Currency Server (Legacy Migration) 🔒 Auth Required

ZoneCoin native economy endpoint. Supports balance, transfer, buy, sell, pay_object and land_buy actions via the ZoneCoin OpenSim Module.

Parameters

Name Type Required Description
method string Action name (balance, transfer, buy, sell, etc.)
agentId string Agent ID (mapped to avatar_uuid)
amount float Amount to transfer/buy/sell

Response Example

{
    "success": true,
    "balance": 1500
}
POST /landTool Land Tool 🔒 Auth Required

Process land purchase transactions from within OpenSimulator.

Parameters

Name Type Required Description
avatar_uuid string UUID of the avatar in OpenSimulator
amount float Amount to transfer/buy/sell
region string Region name for land operations

Response Example

{
    "success": true,
    "tx_hash": "land_abc123..."
}

⏳ Rate Limits

Default endpoints60 req/min
Balance queries120 req/min
Transfers30 req/min
Health check (ping)Unlimited

⚠ Error Codes

Code Description
200Success — request completed
400Bad Request — missing or invalid parameters
401Unauthorized — invalid API key or secret
429Too Many Requests — rate limit exceeded
500Internal Server Error
503Service Unavailable — API or DLL integration disabled