Prime API

From BitcoinWiki
This is the approved revision of this page, as well as being the most recent.
Jump to: navigation, search

'Prime API is based on JSON, delivered through HTTPS and is mostly REST-ful. API URIs always start with a marker "/v1" to make the version explicit. All timestamps are returned in ISO 8601 format:


Public API[edit]

Public API calls are available without authentication.

Private API[edit]

Private API calls require authentication via:

  • Your personal API key and optionally
  • IP address

Private API is off by default. You need to enable it in your profile.

You are expected to pass the API key as a HTTP header:

Authorization: PrimeExchange 84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe

...where the long string is of course your API key.

It is also possible to pass the API key as a request param:


...although this is not recommended as sensitive data should not be passed in the URI.

Get my deposit address[edit]

GET /v1/prv/deposit_address/:currency_name.json
  • currency_name - obligatory cryptocurrency name, i.e BTC, LTC


curl -v --request GET http://localhost:3000/v1/prv/deposit_address/BTC.json --header "Authorization: PrimeExchange 84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe"


200 OK

Error response:

422 Unprocessable Entity
 {"errors":{"currency_name":"is invalid"}}

Get balances and user data[edit]

GET /v1/prv/user.json


curl -i --request GET http://localhost:3000/v1/prv/user.json --header "Authorization: PrimeExchange 84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe"


200 OK
 "user": {
 "username": "adalovelace",
 "email": "",
 "balances": [
 "available": "0.199",
 "total": "0.199",
 "currency_name": "BTC"
 "available": "0.0",
 "total": "0.0",
 "currency_name": "PLN"
 "available": "7.11",
 "total": "7.11",
 "currency_name": "LTC"
  • available - the amount you can manage, i.e. to place a new offer
  • total - the amount including funds reserved for offers, withdrawals, etc.

Create a withdrawal request (of cryptocurrency)[edit]

POST /v1/prv/withdrawal_request.json
  • currency_name - obligatory name of the currency like BTC, LTC, PLN
  • address - obligatory only for cryptocurrencies
  • amount - obligatory
  • otp - obligatory when user has set up a Google Authenticator One-Time-Passwords for withdrawals


curl -i --request POST http://localhost:3000/v1/prv/withdrawal_requests.json --header "Authorization: PrimeExchange 84ffsOscok1Asbbqj28gcscv86M3nj4bRM6sLRdM" \
--data "currency_name=BTC&address=mm2SjeJ64vQokDjnkhvhcv9mGk1VfEJRsk&amount=0.03"


201 Created

Error response (missing or invalid OTP):

401 Unauthorized
 "errors": {
 "otp": "is invalid"

Error response (invalid params):

422 Unprocessable Entity
 "errors": {
 "currency_name": "is invalid",
 "address": "is_invalid",
 "amount": "is invalid"


See Also on BitcoinWiki[edit]