<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nonserviam</id>
	<title>Bitcoin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nonserviam"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/Nonserviam"/>
	<updated>2026-06-13T12:23:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=MtGox/API/HTTP/v1&amp;diff=25200</id>
		<title>MtGox/API/HTTP/v1</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=MtGox/API/HTTP/v1&amp;diff=25200"/>
		<updated>2012-04-10T03:42:57Z</updated>

		<summary type="html">&lt;p&gt;Nonserviam: Add table of field meanings for trades&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Note: All API methods require a valid User-Agent header.&#039;&#039;&#039;&lt;br /&gt;
== HTTP API version 1 methods ==&lt;br /&gt;
&lt;br /&gt;
=== Multi Currency Ticker ===&lt;br /&gt;
&lt;br /&gt;
 https://mtgox.com/api/1/BTCUSD/public/ticker&lt;br /&gt;
 https://mtgox.com/api/1/BTCEUR/public/ticker&lt;br /&gt;
&lt;br /&gt;
 returns the current ticker for the selected currency :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;result&amp;quot;:&amp;quot;success&amp;quot;,&lt;br /&gt;
&amp;quot;return&amp;quot;:&lt;br /&gt;
 {&lt;br /&gt;
 &amp;quot;high&amp;quot;: {&amp;quot;value&amp;quot;:&amp;quot;5.70653&amp;quot;,&amp;quot;value_int&amp;quot;:&amp;quot;570653&amp;quot;,&amp;quot;display&amp;quot;:&amp;quot;$5.70653&amp;quot;,&amp;quot;currency&amp;quot;:&amp;quot;USD&amp;quot;},&lt;br /&gt;
 &amp;quot;low&amp;quot;: {&amp;quot;value&amp;quot;:&amp;quot;5.4145&amp;quot;,&amp;quot;value_int&amp;quot;:&amp;quot;541450&amp;quot;,&amp;quot;display&amp;quot;:&amp;quot;$5.41450&amp;quot;,&amp;quot;currency&amp;quot;:&amp;quot;USD&amp;quot;},&lt;br /&gt;
 &amp;quot;avg&amp;quot;: {&amp;quot;value&amp;quot;:&amp;quot;5.561119626&amp;quot;,&amp;quot;value_int&amp;quot;:&amp;quot;556112&amp;quot;,&amp;quot;display&amp;quot;:&amp;quot;$5.56112&amp;quot;,&amp;quot;currency&amp;quot;:&amp;quot;USD&amp;quot;},&lt;br /&gt;
 &amp;quot;vwap&amp;quot;: {&amp;quot;value&amp;quot;:&amp;quot;5.610480461&amp;quot;,&amp;quot;value_int&amp;quot;:&amp;quot;561048&amp;quot;,&amp;quot;display&amp;quot;:&amp;quot;$5.61048&amp;quot;,&amp;quot;currency&amp;quot;:&amp;quot;USD&amp;quot;},&lt;br /&gt;
 &amp;quot;vol&amp;quot;:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;value&amp;quot;:&amp;quot;55829.58960346&amp;quot;,&lt;br /&gt;
  &amp;quot;value_int&amp;quot;:&amp;quot;5582958960346&amp;quot;,&lt;br /&gt;
  &amp;quot;display&amp;quot;:&amp;quot;55,829.58960346\u00a0BTC&amp;quot;,&lt;br /&gt;
  &amp;quot;currency&amp;quot;:&amp;quot;BTC&amp;quot;&lt;br /&gt;
 },&lt;br /&gt;
 &amp;quot;last_local&amp;quot;:{&amp;quot;value&amp;quot;:&amp;quot;5.5594&amp;quot;,&amp;quot;value_int&amp;quot;:&amp;quot;555940&amp;quot;,&amp;quot;display&amp;quot;:&amp;quot;$5.55940&amp;quot;,&amp;quot;currency&amp;quot;:&amp;quot;USD&amp;quot;},&lt;br /&gt;
 &amp;quot;last_orig&amp;quot;:{&amp;quot;value&amp;quot;:&amp;quot;5.5594&amp;quot;,&amp;quot;value_int&amp;quot;:&amp;quot;555940&amp;quot;,&amp;quot;display&amp;quot;:&amp;quot;$5.55940&amp;quot;,&amp;quot;currency&amp;quot;:&amp;quot;USD&amp;quot;},&lt;br /&gt;
 &amp;quot;last&amp;quot;:{&amp;quot;value&amp;quot;:&amp;quot;5.5594&amp;quot;,&amp;quot;value_int&amp;quot;:&amp;quot;555940&amp;quot;,&amp;quot;display&amp;quot;:&amp;quot;$5.55940&amp;quot;,&amp;quot;currency&amp;quot;:&amp;quot;USD&amp;quot;},&lt;br /&gt;
 &amp;quot;buy&amp;quot;:{&amp;quot;value&amp;quot;:&amp;quot;5.53587&amp;quot;,&amp;quot;value_int&amp;quot;:&amp;quot;553587&amp;quot;,&amp;quot;display&amp;quot;:&amp;quot;$5.53587&amp;quot;,&amp;quot;currency&amp;quot;:&amp;quot;USD&amp;quot;},&lt;br /&gt;
 &amp;quot;sell&amp;quot;:{&amp;quot;value&amp;quot;:&amp;quot;5.56031&amp;quot;,&amp;quot;value_int&amp;quot;:&amp;quot;556031&amp;quot;,&amp;quot;display&amp;quot;:&amp;quot;$5.56031&amp;quot;,&amp;quot;currency&amp;quot;:&amp;quot;USD&amp;quot;}&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note : last_local include only the last trade in the selected currency, last_orig include data of the original last trade ( currency,price in currency . . . ),last can be a conversion of the last trde in another currency&lt;br /&gt;
