The MPOS Compatible API is an API meant to be similar to the MPOS pool API in order to make it easier to adapt existing 3rd party software to the MintPond pool. Since MintPond does not work exactly the same as MPOS, this API is not fully compatible with all existing software. This documentation will try to make note of any areas in the API where there may be differences.

Development

This API is subject to change. Any changes made will be to improve compatibility with existing software and may occur without notice. If you are developing software, please use MintPonds Public API or develop for the official MPOS API.

API Address

The API Address is of the following format:

https://api.mintpond.com/mpos/<coin>

If you want to access the zcoin pool API, the address would be:

https://api.mintpond.com/mpos/zcoin

API Key

Mintpond API's currently do not require an API Key. If your software requires a key you may use any text you like and it will be ignored.

Limits

Rate limiting is subject to change and occurs on a per IP address basis. All API data is cached for at least 60 seconds. Calling the API faster than 60 second intervals will not yield faster data updates.

Cross-origin requests are disabled to prevent abuse. If you need to use the API in a website, you should call it from your web server, cache the results, then allow your web clients to request the data from you.

Actions

Actions specify what data the API should return. All actions return JSON results.

Action Jump List

getblockcount top###

Get the current network block height.

Request: https://api.mintpond.com/mpos/<coin>?action=getblockcount

Result Example:

{
    "getblockcount": {
        "version": "1.0.0",
        "data": 38126
    }
}

getblocksfound top###

Get last 25 blocks found by the pool.

Request: https://api.mintpond.com/mpos/<coin>?action=getblocksfound

Result Example:

{
    "getblocksfound": {
        "version": "1.0.0",
        "data": [
            {
                "id": 38101, // id is block height
                "height": 38101,
                "blockhash": "a25136464c29188b9901c3b98a5e4e6b69e87e35d1d323bb3b2670bfd2a0ed80",
                "confirmations": 25,
                "amount": 28,
                "difficulty": 0.004382219110019344,
                "time": 1519773144,
                "worker_name": "miner111",
                "finder": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy",
                "is_anonymous": 0, // always 0
                "shares": 0.15, // number of shares to find block
                "estshares": 1.1218652104695552 // estimated number of shares to find block
            }
        ]
    }
}

getblockstats top###

Get statistics of blocks found by pool.

Request: https://api.mintpond.com/mpos/<coin>?action=getblockstats

Result Example:

{
    "getblockstats": {
        "version": "1.0.0",
        "data": {
            "Total": 1269,
            "TotalValid": 2534,
            "TotalOrphan": 4,
            "TotalDifficulty": 10.884050638451418,
            "TotalShares": 3607.3858171400357,
            "TotalAmount": 71064,
            "1HourTotal": 32,
            "1HourValid": 32,
            "1HourOrphan": 0,
            "1HourDifficulty": 0.0147454196048943,
            "1HourShares": 4.3,
            "1HourAmount": 896,
            "24HourTotal": 32,
            "24HourValid": 32,
            "24HourOrphan": 0,
            "24HourDifficulty": 0.2358654290141198,
            "24HourShares": 54.149999999999984,
            "24HourAmount": 896,
            "7DaysTotal": 905,
            "7DaysValid": 903,
            "7DaysOrphan": 2,
            "7DaysDifficulty": 7.294824013195148,
            "7DaysShares": 2633.5422780900135,
            "7DaysAmount": 25340,
            "4WeeksTotal": 1269,
            "4WeeksValid": 1267,
            "4WeeksOrphan": 2,
            "4WeeksDifficulty": 10.884050638451418,
            "4WeeksShares": 3607.3858171400357,
            "4WeeksAmount": 35532,
            "12MonthTotal": 1269,
            "12MonthValid": 1267,
            "12MonthOrphan": 2,
            "12MonthDifficulty": 10.884050638451418,
            "12MonthShares": 3607.3858171400357,
            "12MonthAmount": 35532,
            "TotalEstimatedShares": 2786.3594799151138,
            "1HourEstimatedShares": 3.7748850190271814,
            "24HourEstimatedShares": 60.382471191005635,
            "7DaysEstimatedShares": 1867.5034432190687,
            "4WeeksEstimatedShares": 2786.3594799151138,
            "12MonthEstimatedShares": 2786.3594799151138
        }
    }
}

