<?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=Crobin</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=Crobin"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/Crobin"/>
	<updated>2026-05-12T10:24:30Z</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=27498</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=27498"/>
		<updated>2012-06-06T08:46:59Z</updated>

		<summary type="html">&lt;p&gt;Crobin: /* Merchant System */&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/ticker&lt;br /&gt;
 https://mtgox.com/api/1/BTCEUR/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_all&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_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;
&#039;&#039;&#039;note about prices:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* last_local include only the last trade in the selected currency&lt;br /&gt;
* last_all   is the last trade in ANY currency, converted to your currency&lt;br /&gt;
* last_orig  include data of the original last trade ( currency,price in currency . . . ),&lt;br /&gt;
* last is always the same as last_all&lt;br /&gt;
&lt;br /&gt;
=== Multi Currency depth ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCPLN/depth?raw&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCAUD/depth?raw&lt;br /&gt;
&lt;br /&gt;
=== Multi currency trades ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCUSD/trades?raw&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCPLN/trades?raw&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCAUD/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/trades?since=0&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCEUR/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/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/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;
=== redeem a private key ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/bitcoin/addpriv&lt;br /&gt;
&lt;br /&gt;
 allows you to add a private key to your account&lt;br /&gt;
&lt;br /&gt;
* parameters : &lt;br /&gt;
&amp;quot;key&amp;quot;:code&lt;br /&gt;
&amp;quot;keytype&amp;quot;:&amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;quot;description&amp;quot;:description&lt;br /&gt;
&lt;br /&gt;
* returns the btc adress and the total number of btcs in this private key&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;
=== Order result ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/order/result&lt;br /&gt;
&lt;br /&gt;
parameters : type ( bid or ask ) and order (the order id)&lt;br /&gt;
&lt;br /&gt;
returns a json array like this : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
order_id: &#039;1234234-e9ef-4b75-aa1c-90cd109d24ea&#039;,&lt;br /&gt;
  trades:&lt;br /&gt;
   [ { trade_id: &#039;1336611143363429&#039;,&lt;br /&gt;
       primary: &#039;N&#039;,&lt;br /&gt;
       currency: &#039;USD&#039;,&lt;br /&gt;
       type: &#039;ask&#039;,&lt;br /&gt;
       properties: &#039;market,mixed_currency&#039;,&lt;br /&gt;
       item: &#039;BTC&#039;,&lt;br /&gt;
       amount: [Object],&lt;br /&gt;
       price: [Object],&lt;br /&gt;
       date: &#039;2012-05-10 00:52:23&#039; } ],&lt;br /&gt;
  total_amount:&lt;br /&gt;
   { value: &#039;0.01000000&#039;,&lt;br /&gt;
     value_int: &#039;1000000&#039;,&lt;br /&gt;
     display: &#039;0.01000000 BTC&#039;,&lt;br /&gt;
     display_short: &#039;0.01 BTC&#039;,&lt;br /&gt;
     currency: &#039;BTC&#039; } }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Your wallet history ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/wallet/history&lt;br /&gt;
&lt;br /&gt;
parameters : currency, type, date_start, date_end, trade_id, page&lt;br /&gt;
&lt;br /&gt;
only the currency parameter is mandatory&lt;br /&gt;
&lt;br /&gt;
returns a json array with your wallet history&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/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/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/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;
* &#039;&#039;&#039;email&#039;&#039;&#039;: &#039;&#039;int&#039;&#039; Set to 1 to receive an email for each successful payment&lt;br /&gt;
* &#039;&#039;&#039;autosell&#039;&#039;&#039;: &#039;&#039;int&#039;&#039; Set to 1 to automatically sell received bitcoins at market price&lt;br /&gt;
* &#039;&#039;&#039;multipay&#039;&#039;&#039;: &#039;&#039;int&#039;&#039; Set to 1 to allow multiple payments on the same transaction ID&lt;br /&gt;
* &#039;&#039;&#039;instant_only&#039;&#039;&#039;: &#039;&#039;int&#039;&#039; Set to 1 to only allow MtGox users to pay on this transaction&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;
==== Dynamic Button ====&lt;br /&gt;
&lt;br /&gt;
While you can create buttons through the MtGox website, those are generated with the normal API. To display a button with your API transaction, first add the following markup to your page:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mtgox&amp;quot; data-id=&amp;quot;&amp;lt;txid&amp;gt;&amp;quot; data-amount=&amp;quot;&amp;lt;amount&amp;gt;&amp;quot; data-currency=&amp;quot;&amp;lt;currency&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a href=&amp;quot;https://payment.mtgox.com/&amp;lt;txid&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;https://payment.mtgox.com/img/mtgox-checkout.png&amp;quot; border=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- You only need the following tag once on the page, after all the buttons (for example on the last line before closing the &amp;lt;body&amp;gt; tag) --&amp;gt;&lt;br /&gt;
&amp;lt;![if !IE]&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;https://payment.mtgox.com/js/button.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;![endif]&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to change &#039;&#039;&#039;&amp;lt;txid&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;amount&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;currency&amp;gt;&#039;&#039;&#039; to whatever value apply to that transaction.&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;br /&gt;
&lt;br /&gt;
=== magento mtgox ===&lt;br /&gt;
&lt;br /&gt;
magento ( php ) module  : https://github.com/MtGox/magento&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[MtGox/API/Streaming]]&lt;/div&gt;</summary>
		<author><name>Crobin</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=MtGox/API/HTTP/v1&amp;diff=27497</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=27497"/>
		<updated>2012-06-06T08:37:11Z</updated>

		<summary type="html">&lt;p&gt;Crobin: &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/ticker&lt;br /&gt;
 https://mtgox.com/api/1/BTCEUR/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_all&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_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;
&#039;&#039;&#039;note about prices:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* last_local include only the last trade in the selected currency&lt;br /&gt;
* last_all   is the last trade in ANY currency, converted to your currency&lt;br /&gt;
* last_orig  include data of the original last trade ( currency,price in currency . . . ),&lt;br /&gt;
* last is always the same as last_all&lt;br /&gt;
&lt;br /&gt;
=== Multi Currency depth ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCPLN/depth?raw&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCAUD/depth?raw&lt;br /&gt;
&lt;br /&gt;
=== Multi currency trades ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCUSD/trades?raw&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCPLN/trades?raw&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCAUD/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/trades?since=0&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/BTCEUR/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/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/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;
=== redeem a private key ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/bitcoin/addpriv&lt;br /&gt;
&lt;br /&gt;
 allows you to add a private key to your account&lt;br /&gt;
&lt;br /&gt;
* parameters : &lt;br /&gt;
&amp;quot;key&amp;quot;:code&lt;br /&gt;
&amp;quot;keytype&amp;quot;:&amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;quot;description&amp;quot;:description&lt;br /&gt;
&lt;br /&gt;
* returns the btc adress and the total number of btcs in this private key&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;
=== Order result ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/order/result&lt;br /&gt;
&lt;br /&gt;
parameters : type ( bid or ask ) and order (the order id)&lt;br /&gt;
&lt;br /&gt;
returns a json array like this : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
order_id: &#039;1234234-e9ef-4b75-aa1c-90cd109d24ea&#039;,&lt;br /&gt;
  trades:&lt;br /&gt;
   [ { trade_id: &#039;1336611143363429&#039;,&lt;br /&gt;
       primary: &#039;N&#039;,&lt;br /&gt;
       currency: &#039;USD&#039;,&lt;br /&gt;
       type: &#039;ask&#039;,&lt;br /&gt;
       properties: &#039;market,mixed_currency&#039;,&lt;br /&gt;
       item: &#039;BTC&#039;,&lt;br /&gt;
       amount: [Object],&lt;br /&gt;
       price: [Object],&lt;br /&gt;
       date: &#039;2012-05-10 00:52:23&#039; } ],&lt;br /&gt;
  total_amount:&lt;br /&gt;
   { value: &#039;0.01000000&#039;,&lt;br /&gt;
     value_int: &#039;1000000&#039;,&lt;br /&gt;
     display: &#039;0.01000000 BTC&#039;,&lt;br /&gt;
     display_short: &#039;0.01 BTC&#039;,&lt;br /&gt;
     currency: &#039;BTC&#039; } }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Your wallet history ===&lt;br /&gt;
&lt;br /&gt;
https://mtgox.com/api/1/generic/private/wallet/history&lt;br /&gt;
&lt;br /&gt;
parameters : currency, type, date_start, date_end, trade_id, page&lt;br /&gt;
&lt;br /&gt;
only the currency parameter is mandatory&lt;br /&gt;
&lt;br /&gt;
returns a json array with your wallet history&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/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/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/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;
* &#039;&#039;&#039;email&#039;&#039;&#039;: &#039;&#039;int&#039;&#039; Set to 1 to receive an email for each successful payment&lt;br /&gt;
* &#039;&#039;&#039;autosell&#039;&#039;&#039;: &#039;&#039;int&#039;&#039; Set to 1 to automatically sell received bitcoins at market price&lt;br /&gt;
* &#039;&#039;&#039;multipay&#039;&#039;&#039;: &#039;&#039;int&#039;&#039; Set to 1 to allow multiple payments on the same transaction ID&lt;br /&gt;
* &#039;&#039;&#039;instant_only&#039;&#039;&#039;: &#039;&#039;int&#039;&#039; Set to 1 to only allow MtGox users to pay on this transaction&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;br /&gt;
&lt;br /&gt;
=== magento mtgox ===&lt;br /&gt;
&lt;br /&gt;
magento ( php ) module  : https://github.com/MtGox/magento&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[MtGox/API/Streaming]]&lt;/div&gt;</summary>
		<author><name>Crobin</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=MtGox/API/HTTP/v1&amp;diff=24550</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=24550"/>
		<updated>2012-03-09T03:24:21Z</updated>

		<summary type="html">&lt;p&gt;Crobin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
example of returned data : &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;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;
=== 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;
=== 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>Crobin</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Main_Page&amp;diff=24487</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Main_Page&amp;diff=24487"/>
		<updated>2012-03-06T12:29:15Z</updated>

		<summary type="html">&lt;p&gt;Crobin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| id=&amp;quot;mp-topbanner&amp;quot; style=&amp;quot;width:100%; background:#f6f6f6; margin-top:1.2em; border:1px solid #ddd;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:61%; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        &amp;quot;WELCOME TO BITCOIN&amp;quot; AND ARTICLE COUNT        --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; border:none; background:none;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; white-space:nowrap; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%; border:none; margin:0; padding:.1em; color:#000;&amp;quot;&amp;gt;Welcome to the [[Bitcoin]] wiki,&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;For all your bitcoin information needs.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;articlecount&amp;quot; style=&amp;quot;width:100%; text-align:center; font-size:85%;&amp;quot;&amp;gt;[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles.&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Improve [[:Category:Stubs|this wiki]] and [[Bitcoin:Contributors Award|earn bitcoins]].&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--        PORTAL LIST ON RIGHT-HAND SIDE        --&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:13%; font-size:120%;&amp;quot; |&lt;br /&gt;
* &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://bitcoin.org Frontpage]&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:13%; font-size:120%;&amp;quot; |&lt;br /&gt;
* &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[Forums]]&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:13%; font-size:120%; padding-right: 40px;&amp;quot; |&lt;br /&gt;
* &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[[IRC channels|Chatrooms]]&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--        TODAY&#039;S FEATURED ARTICLE; DID YOU KNOW        --&amp;gt;&lt;br /&gt;
{| id=&amp;quot;mp-upper&amp;quot; style=&amp;quot;width: 100%; margin:6px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:55%; border:1px solid #cef2e0; background:#f6e5f1; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| id=&amp;quot;mp-left&amp;quot; style=&amp;quot;vertical-align:top; background:#f6e5f1;&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding:2px;&amp;quot; | &amp;lt;h2 id=&amp;quot;mp-tfa-h2&amp;quot; style=&amp;quot;margin:3px; background:#e9caef; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Bitcoin&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color:#000;&amp;quot; | &amp;lt;div id=&amp;quot;mp-tfa&amp;quot; style=&amp;quot;padding:2px 5px&amp;quot;&amp;gt;{{MainPage_Intro}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;padding:2px&amp;quot; | &amp;lt;h2 id=&amp;quot;mp-dyk-h2&amp;quot; style=&amp;quot;margin:3px; background:#e9caef; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Why&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color:#000;padding:2px 5px 5px&amp;quot; | &amp;lt;div id=&amp;quot;mp-dyk&amp;quot;&amp;gt;{{MainPage_Reasons}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;border:1px solid transparent;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        IN THE NEWS; ON THIS DAY        --&amp;gt;&lt;br /&gt;
| class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:45%; border:1px solid #cedff2; background:#f6e5f1; vertical-align:top;&amp;quot;|&lt;br /&gt;
{| id=&amp;quot;mp-right&amp;quot; style=&amp;quot;width:100%; vertical-align:top; background:#f6e5f1;&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding:2px&amp;quot; | &amp;lt;h2 id=&amp;quot;mp-otd-h2&amp;quot; style=&amp;quot;margin:3px; background:#efc1e2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Topic central&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color:#000;padding:2px 5px 5px&amp;quot; | &amp;lt;div id=&amp;quot;mp-otd&amp;quot;&amp;gt;{{MainPage_Topics}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;padding:2px&amp;quot; | &amp;lt;h2 id=&amp;quot;mp-otd-h2&amp;quot; style=&amp;quot;margin:3px; background:#efc1e2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;FAQ&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color:#000;padding:2px 5px 5px&amp;quot; | &amp;lt;div id=&amp;quot;mp-otd&amp;quot;&amp;gt;{{MainPage_FAQ}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other pages ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[mw:Help:Formatting|Help]]&#039;&#039;&#039; - Documentation on wiki editing.&lt;br /&gt;
* &#039;&#039;&#039;[[Bitcoin.it Wiki|About]]&#039;&#039;&#039; - Information on this site.&lt;br /&gt;
[[de:Hauptseite]]&lt;br /&gt;
[[es:Página Principal]]&lt;br /&gt;
[[fr:Accueil]]&lt;br /&gt;
[[it:Pagina principale]]&lt;br /&gt;
[[pl:Strona główna]]&lt;br /&gt;
[[ru:Заглавная страница]]&lt;br /&gt;
[[zh-cn:首页]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC____NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Crobin</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=MtGox/API/HTTP&amp;diff=24484</id>
		<title>MtGox/API/HTTP</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=MtGox/API/HTTP&amp;diff=24484"/>
		<updated>2012-03-06T09:58:28Z</updated>

		<summary type="html">&lt;p&gt;Crobin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Two versions of the HTTP API are currently available, see the following pages for details on the methods available for each:&lt;br /&gt;
&lt;br /&gt;
* [[MtGox/API/HTTP/v0|Version 0]]&lt;br /&gt;
* [[MtGox/API/HTTP/v1|Version 1]]&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
All HTTP API requests are sent to URLs beginning with &amp;lt;nowiki&amp;gt;https://mtgox.com/api/*&amp;lt;/nowiki&amp;gt;. It allows placing orders, performing withdrawls, deposits, and other things. All responses are in [http://json.org/ JSON] format.&lt;br /&gt;
&lt;br /&gt;
There is a [https://rubygems.org/gems/mtgox Ruby gem] and a [[Finance::MtGox|Perl module]] available for interacting with the HTTP API.&lt;br /&gt;
&lt;br /&gt;
== Cache ==&lt;br /&gt;
&lt;br /&gt;
All API methods are cached for 10 seconds. Do not request results more often than that, you might be blocked by the anti-DDoS filters.&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
&lt;br /&gt;
Authentication is performed by signing each request using HMAC-SHA512. The request must contain an extra value &amp;quot;nonce&amp;quot; which must be an always incrementing numeric value.  A reference implementation is provided here:&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_query($path, array $req = array()) {&lt;br /&gt;
	// API settings&lt;br /&gt;
	$key = &#039;&#039;;&lt;br /&gt;
	$secret = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
	// generate a nonce as microtime, with as-string handling to avoid problems with 32bits systems&lt;br /&gt;
	$mt = explode(&#039; &#039;, microtime());&lt;br /&gt;
	$req[&#039;nonce&#039;] = $mt[1].substr($mt[0], 2, 6);&lt;br /&gt;
&lt;br /&gt;
	// generate the POST data string&lt;br /&gt;
	$post_data = http_build_query($req, &#039;&#039;, &#039;&amp;amp;&#039;);&lt;br /&gt;
&lt;br /&gt;
	// generate the extra headers&lt;br /&gt;
	$headers = array(&lt;br /&gt;
		&#039;Rest-Key: &#039;.$key,&lt;br /&gt;
		&#039;Rest-Sign: &#039;.base64_encode(hash_hmac(&#039;sha512&#039;, $post_data, base64_decode($secret), true)),&lt;br /&gt;
	);&lt;br /&gt;
&lt;br /&gt;
	// our curl handle (initialize if required)&lt;br /&gt;
	static $ch = null;&lt;br /&gt;
	if (is_null($ch)) {&lt;br /&gt;
		$ch = curl_init();&lt;br /&gt;
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
		curl_setopt($ch, CURLOPT_USERAGENT, &#039;Mozilla/4.0 (compatible; MtGox PHP client; &#039;.php_uname(&#039;s&#039;).&#039;; PHP/&#039;.phpversion().&#039;)&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	curl_setopt($ch, CURLOPT_URL, &#039;https://mtgox.com/api/&#039;.$path);&lt;br /&gt;
	curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);&lt;br /&gt;
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);&lt;br /&gt;
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);&lt;br /&gt;
&lt;br /&gt;
	// run the query&lt;br /&gt;
	$res = curl_exec($ch);&lt;br /&gt;
	if ($res === false) throw new Exception(&#039;Could not get reply: &#039;.curl_error($ch));&lt;br /&gt;
	$dec = json_decode($res, true);&lt;br /&gt;
	if (!$dec) throw new Exception(&#039;Invalid data received, please make sure connection is working and requested API exists&#039;);&lt;br /&gt;
	return $dec;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// example 1: get infos about the account, plus the list of rights we have access to&lt;br /&gt;
var_dump(mtgox_query(&#039;0/info.php&#039;));&lt;br /&gt;
&lt;br /&gt;
// old api (get funds)&lt;br /&gt;
var_dump(mtgox_query(&#039;0/getFunds.php&#039;));&lt;br /&gt;
&lt;br /&gt;
// trade example&lt;br /&gt;
// var_dump(mtgox_query(&#039;0/buyBTC.php&#039;, array(&#039;amount&#039; =&amp;gt; 1, &#039;price&#039; =&amp;gt; 15)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
Python version here: https://bitcointalk.org/index.php?topic=49789.msg592388#msg592388&lt;br /&gt;
&lt;br /&gt;
=== Node.js ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var querystring = require(&#039;querystring&#039;),&lt;br /&gt;
        https = require(&#039;https&#039;),&lt;br /&gt;
        crypto = require(&#039;crypto&#039;);&lt;br /&gt;
&lt;br /&gt;
function MtGoxClient(key, secret) {&lt;br /&gt;
        this.key = key;&lt;br /&gt;
        this.secret = secret;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
MtGoxClient.prototype.query = function(path, args, callback) {&lt;br /&gt;
        var client = this;&lt;br /&gt;
&lt;br /&gt;
        // if no args or invalid args provided, just reset the arg object&lt;br /&gt;
        if (typeof args != &amp;quot;object&amp;quot;) args = {};&lt;br /&gt;
&lt;br /&gt;
        // generate a nonce&lt;br /&gt;
        args[&#039;nonce&#039;] = (new Date()).getTime() * 1000;&lt;br /&gt;
        // compute the post data&lt;br /&gt;
        var post = querystring.stringify(args);&lt;br /&gt;
        // compute the sha512 signature of the post data&lt;br /&gt;
        var hmac = crypto.createHmac(&#039;sha512&#039;, new Buffer(client.secret, &#039;base64&#039;));&lt;br /&gt;
        hmac.update(post);&lt;br /&gt;
&lt;br /&gt;
        // this is our query&lt;br /&gt;
        var options = {&lt;br /&gt;
                host: &#039;mtgox.com&#039;,&lt;br /&gt;
                port: 443,&lt;br /&gt;
                path: &#039;/api/&#039; + path,&lt;br /&gt;
                method: &#039;POST&#039;,&lt;br /&gt;
                agent: false,&lt;br /&gt;
                headers: {&lt;br /&gt;
                        &#039;Rest-Key&#039;: client.key,&lt;br /&gt;
                        &#039;Rest-Sign&#039;: hmac.digest(&#039;base64&#039;),&lt;br /&gt;
                        &#039;User-Agent&#039;: &#039;Mozilla/4.0 (compatible; MtGox node.js client)&#039;,&lt;br /&gt;
                        &#039;Content-type&#039;: &#039;application/x-www-form-urlencoded&#039;&lt;br /&gt;
                }&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        // run the query, buffer the data and call the callback&lt;br /&gt;
        var req = https.request(options, function(res) {&lt;br /&gt;
                res.setEncoding(&#039;utf8&#039;);&lt;br /&gt;
                var buffer = &#039;&#039;;&lt;br /&gt;
                res.on(&#039;data&#039;, function(data) { buffer += data; });&lt;br /&gt;
                res.on(&#039;end&#039;, function() { if (typeof callback == &amp;quot;function&amp;quot;) { callback(JSON.parse(buffer)); } });&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // basic error management&lt;br /&gt;
        req.on(&#039;error&#039;, function(e) {&lt;br /&gt;
                console.log(&#039;warning: problem with request: &#039; + e.message);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // post the data&lt;br /&gt;
        req.write(post);&lt;br /&gt;
        req.end();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var client = new MtGoxClient(&#039;mykey&#039;, &#039;mysecret&#039;);&lt;br /&gt;
client.query(&#039;1/BTCUSD/public/ticker&#039;, {}, function(json) {&lt;br /&gt;
        // do something&lt;br /&gt;
        console.log(json);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Crobin</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=MtGox/API/HTTP/v1&amp;diff=24483</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=24483"/>
		<updated>2012-03-06T09:41:05Z</updated>

		<summary type="html">&lt;p&gt;Crobin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
example of returned data : &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;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;
=== 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;
=== 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;
=== 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.&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;
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;cancelled&#039;&#039;&#039; or &#039;&#039;&#039;closed&#039;&#039;&#039; (3rd one shouldn&#039;t happen)&lt;br /&gt;
&lt;br /&gt;
If the transaction was successfully paid:&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;
== 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>Crobin</name></author>
	</entry>
</feed>