&lt;br /&gt;
=== Multi Currency depth ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCPLN/public/depth?raw&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCAUD/public/depth?raw&lt;br /&gt;
&lt;br /&gt;
=== Multi currency trades ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCUSD/public/trades?raw&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCPLN/public/trades?raw&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCAUD/public/trades?raw&lt;br /&gt;
&lt;br /&gt;
to get only the trades since a given trade id, you can add the parameter since=&amp;lt;trade_id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCUSD/public/trades?since=0&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCEUR/public/trades?since=1316312781670700&lt;br /&gt;
&lt;br /&gt;
For multi currency,also returns the primary value,&amp;quot;Y&amp;quot; or &amp;quot;N&amp;quot;, the primary currency is always the buyers currency&lt;br /&gt;
&lt;br /&gt;
A trade can appear in more than one currency, to ignore duplicates, use only the trades having primary =Y&lt;br /&gt;
&lt;br /&gt;
Each trade is described by a JSON structure like the following: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;date&amp;quot;:1316312781,&lt;br /&gt;
  &amp;quot;price&amp;quot;:&amp;quot;3.5599&amp;quot;,&lt;br /&gt;
  &amp;quot;amount&amp;quot;:&amp;quot;3.6900096&amp;quot;,&lt;br /&gt;
  &amp;quot;price_int&amp;quot;:&amp;quot;355990&amp;quot;,&lt;br /&gt;
  &amp;quot;amount_int&amp;quot;:&amp;quot;369000960&amp;quot;,&lt;br /&gt;
  &amp;quot;tid&amp;quot;:&amp;quot;1316312781670700&amp;quot;,&lt;br /&gt;
  &amp;quot;price_currency&amp;quot;:&amp;quot;EUR&amp;quot;,&lt;br /&gt;
  &amp;quot;item&amp;quot;:&amp;quot;BTC&amp;quot;,&lt;br /&gt;
  &amp;quot;trade_type&amp;quot;:&amp;quot;bid&amp;quot;,&lt;br /&gt;
  &amp;quot;primary&amp;quot;:&amp;quot;Y&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;:&amp;quot;limit,mixed_currency&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The meaning of each field is as follows:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Value&lt;br /&gt;