getcurrentworkers top###

Get the number of active workers in the pool.

Request: https://api.mintpond.com/mpos/<coin>?action=getcurrentworkers

Result Example:

{
    "getcurrentworkers": {
        "version": "1.0.0",
        "data": 673
    }
}

getdashboarddata top###

Get all dashboard related information.

Request: https://api.mintpond.com/mpos/<coin>?action=getdashboarddata

Result Example:

{
    "getdashboarddata": {
        "version": "1.0.0",
        "data": {
            "raw": {
                "personal": {
                    "hashrate": 0 /* hash per second */
                },
                "pool": {
                    "hashrate": 0 /* hash per second */
                },
                "network": {
                    "hashrate": 59624.33446927934,
                    "esttimeperblock": 0.901942043607114,
                    "nextdifficulty": 0.00001252109512685237, /* not implemented - returns current difficulty */
                    "blocksuntildiffchange": 0 /* not implemented - returns 0 */
                }
            },
            "personal": {
                "hashrate": 0, /* hash per second */
                "sharerate": 0.00975, /* share per second */
                "sharedifficulty": 0,
                "shares": {
                    "valid": 5.85,
                    "invalid": 0,
                    "invalid_percent": 0, /* percent is multiplied by 100 (i.e. 10 not 0.1) */
                    "unpaid": 0
                },
                "estimates": {
                    "block": 0,
                    "fee": 0,
                    "donation": 0, /* not implemented - always 0 */
                    "payout": 0
                }
            },
            "pool": {
                "info": {
                    "name": "mintpond.com",
                    "currency": "XZC"
                },
                "esttimeperblock": 0,
                "blocks": [
                    {
                        "id": 38101, /* id is block height */
                        "height": 38101,
                        "blockhash": "a25136464c29188b9901c3b98a5e4e6b69e87e35d1d323bb3b2670bfd2a0ed80",
                        "confirmations": 69,
                        "amount": 28,
                        "difficulty": 0.004382219110019344,
                        "time": 1519773144,
                        "worker_name": "miner111",
                        "finder": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy",
                        "is_anonymous": 0,
                        "shares": 0.15,
                        "estshares": 1.1218652104695552
                    }
                ],
                "workers": 0,
                "hashrate": 0, /* hash per second */
                "shares": {
                    "valid": 5.85,
                    "invalid": 0,
                    "invalid_percent": 0, /* percent is multiplied by 100 (i.e. 10 not 0.1) */
                    "estimated": 0.003205449263748373,
                    "progress": 182.72 /* percent is multiplied by 100 (i.e. 10 not 0.1) */
                },
                "price": 0, /* not implemented - returns 0 */
                "difficulty": 1,
                "target_bits": 16
            },
            "system": {
                "load": [0, 0, 0] /* not implemented - always returns array of zeros */
            },
            "network": {
                "hashrate": 59624.33446927934, /* hash per second */
                "difficulty": 0.00001252109512685237,
                "block": 38170,
                "esttimeperblock": 0.901942043607114,
                "nextdifficulty": 0.00001252109512685237, /* not implemented - returns current difficulty */
                "blocksuntildiffchange": 0 /* not implemented - returns 0 */
            }
        }
    }
}

getdifficulty top###

Get the current network difficulty.

Request: https://api.mintpond.com/mpos/<coin>?action=getdifficulty

Result Example:

{
    "getdifficulty": {
        "version": "1.0.0",
        "data": 0.00009508506482411781
    }
}

getestimatedtime top###

Get estimated average time to find the next block in the pool.

Request: https://api.mintpond.com/mpos/<coin>?action=getestimatedtime

Result Example:

{
    "getestimatedtime": {
        "version": "1.0.0",
        "data": 5.3392280030382056 /* seconds */
    }
}

gethourlyhashrates top###

Broken. Do not use.

getnavbardata top###

Not implemented. Do not use.

getpoolhashrate top###

