Intro
With the CryptoLoot HTTP API you can fetch the numerical value of hashes solved for a user account on your website, game, or app. You can also withdraw uPlexa, verify tokens and create shortlinks, or use CryptoLoot as a captcha system to prevent spam and other attacks.
Using this API requires a secret key (see Manage Sites). This key should be kept secret and should never be exposed to your anybody, including your users. The HTTP API should only ever be called from the server side, i.e. from PHP, NodeJS, Ruby, Python scripts running on your own server.
You should never call the CryptoLoot HTTP API from the client side!
                            		Your secret key can be passed with each API call as a
                            		GET or POST parameter, depending on the
                            		required method for the endpoints.
                            	
                            		The API returns a JSON encoded object for each request. All responses
                            		contain a boolean success property. In case
                            		success is false, an error
                            		property will be present, describing why the operation failed.
                            	
Global Errors
Each API request may result in any of these global errors
| invalid_secret | The secretprovided as GET or POST parameter is invalid. | 
| bad_request | A malformed request was received. | 
| wrong_method | The API expected a POST request but a GET request was performed. | 
| not_found | The API endpoint could not be found. Check the URL for your API call. | 
| internal_error | Something bad happened on our side. Contact us if the issue persists. | 
API Reference
Tokens
Users
- /user/balance
- /user/withdraw (Coming soon)
- /user/top
- /user/list
- /user/reset (Coming soon)
- /user/reset-all (Coming soon)
Links
Statistics
/token/verify
URL: https://api.crypto-loot.com/token/verify
        Method: POST
        
                            		Verify that a token from a
                            		CRLT.Token miner
                            		has reached a number of hashes. Tokens are only valid for 1 hour. Note
                            		that a token can only be verified once. All subsequent requests
                            		to verify the same token will result in the invalid_token
                            		error.        
Parameters
| secret | Your private Secret-Key. See Manage Sites. | 
| token | The name of the token you want to verify. This can be obtained
                            				directly from the miner, through
                            				miner.getToken().
                            				For the captcha, the token
                            				name will be submitted together with the form as CryptoLoot-captcha-token. | 
| hashes | The number of hashes this token must have reached in order to be valid. | 
Response
      {
        "success": true|false,  	// whether the token could be verified
        "hashes"number, 		// the number of hashes recorded for this token
        "error": string 		// optional
      }
      		 
                                    	Possible Errors
Any of the global errors might occur.
| missing_input | No tokenorhashesprovided as
                            				POST parameters. | 
| invalid_token | The token could not be verified. Either the token name was not found, or the token hasn't reached the requested number of hashes. | 
      curl -X POST \
        -d "token=IihNsqfRlZztd42d6vbaD59Z8p3AdCwJ" \
        -d "hashes=1024" \
        -d "secret=<secret-key>" \
        "https://api.crypto-loot.com/token/verify"
      # {"success": true, "hashes": 1024}
      
      /user/balance
URL: https://api.crypto-loot.com/user/balance
        Method: GET
        
Parameters
| secret | |
| name | 
Response
      {
        "success": true|false, 	// whether the user's balance could be obtained
        "name": string, 		// the user's name
        "total"number, 		// Total amount of accepted hashes
        "withdrawn"number, 	// the number of withdrawn XMR
        "balance"number, 		// the number of (accepted - withdrawn) XMR
        "error": string 		// optional      }
      
                                    	Possible Errors
Any of the global errors might occur.
| missing_input | No nameprovided as GET parameter | 
| unknown_user | The user name is not known (has never connected to the pool). | 
      curl "https://api.crypto-loot.com/user/balance?name=johnd&secret=<secret-key>"
      # {success: true, name: "maria", total: "318801685", withdrawn: "0.02", balance: "0.03689529"}
      
      /user/withdraw
URL: https://api.crypto-loot.com/user/withdraw
        Method: POST
        
Coming soon
/user/top
URL: https://api.crypto-loot.com/user/top
        Method: GET
        Get a list of top users ordered by total number of hashes, balance or hashes withdrawn.
Parameters
| secret | Your private Secret-Key. See Manage Sites. | 
| count | |
| order | Order by.. Optional. Either total,balanceorwithdrawn. The default istotal. | 
Response
      {
        "success": true|false,
        "users": [
          {
            "name": string,
            "total"number,
            "withdrawn"number,
            "balance": number
          },
          …
        ],
        "error": string // optional
      }
      
                                    	Possible Errors
Any of the global errors might occur.
/user/list
URL: https://api.crypto-loot.com/user/list
        Method: GET
        Get a paginated list of all users in alphabetical order. Note that this will only return users with a total number of hashes greater than 0.
Parameters
| secret | Your private Secret-Key. See Manage Sites. | 
| count | Optional. The number of users to return. Default 4096, min 32, max 8192. | 
| page | Page (Optional). The page of users to return, obtained from the
                            				previous request's nextPageproperty.
                            				Leave out or specify an empty string for the first page. | 
Response
      {
        "success": true|false,
        "users": [
          {
            "name": string,
            "total"number,
            "withdrawn"number,
            "balance": number          },
          …
        ],
        "nextPage": string|null, // the name of the next page of users
        "error": string // optional      }
      
                                    	Possible Errors
Any of the global errors might occur.
| invalid_page | The page of users could not be found. | 
/user/reset
URL: https://api.crypto-loot.com/user/reset
        Method: POST
        
Coming soon
/user/reset-all
URL: https://api.crypto-loot.com/user/reset-all
        Method: POST
Coming soon
/link/create
URL: https://api.crypto-loot.com/link/create
        Method: POST
        Create a new shortlink. You can also do this by hand, directly from your dashboard.
Parameters
| secret | Your private Secret-Key. See Manage Sites. | 
| url | The target URL for the shortlink. | 
| hashes | The number of hashes that have to be solved, before the user is redirected to the target URL. | 
Response
      {
        "success": true|false, 	//  whether the request succeeded
        "url": string, 			// the resulting URL of the shortlink
        "error": string 		// optional
      }
      
                                    	Possible Errors
Any of the global errors might occur.
| missing_input | No tokenorhashesprovided as
                            				POST parameters. | 
| invalid_url | The provided target URL is not a valid http://orhttps://URL. | 
      curl -X POST \
        -d "url=https://en.wikipedia.org/wiki/Monero_(cryptocurrency)" \
        -d "hashes=1024" \
        -d "secret=<secret-key>" \
        "https://api.crypto-loot.com/link/create"
      # {success: true, url: "https://crlt.co/7xkq"}
      
      /stats/payout
URL: https://api.crypto-loot.com/stats/payout
        Method: GET
        Get the current payout rate and stats about the network.
Parameters
| secret | Your private Secret-Key. See Manage Sites. | 
Response
      {
        "success": true|false,
        "diff"number,
        "value"number,
        "payout"number,
        "payoutPer1MHashes"number,
        "synctime"number,
        "error": string // optional
      }
      
                                    	Possible Errors
Any of the global errors might occur.
/stats/history
URL: https://api.crypto-loot.com/stats/history
        Method: GET
        Get the hourly history of total hashes and hashes/s for the last 7 days for the site.
Parameters
| secret | Your private Secret-Key. See Manage Sites. | 
Response
      {
        "success": true|false,
        "history": [
          {
            "synctime"number, // unix timestamp        "hashes"number, //Total amount of accepted hashes
            "hashrate": number //hashrate at the time
          },
          …
        ],
        "error": string // optional
      }
      
                                    	Possible Errors
Any of the global errors might occur.