|-&lt;br /&gt;
| amount || the traded amount in item (BTC), float, deprecated&lt;br /&gt;
|-&lt;br /&gt;
| amount_int || the traded amount * 1E8&lt;br /&gt;
|-&lt;br /&gt;
| date || unix timestamp of trade&lt;br /&gt;
|-&lt;br /&gt;
| item || What was this trade about&lt;br /&gt;
|-&lt;br /&gt;
| price || price per unit, float, deprecated&lt;br /&gt;
|-&lt;br /&gt;
| price_int || price in smallest unit as integer (5 decimals of USD, 3 in case of JPY)&lt;br /&gt;
|-&lt;br /&gt;
| price_currency || currency in which trade was completed&lt;br /&gt;
|-&lt;br /&gt;
| tid || Trade id (big integer, which is in fact trade timestamp in microseconds)&lt;br /&gt;
|-&lt;br /&gt;
| trade_type || Did this trade result from the execution of a bid or a ask?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Cancelled Trades ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCUSD/public/cancelledtrades&lt;br /&gt;
&lt;br /&gt;
returns a list of all the cancelled trades this last month, list of trade ids in json format .&lt;br /&gt;
&lt;br /&gt;
=== Full Depth ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCUSD/public/fulldepth&lt;br /&gt;
&lt;br /&gt;
returns full depth&lt;br /&gt;
&lt;br /&gt;
=== Private info ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/info&lt;br /&gt;
&lt;br /&gt;
returns information about your account, funds, fees, API privileges, withdraw limits . . .&lt;br /&gt;
&lt;br /&gt;
=== idKey ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/idkey&lt;br /&gt;
&lt;br /&gt;
Returns the idKey used to subscribe to a user&#039;s private updates channel in the websocket API. The key is valid for 24 hours.&lt;br /&gt;
&lt;br /&gt;
=== Your open orders ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/orders&lt;br /&gt;
 &lt;br /&gt;
Returns information about your current open orders. Valid order statuses are: pending, executing, post-pending, open, stop, and invalid.&lt;br /&gt;
&lt;br /&gt;
=== Your trade history ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/trades&lt;br /&gt;
 &lt;br /&gt;
