Unlike payloads initiated on the website, Coinapult API calls carry a 1% fee.

The Coinapult API allows programs to send Coinapult payloads in an automated fashion.


Why go through the trouble of writing all of this yourself? Use one of our easy libraries.

Pythontar zip
PHPtar zip
NodeJStar zip

Making Requests

Coinapult API methods take POST data as input and return a json encoded object.


Most API methods require Coinapult API credentials (key & secret).* This is to avoid spamming the system with unused Bitcoin addresses. An automated way of generating API credentials will be up soon, but until then, please request them through the contact form.

Authentication is a 2 step process. First, each request must include your API key, so we can match it to your account. Second, each request must include an SHA512 hashed HMAC.

HMAC Generation

  1. Make an object (php) or dictionary (python) of the request parameters, sorted alphabetically by key.
  2. JSON encode the object. (use compact encoding, with no whitespace)
  3. Use your API secret to generate an SHA512 HMAC of the JSON encoded object.
  4. Add the HMAC to the request parameters.

That's it. Your request is ready to send.

*The old API with no authentication will be supported until Jan. 1 2013


Coinapult errors are JSON encoded objects with two properties:

errorcodeA numerical error code.
messageAn error message.

If the returned object has a property 'errorcode', it should be considered an error.


Send BTC Payload


Create a payload. Until you send Bitcoin to the returned address, this payload is unfunded, and will not be sent.


keyYour API key
toThe recipient's email address or cell phone number (US and Canada only)
fromThe sender's email address
messageThe message to include (optional)
uuidYour order id. Must be unique to your API credentials. (optional)


addrA fresh bitcoin address. Send your coin to it, and the email will go out immediately.

Get Payload Details


Gets the recovery URL for the payload matching the supplied uuid. Note that the uuid must be supplied by your application at the time the payload is created.


keyYour API key
uuidYour order id. Must be unique to your API credentials.


urlRecovery URL for the payload