Get the current pool hashrate in hashes per second.

Request: https://api.mintpond.com/mpos/<coin>?action=getpoolhashrate

Result Example:

{
    "getpoolhashrate": {
        "version": "1.0.0",
        "data": 9624.33446927934
    }
}

getpoolinfo top###

Get information about the pool.

Request: https://api.mintpond.com/mpos/<coin>?action=getpoolinfo

Result Example:

{
    "getpoolinfo": {
        "version": "1.0.0",
        "data": {
            "currency": "XZC",
            "coinname": "zcoin",
            "cointarget": 60,
            "coindiffchangetarget": 1,
            "algorithm": "lyra2z",
            "stratumport": 3000,
            "payout_system": "prop",
            "confirmations": 100,
            "min_ap_threshold": 0.01,
            "max_ap_threshold": 8000,
            "reward_type": "block",
            "reward": 50,
            "txfee": 0, /* coin amount */
            "txfee_manual": 0, /* not implemented - returns txfee */
            "txfee_auto": 0, /* not implemented - returns txfee */
            "fees": 0 /* percent multiplied by 100 (i.e. 10 not 0.1) */

            /* The following properties are added since the MPOS properties
               cannot accurately represent MintPond fee capabilities*/

            "txfee_amount": 0, /* coin amount per transaction/payout */
            "txfee_percent": 0, /* percent multiplied by 100 (i.e. 10 not 0.1) */
            "fees_amount": 0, /* coin amount from block earnings */
            "fees_percent": 0 /* percent multiplied by 100 (i.e. 10 not 0.1) */
        }
    }
}

getpoolsharerate top###

Get the current pool share rate in shares per second.

Request: https://api.mintpond.com/mpos/<coin>?action=getpoolsharerate

Result Example:

{
    "getpoolsharerate": {
        "version": "1.0.0",
        "data": 0
    }
}

getpoolstatus top###

Get the pool status information.

Request: https://api.mintpond.com/mpos/<coin>?action=getpoolstatus

Result Example:

{
    {
        "getpoolstatus": {
            "version": "1.0.0",
            "data": {
                "pool_name": "mintpond.com",
                "hashrate": 0, /* hashes per second */
                "efficiency": 0,
                "progress": 47.13,
                "workers": 0,
                "currentnetworkblock": 38222,
                "nextnetworkblock": 38223,
                "lastblock": 38126,
                "networkdiff": 0.0004813693922430652,
                "esttime": 0, /* time to find next block - time in seconds */
                "estshares": 0.12323244479210543,
                "timesincelast": 6272.725, /* time in seconds */
                "nethashrate": 122655.1454132728 /* hashes per second */
            }
        }
    }
}

gettimesincelastblock top###

Get the number of seconds that have elapsed since the last block was found by the pool.

Request: https://api.mintpond.com/mpos/<coin>?action=gettimesincelastblock

Result Example:

{
    "gettimesincelastblock": {
        "version": "1.0.0",
        "data": 6511.72 /* time in seconds */
    }
}

gettopcontributors top###

Get the top 15 miners based on shares submitted over the past 10 minutes.

Request: https://api.mintpond.com/mpos/<coin>?action=gettopcontributors

Result Example:

{
    "gettopcontributors": {
        "version": "1.0.0",
        "data": {
            "shares": [
                {
                    "account": "TMG2xE698wyGXzUmeM22hk27nwk1VjciCn",
                    "shares": 5
                },
                {
                    "account": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy",
                    "shares": 1
                }
            ]
        }
    }
}

getuserbalance top###

Get the pool balance of a user (Wallet address).

Request: https://api.mintpond.com/mpos/<coin>?action=getuserbalance&id=<walletAddress>

Result Example:

{
    "getuserbalance": {
        "version": "1.0.0",
        "data": 1.367103727
    }
}

getuserhashrate top###

Get the hashrate of a user (Wallet address).

Request: https://api.mintpond.com/mpos/<coin>?action=getuserhashrate&id=<walletAddress>

Result Example:

{
    "getuserhashrate": {
        "version": "1.0.0",
        "data": 83886.08 /* hashes per second */
    }
}