Returns all of your trades. Does not include fees.&lt;br /&gt;
&lt;br /&gt;
=== Submit an order ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCUSD/private/order/add&lt;br /&gt;
&lt;br /&gt;
parameters: &lt;br /&gt;
* type (bid|ask) (easier to remember: &#039;&#039;&#039;b&#039;&#039;&#039;id == &#039;&#039;&#039;b&#039;&#039;&#039;uy, ask == sell)&lt;br /&gt;
* amount_int &amp;lt;amount as int&amp;gt;&lt;br /&gt;
* price_int &amp;lt;price as int&amp;gt; (can be omitted to place market order)&lt;br /&gt;
 &lt;br /&gt;
submits an order and returns info about success or error&lt;br /&gt;
&lt;br /&gt;
=== Currency information ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/public/currency&lt;br /&gt;
&lt;br /&gt;
pass parameter ?currency=&amp;lt;currency_symbol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
returns information about a currency ( number of decimals . . . )&lt;br /&gt;
&lt;br /&gt;
=== HOTP key ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/public/hotp_gen&lt;br /&gt;
&lt;br /&gt;
used to generate a new HOTP key ( useful for developers )&lt;br /&gt;
&lt;br /&gt;
=== App activation ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/public/api/activate&lt;br /&gt;
&lt;br /&gt;
parameters:&lt;br /&gt;
* &#039;&#039;&#039;key&#039;&#039;&#039; - Activation key&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; - Device name&lt;br /&gt;
* &#039;&#039;&#039;app&#039;&#039;&#039; - App ID&lt;br /&gt;
&lt;br /&gt;
used in mobile apps to obtain an API key/secret pair. Contact MagicalTux on freenode to obtain an app ID. Activation key comes from the user&#039;s account, Settings &amp;gt; Access &amp;gt; Application Access.&lt;br /&gt;
&lt;br /&gt;
=== Merchant System ===&lt;br /&gt;
&lt;br /&gt;
==== Order Creation ====&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/merchant/order/create&lt;br /&gt;
&lt;br /&gt;
===== Required Parameters: =====&lt;br /&gt;
* &#039;&#039;&#039;currency&#039;&#039;&#039;: &#039;&#039;&amp;lt;currency&amp;gt;&#039;&#039; (for now only BTC is supported)&lt;br /&gt;
* &#039;&#039;&#039;amount&#039;&#039;&#039;: &#039;&#039;&amp;lt;amount as float&amp;gt;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
* &#039;&#039;&#039;amount_int&#039;&#039;&#039;: &#039;&#039;&amp;lt;amount as int&amp;gt;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;return_success&#039;&#039;&#039;: &#039;&#039;&amp;lt;string&amp;gt;&#039;&#039; Where to redirect the user on payment success&lt;br /&gt;
* &#039;&#039;&#039;return_failure&#039;&#039;&#039;: &#039;&#039;&amp;lt;string&amp;gt;&#039;&#039; Where to redirect the user on cancellation&lt;br /&gt;
&lt;br /&gt;
===== Optional Parameters: =====&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039;: &#039;&#039;&amp;lt;string&amp;gt;&#039;&#039; A small description that will appear on the payment page (defaults to &amp;quot;Payment to &amp;lt;user_login&amp;gt;&amp;quot;)&lt;br /&gt;
* &#039;&#039;&#039;ipn&#039;&#039;&#039;: &#039;&#039;&amp;lt;string&amp;gt;&#039;&#039; URL that will be called by our services once the payment is complete (more below)&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039;: &#039;&#039;&amp;lt;string&amp;gt;&#039;&#039; Custom data returned by the IPN&lt;br /&gt;
&lt;br /&gt;
===== Returns =====&lt;br /&gt;
* &#039;&#039;&#039;transaction&#039;&#039;&#039;: &#039;&#039;&amp;lt;uuid&amp;gt;&#039;&#039; A unique transaction ID&lt;br /&gt;
* &#039;&#039;&#039;payment_url&#039;&#039;&#039;: &#039;&#039;&amp;lt;string&amp;gt;&#039;&#039; URL on which to redirect the user&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IPN ====&lt;br /&gt;
The IPN (Instant payment notification) is a mechanism that POST data about a successful payment an a custom URL located on your website right after the payment as been validated. It is signed with your API key.&lt;br /&gt;
Your website is supposed then to either acknowledge the IPN by returning &amp;quot;[OK]&amp;quot; as is. Anything else will be counted as an error and the system will try sending the IPN back every 30 minutes until it succeed.&lt;br /&gt;
&lt;br /&gt;
===== Content =====&lt;br /&gt;
&lt;br /&gt;
The IPN POST data will always contain the following:&lt;br /&gt;
* &#039;&#039;&#039;id&#039;&#039;&#039;: &#039;&#039;&amp;lt;uuid&amp;gt;&#039;&#039; The transaction ID generated by the initial call&lt;br /&gt;
* &#039;&#039;&#039;payment_id&#039;&#039;&#039;: &#039;&#039;&amp;lt;uuid&amp;gt;&#039;&#039; The payment ID&lt;br /&gt;
* &#039;&#039;&#039;status&#039;&#039;&#039;: &#039;&#039;&amp;lt;enum&amp;gt;&#039;&#039; Either &#039;&#039;&#039;paid&#039;&#039;&#039;, &#039;&#039;&#039;partial&#039;&#039;&#039;, &#039;&#039;&#039;cancelled&#039;&#039;&#039; or &#039;&#039;&#039;closed&#039;&#039;&#039; (4th one shouldn&#039;t happen)&lt;br /&gt;
&lt;br /&gt;
If the status is &#039;&#039;&#039;partial&#039;&#039;&#039;, the user choose to pay without a MtGox account and bitcoins where detected on the network, we then send you an IPN telling you the amount of bitcoins pending and valid, pending bitcoins have less than 6 confirmations so it is up to you to accept or not the transaction based on that value. Your merchant account will be credited only after the 6 confirmations on our end.&lt;br /&gt;
&lt;br /&gt;
Additional content of the &#039;&#039;&#039;partial&#039;&#039;&#039; IPN:&lt;br /&gt;
* &#039;&#039;&#039;amount_pending&#039;&#039;&#039;: &#039;&#039;&amp;lt;amount as int&amp;gt;&#039;&#039; The amount still pending confirmations&lt;br /&gt;
* &#039;&#039;&#039;amount_valid&#039;&#039;&#039;: &#039;&#039;&amp;lt;amount as int&amp;gt;&#039;&#039; The amount of bitcoins for which we had 6 confirmations&lt;br /&gt;
* &#039;&#039;&#039;amount_total&#039;&#039;&#039;: &#039;&#039;&amp;lt;amount as int&amp;gt;&#039;&#039; The total amount, pending and valid, on the payment address&lt;br /&gt;
&lt;br /&gt;
If the status is &#039;&#039;&#039;paid&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;&#039;amount&#039;&#039;&#039;: &#039;&#039;&amp;lt;amount as int&amp;gt;&#039;&#039; The amount paid by the user&lt;br /&gt;
* &#039;&#039;&#039;currency&#039;&#039;&#039;: &#039;&#039;&amp;lt;currency&amp;gt;&#039;&#039; The currency used to pay (should always be BTC for now)&lt;br /&gt;
* &#039;&#039;&#039;method&#039;&#039;&#039;: &#039;&#039;&amp;lt;enum&amp;gt;&#039;&#039; The payment method, for now MTGOXBTC&lt;br /&gt;
* &#039;&#039;&#039;date&#039;&#039;&#039;: &#039;&#039;&amp;lt;date&amp;gt;&#039;&#039; The payment date&lt;br /&gt;
&lt;br /&gt;
If data was provided in the initial call:&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039;: &#039;&#039;&amp;lt;string&amp;gt;&#039;&#039; The data provided when creating the transaction&lt;br /&gt;
&lt;br /&gt;
===== Signature =====&lt;br /&gt;
&lt;br /&gt;
IPNs are now signed with the user secret like the original query to prevent fraudulents IPNs&lt;br /&gt;
Two headers are added to the request:&lt;br /&gt;
* &#039;&#039;&#039;HTTP_REST_KEY&#039;&#039;&#039;: &#039;&#039;&amp;lt;uuid&amp;gt;&#039;&#039; The ReST key used for the query&lt;br /&gt;
* &#039;&#039;&#039;HTTP_REST_SIGN&#039;&#039;&#039;: &#039;&#039;&amp;lt;string&amp;gt;&#039;&#039; The IPN signature&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HTTP_REST_SIGN&#039;&#039;&#039; is a base64 encoded sha512 HMAC of the post data using your ReST secret as a key.&lt;br /&gt;
&lt;br /&gt;
See below for examples:&lt;br /&gt;
&lt;br /&gt;
==== PHP ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
function mtgox_is_valid_ipn() {&lt;br /&gt;
    $secret = &#039;&#039;;&lt;br /&gt;
    $raw_post_data = file_get_contents(&amp;quot;php://input&amp;quot;);&lt;br /&gt;
    $good_sign = hash_hmac(&#039;sha512&#039;, $raw_post_data, base64_decode($secret), true);&lt;br /&gt;
    $sign = base64_decode($_SERVER[&#039;HTTP_REST_SIGN&#039;]);&lt;br /&gt;
    return ($sign == $good_sign);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== bitcoin_dealer (trading script) ===&lt;br /&gt;
&lt;br /&gt;
python (django) : https://github.com/rokj/bitcoin_dealer&lt;/div&gt;</summary>
		<author><name>Nonserviam</name></author>
	</entry>
</feed>