getusersharerate top###

Get the sharerate of a user (Wallet address).

Request: https://api.mintpond.com/mpos/<coin>?action=getusersharerate&id=<walletAddress>

Result Example:

{
    "getusersharerate": {
        "version": "1.0.0",
        "data": 0.005
    }
}

getuserstatus top###

Get the status of a user (Wallet address).

Request: https://api.mintpond.com/mpos/<coin>?action=getuserstatus&id=<walletAddress>

Result Example:

{
    "getuserstatus": {
        "version": "1.0.0",
        "data": {
            "username": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy", /* returns user specified in id */
            "shares": {
                "valid": 0,
                "invalid": 0,
                "id": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy", /* returns user specified in id */
                "donate_percent": 0, /* not implemented - always 0 */
                "is_anonymous": false, /* not implemented - always false */
                "username": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy" /* returns user specified in id */
            },
            "hashrate": 83886.08, /* hashes per second */
            "sharerate": 0.005 /* shares per second */
        }
    }
}

getusertransactions top###

Get recent pool balance transactions of a user (Wallet address).

Note that the transaction types are Mintpond transaction types. 3rd party programs that use hard coded types may not work with this action.

Request: https://api.mintpond.com/mpos/<coin>?action=getusertransactions&id=<walletAddress>

Result Example:

{
    "getusertransactions": {
        "version": "1.0.0",
        "data": {
            "transactions": [
                {
                    "id": "4b6ce6e8dbe9dc227f8fb224c1515215", /* mpos uses number id, this uses string hash */
                    "username": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy",
                    "type": "PAYOUT", /* MintPond tx type */
                    "amount": -56,
                    "coin_address": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy",
                    "timestamp": "Sun Dec 11 50129 20:50:57 GMT-0800 (PST)", /* Javascript generated time differs from MPOS timestamp */
                    "txid": "4f6d0002911eb8f5bed48c44399d8aaaae7afecd73b946338e2b56b962d65a10",
                    "height": 0, /* Payouts are not associated with a block and show 0 for height */
                    "blockhash": null, /* currently not implemented. returns null */
                    "confirmations": 38285 /* Payouts are not associated with a block and show current block height for confirmations */
                },
                {
                    "id": "0ab06943b47d66d7bd6e73f87b6b2b76", /* mpos uses number id, this uses string id */
                    "username": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy",
                    "type": "MATURE", /* balance mature, confirmed block reward added to balance */
                    "amount": 28,
                    "coin_address": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy",
                    "timestamp": "Sun Dec 11 50129 20:50:57 GMT-0800 (PST)",
                    "txid": null, /* balance mature transaction is an internal credit and has no transaction id */
                    "height": 38126, /* height of block that mature credit came from */
                    "blockhash": null, /* currently not implemented. returns null */
                    "confirmations": 159
                }
            ],
            "transactionssummary": { /* reflects recent transactions rather than lifetime transactions */
                "PAYOUT": -213.29898122000003,
                "MATURE": 185.29898122000003
                /* Not shown is "FEE" and "TXFEE" type */
            }
        }
    }
}

getuserworkers top###

Get the worker status of a user (Wallet address).

Request: https://api.mintpond.com/mpos/<coin>?action=getuserworkers&id=<walletAddress>

Result Example:

{
    "getuserworkers": {
        "version": "1.0.0",
        "data": [
            {
                "id": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy",
                "username": "TUbC7KzQB1VyFzBv83p37VCEQiq2PUUAFy.miner111",
                "monitor": 0, /* Not implemented - always 0 */
                "count_all": 1, /* Not implemented - always 1 */
                "shares": 2,
                "hashrate": 83886.08, /* hashes per second */
                "difficulty": 1
            }
        ]
    }
}

public top###

Get public pool statistics.

Request: https://api.mintpond.com/mpos/<coin>?action=public

Result Example:

{
    "pool_name": "mintpond.com",
    "hashrate": 5595623.91247913,
    "workers": 2,
    "shares_this_round": 59.628006,
    "last_block": 38305,
    "network_hashrate": 1893184.748095025 /* hashes per second */
}