<?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=Piuk</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=Piuk"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/Piuk"/>
	<updated>2026-04-08T09:56:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Shared_coin&amp;diff=42591</id>
		<title>Shared coin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Shared_coin&amp;diff=42591"/>
		<updated>2013-11-24T21:31:31Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shared Coin is a free trust-less mixing service available on blockchain.info. Shared Coin is the first practical easy to use implementation of [https://bitcointalk.org/index.php?topic=279249.0 coinjoin].&lt;br /&gt;
&lt;br /&gt;
Transactions incur a 0.0005 BTC network feee.&lt;br /&gt;
&lt;br /&gt;
[[File:SharedCoin_screenshot.png]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [https://sharedcoin.com Shared Coin]&lt;br /&gt;
* [https://blockchain.info Blockchain.info]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mixing_Services]]&lt;br /&gt;
[[Category:Wallets]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=File:SharedCoin_screenshot.png&amp;diff=42590</id>
		<title>File:SharedCoin screenshot.png</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=File:SharedCoin_screenshot.png&amp;diff=42590"/>
		<updated>2013-11-24T21:30:39Z</updated>

		<summary type="html">&lt;p&gt;Piuk: Shared Coin interface screenshot.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Shared Coin interface screenshot.&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD-ineligible}}&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Shared_coin&amp;diff=42589</id>
		<title>Shared coin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Shared_coin&amp;diff=42589"/>
		<updated>2013-11-24T21:26:54Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shared Coin is a free trust-less mixing service available on blockchain.info. Shared Coin is the first practical easy to use implementation of [https://bitcointalk.org/index.php?topic=279249.0 coinjoin].&lt;br /&gt;
&lt;br /&gt;
Transactions incur a 0.0005 BTC network feee.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [https://sharedcoin.com Shared Coin]&lt;br /&gt;
* [https://blockchain.info Blockchain.info]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mixing_Services]]&lt;br /&gt;
[[Category:Wallets]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Shared_coin&amp;diff=42588</id>
		<title>Shared coin</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Shared_coin&amp;diff=42588"/>
		<updated>2013-11-24T21:24:46Z</updated>

		<summary type="html">&lt;p&gt;Piuk: Created page with &amp;quot;Shared Coin is a free trust-less mixing service available on blockchain.info. Shared Coin is the first practical easy to use implementation of [https://bitcointalk.org/index.p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shared Coin is a free trust-less mixing service available on blockchain.info. Shared Coin is the first practical easy to use implementation of [https://bitcointalk.org/index.php?topic=279249.0 coinjoin].&lt;br /&gt;
&lt;br /&gt;
Transactions incur a 0.0005 BTC network feee.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [https://sharedcoin.com Shared Coin]&lt;br /&gt;
* [https://blockchain.info Blockchain.info]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=How_to_accept_Bitcoin,_for_small_businesses&amp;diff=40140</id>
		<title>How to accept Bitcoin, for small businesses</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=How_to_accept_Bitcoin,_for_small_businesses&amp;diff=40140"/>
		<updated>2013-08-13T18:38:22Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Merchant Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{merge|Merchant Howto}}&lt;br /&gt;
&lt;br /&gt;
This guide is intended for small business owners who wish to help promote Bitcoin by accepting it as payment for goods and services.  It&#039;s written with the assumption that you operate a regular business that sells goods or services for regular national currency such as dollars, and that you wish to accept Bitcoin as another legal way to pay, and that you intend to pay taxes on your Bitcoin income just like any other income.&lt;br /&gt;
&lt;br /&gt;
With Bitcoin being touted as a way to conduct anonymous transactions and as way to compete with government currency, many small business owners wonder what&#039;s the right way to accept and account Bitcoin, or if it&#039;s legal or ethical, or whether and how they should pay taxes on income received through Bitcoin.&lt;br /&gt;
&lt;br /&gt;
As far as we know, Bitcoin isn&#039;t yet formally recognized by governments and authorities as a &amp;quot;currency&amp;quot;.  But in practice, Bitcoin is likely no different than accepting payment in other forms, such as cash, or gold, or scrip, or gift cards or foreign currency.  We think that it is pretty much the same as the local businesses of Great Barrington, Massachusetts choosing to accept their locally-printed [http://www.reuters.com/article/2007/06/19/us-usa-economy-berkshares-idUSN0530157720070619 &amp;quot;Berkshire Bucks&amp;quot;] to support their local economy.&lt;br /&gt;
&lt;br /&gt;
==Starting to accept Bitcoin for transactions==&lt;br /&gt;
Accepting Bitcoin at a small business is best started in whichever manner keeps the accounting simple for you.  This will vary by the type of business you are operating.&lt;br /&gt;
&lt;br /&gt;
===Start with a sign===&lt;br /&gt;
[[{{ns:file}}:WeAcceptBitcoin.png‎]]&lt;br /&gt;
&lt;br /&gt;
If you expect that the number of people interested in using Bitcoin is small, you might simply start by posting a sign or a note: &amp;quot;We Accept Bitcoin&amp;quot;, and ask people to contact you directly in order to make a payment.  Even if hardly anybody uses Bitcoin as a payment method, you&#039;re helping Bitcoin in two ways: one, by increasing awareness, and two, by making your customers more willing to accept Bitcoin as payment from others in the future, because now they know somewhere they can spend it.&lt;br /&gt;
&lt;br /&gt;
===Utilize a merchant solution===&lt;br /&gt;
If you sell things on your website (goods or services), you&#039;ll want to use a [[#Merchant Services|Bitcoin merchant solution]]  to accept the Bitcoins (you can usually opt to have them converted to USD or other currencies automatically). If you sell things in a brick and mortar shop, customers can pay using their mobile phone app (for example [https://coinbase.com/docs/merchant_tools/point_of_sale Coinbase], [http://www.paytunia.com Paytunia], [http://www.blockchain.info/wallet Blockchain.info] or [[File:BIPS.gif|20px|link=https://bips.me]] [https://bips.me BIPS]), so it&#039;s best if you can place a QR code near your register to which the customers can scan with their phone and pay (use http://ma.eatgold.com/accept to make a QR code sign).&lt;br /&gt;
&lt;br /&gt;
===Accounting===&lt;br /&gt;
When a customer makes a payment, you might simply issue a credit to their account.  Ideally, you want to enter it in a way that suggests you received a payment.  You could consider entering it as a &amp;quot;discount&amp;quot;, but you may want to consider whether this inappropriately disguises the nature of the transaction.  If on the other hand, you&#039;re giving &amp;quot;discounts&amp;quot; for Bitcoins, but then you are selling the Bitcoins for currency and then counting that as income, then chances are good that your calculation of income is making up for it.  Ask your accountant.&lt;br /&gt;
&lt;br /&gt;
===Businesses that offer gift cards===&lt;br /&gt;
If your business sells gift cards or gift certificates, you may find that the easiest way to accept Bitcoin is to accept it only for the purchase of gift cards, and then require the gift cards to be used for actual purchases of goods or services.  This way, the accounting practices you already have in place for processing gift cards can be put to use.  The accounting for Bitcoins would then be minimized to tracking sales of a single SKU.&lt;br /&gt;
&lt;br /&gt;
This method is also ideal for retail food establishments and convenience stores, where the payment of Bitcoins through a mobile phone for a small daily food purchase might be cumbersome or disruptive, especially in front of a line of other customers.  Bitcoins in this case would be best used to reload prepaid cards that can then be swiped at point-of-sale.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t accept gift cards, but you already accept credit cards through a swipe terminal, consider the possibility that you could add a retail gift card system through the swipe terminal you already own.  Many point-of-sale terminals, including ones from VeriFone&amp;amp;reg;, are designed around the ability to support multiple applications on the same terminal.  Gift cards are also highly profitable because of &amp;quot;breakage&amp;quot;, or in other words, the fact that a significant percentage of them never get redeemed.&lt;br /&gt;
&lt;br /&gt;
You could consider adding a private label gift card program from a provider who specializes in this, not just as a jumpstart to accepting Bitcoins, but as an extra boost to income.  A private label gift card service provider necessarily have to handle your funds - they can simply provide a solution that keeps track of the balance on the cards on your behalf, including features that allow users to check their balances by phone or by web.  Such a solution, of course, is also what makes the cards swipeable through the card reader.&lt;br /&gt;
&lt;br /&gt;
===Businesses that mail invoices===&lt;br /&gt;
Does your business send out invoices to customers?  Adding one line may make a huge impact for the Bitcoin economy.  Perhaps you list it as a payment option just after Visa, MasterCard, and American Express, even if that means your customer must call or e-mail to make a payment.&lt;br /&gt;
&lt;br /&gt;
If you have access to the programming expertise such that you can generate Bitcoin addresses programmatically, consider generating a brand new Bitcoin address for each invoice, and print it on the invoice.  When a Bitcoin payment arrives, you&#039;ll automatically know where it should arrive.&lt;br /&gt;
&lt;br /&gt;
Customers might wonder how much BTC they should pay in order to satisfy an invoice in full.    Your invoice might suggest an amount.  For example, if your invoice is for $100 and BTC&#039;s are currently worth $1.24 each, your invoice might suggest that it can be paid in full &#039;&#039;&amp;quot;with a payment of 80.65 BTC if paid by (date)&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You might be able to anticipate the possibility that even though a Bitcoin address can be printed on an invoice or payment stub, that they are very cumbersome for most people to type, especially being a mix of uppercase and lowercase letters.  However, you should probably still do it anyway.  The customer is probably going to want some paper trail for his payment.  Giving him a pre-printed payment stub with a pre-printed address will satisfy that, because the customer can independently and publicly prove through [[Block Explorer]] that the payment took place.&lt;br /&gt;
&lt;br /&gt;
Does your business have a website?  On your invoice, consider allowing them to go to a special URL to get the address to make a Bitcoin payment just by typing in their invoice number.  For example, &#039;&#039;ht&amp;lt;nowiki&amp;gt;tps://ww&amp;lt;/nowiki&amp;gt;w.yoursite.com/paybtc&#039;&#039; with a form they can enter their invoice number, or just &#039;&#039;ht&amp;lt;nowiki&amp;gt;tps://ww&amp;lt;/nowiki&amp;gt;w.yoursite.com/paybtc/60365&#039;&#039; for paying invoice #60365.  This way, they can see the Bitcoin address, copy and paste it directly into their Bitcoin client.&lt;br /&gt;
&lt;br /&gt;
Use a brand new address for each invoice whenever possible, and use it only once.  This benefits the customer as it removes any ambiguity as to which customer is making which payment and for which invoice.&lt;br /&gt;
&lt;br /&gt;
Known payment systems supporting invoicing, and recurring invoice setup, [[File:BIPS.gif|20px|link=https://bips.me/checkout/invoice/cb/bb]] [https://bips.me/checkout/invoice/cb/bb BIPS]&lt;br /&gt;
&lt;br /&gt;
===Avoiding fraud===&lt;br /&gt;
&lt;br /&gt;
You should also consider the possible risk that fraudsters could send counterfeit invoices to your customers, and entice them to make a payment to a Bitcoin address they control, instead of you.  While that isn&#039;t likely in general - it depends on how well a fraudster could find out who your customers are in the first place - it would certainly be an unpleasant situation if it ever happened.  One way you could control that is, whenever possible, never let people try to type Bitcoin addresses off payment stubs - instead, force people to get the full Bitcoin address from your website via secure SSL.  But, still print &#039;&#039;most&#039;&#039; of the address on the payment stub (perhaps with four or five characters starred out), so that the customer&#039;s need for a paper trail can be satisfied, so they can prove they paid if there is ever a dispute.&lt;br /&gt;
&lt;br /&gt;
==Setting Prices==&lt;br /&gt;
&lt;br /&gt;
When a business accepts bitcoins for payment, there generally is the need to convert them to the currencies used for paying suppliers, employees and shareholders. Some merchants set prices based on the current market rate at the time the price quote is presented to the customer (merchant services like [[File:BIPS.gif|20px|link=https://bips.me]] [https://bips.me BIPS], [http://www.bit-pay.com Bit-pay], [https://coinbase.com Coinbase] or [http://paysius.com Paysius] do this automatically).  &lt;br /&gt;
&lt;br /&gt;
[[Bitcoin Prices]] lists the exchange rate for many currencies on multiple exchanges.&lt;br /&gt;
&lt;br /&gt;
When prices are determined using an automated process, the current market rate can be based on either a current price or on a weighted average basis.  [[Bitcoin Charts]] provides a [http://bitcoincharts.com/about/markets-api data feed that provides weighted prices].&lt;br /&gt;
&lt;br /&gt;
When bitcoin funds for purchases are received, some merchants instantly exchange those proceeds into the preferred currency used (again done automatically by [[File:BIPS.gif|20px|link=https://bips.me]] [https://bips.me BIPS], [http://www.bit-pay.com Bit-pay] or [https://coinbase.com Coinbase].  Hedging for each transaction can nearly entirely eliminate exchange rate risk that the business is exposed to when accepting bitcoins for payment.&lt;br /&gt;
&lt;br /&gt;
==Contract==&lt;br /&gt;
&lt;br /&gt;
A sales contract might be used to ensure that specific terms are met to lessen the chances of a misunderstanding.  For instance, the party sending payment is responsible for paying any [[transaction fee]] that might be necessary.  A contract might specify that a transaction fee must be paid and what amount, so as to prevent the situation where the transaction is considered a low priority transaction and thus isn&#039;t confirmed quickly.&lt;br /&gt;
&lt;br /&gt;
Other items that might be addressed in a contract:&lt;br /&gt;
&lt;br /&gt;
* Requirement and handling of escrow through an [[:Category:Escrow_services|escrow service]].&lt;br /&gt;
* Jurisdiction for disputes.&lt;br /&gt;
* Refund policy (particularly with the exchange rate being volatile)&lt;br /&gt;
&lt;br /&gt;
==Paying taxes on Bitcoin income==&lt;br /&gt;
[[Tax compliance]] is a topic of concern for small businesses.  We aren&#039;t accountants or lawyers, and can&#039;t give legal or accounting advice.&lt;br /&gt;
&lt;br /&gt;
But in many respects, Bitcoin transactions work very much like cash.  Just like Bitcoin, cash is anonymous and doesn&#039;t leave a paper trail, yet is widely used in commerce every day.&lt;br /&gt;
&lt;br /&gt;
Ask yourself how you would handle a cash transaction.  Do you accept cash transactions?  Do you normally pay taxes on cash transactions?  The answer for Bitcoin should probably be the same.&lt;br /&gt;
&lt;br /&gt;
As for how to decide what a Bitcoin transaction is worth... the IRS, as far as we know, has never issued a guide mentioning how to value Bitcoin transactions.  But they probably have rules and guidelines on how to value transactions made in foreign currency or &amp;quot;cash equivalents&amp;quot;.  We imagine the accounting would be similar.&lt;br /&gt;
&lt;br /&gt;
With Bitcoins, there&#039;s likely to be some difference between the value of BTC when you received them as payment, versus when you go to exchange them for another currency like USD, should you decide to do so.  This scenario, likewise, would be no different if you accepted foreign currency or gold as payment.  Under some scenarios, it might make sense to book the dollar value of BTC income as it is received, and then to book any difference incurred when it is exchanged for fiat currency.  Under others, it might make sense to book the whole thing at the time of exchange.&lt;br /&gt;
&lt;br /&gt;
Perhaps you might talk to your accountant.  You don&#039;t need to get into a discussion with your accountant about block chains and private keys or the philosophy behind a decentralized currency.  By comparing the fundamentals of Bitcoins to accounting concepts already well understood by the public, you can probably get all the answers you need.  What would you ask your accountant if you decided that you wanted to accept &#039;&#039;Berkshire Bucks&#039;&#039; or 1-ounce gold coins as payment?&lt;br /&gt;
&lt;br /&gt;
== Merchant Services ==&lt;br /&gt;
* [http://blockchain.info/api/api_receive Blockchain.info] Free APIs to process bitcoin payments. No sign up or account needed.&lt;br /&gt;
* [[File:BIPS.gif|20px|link=https://bips.me]] [https://bips.me BIPS] Bitcoin Internet Payment System processor with mobile checkout solution&lt;br /&gt;
* [https://www.bitpay.com BitPay] Bitcoin payment processor with mobile checkout solution&lt;br /&gt;
* [https://bitmerch.com BitMerch] Provides HTML buttons to start accepting bitcoins instantly. No server side setup required.&lt;br /&gt;
* [https://www.btcmerch.com BTCMerch] Bitcoin payment processor with 0.5% transaction fee. No sign up is required for buyers.&lt;br /&gt;
* [https://coinbase.com/docs/merchant_tools/payment_buttons Coinbase] Offers payment buttons, checkout pages, shopping cart integration, and daily cash out to USD.&lt;br /&gt;
* [https://mtgox.com/merchant MTGOX] Bitcoin payment processing&lt;br /&gt;
* [https://www.okpay.com/en/services/accept-payments/index.html OKPAY] Bitcoin payment processing for merchants&lt;br /&gt;
* [http://fasterco.in Fasterco.in] Bitcoin payment processing for merchants and day-traders&lt;br /&gt;
* [http://snowcron.com Snowcron] Bitcoin Store Engine: Handles payments, sends your customers information they ordered (reg. codes, passwords...) No web programming required.&lt;br /&gt;
&lt;br /&gt;
== Help this article ==&lt;br /&gt;
&lt;br /&gt;
This article is a stub, please add to it!&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Merchant Howto]]&lt;br /&gt;
* [[In-store Transactions]]&lt;br /&gt;
* [[Tax compliance]]&lt;br /&gt;
* [[Securing online services]]&lt;br /&gt;
* [[BitCoins Mobile]] provides accurate up to date pricing from multiple exchanges from your Apple iPad, iPhone, or iPod Touch.&lt;br /&gt;
* [[Bitcoin PayFlow]] automates the process for accepting bitcoins&lt;br /&gt;
* [[Lazy API]] The lazy (and possibly easiest?) way to accept bitcoin payments on your website&lt;br /&gt;
&lt;br /&gt;
[[Category:ECommerce]]&lt;br /&gt;
[[Category:Local]]&lt;br /&gt;
&lt;br /&gt;
[[de:Bitcoin_als_Geschäft_akzeptieren]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Cold_storage&amp;diff=38052</id>
		<title>Cold storage</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Cold_storage&amp;diff=38052"/>
		<updated>2013-05-26T16:05:35Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Cold storage&#039;&#039;&#039; in the context of Bitcoin refers to keeping a reserve of Bitcoins offline.&lt;br /&gt;
&lt;br /&gt;
For example, a Bitcoin exchange typically offers an instant withdrawal feature, and might be a steward over hundreds of thousands of Bitcoins.  To minimize the possibility that an intruder could steal the entire reserve in a security breach, the operator of the website follows a best practice by keeping the majority of the reserve in &#039;&#039;cold storage&#039;&#039;, or in other words, not present on the web server or any other computer.  The only amount kept on the server is the amount needed to cover anticipated withdrawals.&lt;br /&gt;
&lt;br /&gt;
Methods of cold storage include keeping bitcoins:&lt;br /&gt;
* On a USB drive or other data storage medium in a safe place (e.g. safety deposit box, safe)&lt;br /&gt;
* On a [[paper wallet]]&lt;br /&gt;
* On a bearer item such as a [[physical bitcoin]].&lt;br /&gt;
* Online, but on encrypted media where the encryption key is offline.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Deep cold storage&#039;&#039;&#039; refers to keeping a reserve of Bitcoins offline, using a method that makes retrieving coins from storage significantly more difficult than sending them there.  This could be done for safety&#039;s sake, such as to prevent theft or robbery.&lt;br /&gt;
&lt;br /&gt;
Because Bitcoins can be sent to a wallet by anyone knowing the wallet address, it is trivial to put a wallet in cold storage but to keep a copy of the addresses needed to send funds to it.&lt;br /&gt;
&lt;br /&gt;
A simple example of deep cold storage is opening a safety deposit box and putting a USB stick containing an encrypted wallet file in it.  The public (sending) addresses can be used any time to send additional bitcoins to the wallet, but spending the bitcoins would require physical access to the box (in addition to knowledge of the encryption password).&lt;br /&gt;
&lt;br /&gt;
Deep cold storage would typically be used for holding large amounts of bitcoins, or for a trustee holding bitcoins on behalf of others.  In such a case, additional precautions should be taken beyond a simple example of a single safety deposit box.&lt;br /&gt;
* The box could be accessed by bank or maintenance personnel, so the contents of the box alone should not be sufficient to access the wallet.&lt;br /&gt;
* The box could be stolen or destroyed in a disaster, or the media could become unreadable, so the box should not contain the only copy of the wallet.&lt;br /&gt;
* The trustee could die or become incapacitated.  If access to the wallet or knowledge of its location is lost, or encryption passwords are lost, the bitcoins are gone forever.  Provisions should be made so that the box can be accessed by someone else as appropriate, including any encryption passwords.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[How to import private keys]]&lt;br /&gt;
* [[How to set up a secure offline savings wallet]]&lt;br /&gt;
* [http://codinginmysleep.com/bitcoin-cold-storage-in-plain-english Bitcoin Cold Storage In Plain English] by David Perry&lt;br /&gt;
* [https://blockchain.info/wallet/paper-tutorial Paper Wallet Tutorial] blockchain.info&lt;br /&gt;
&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=35643</id>
		<title>Buying bitcoins</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=35643"/>
		<updated>2013-02-18T19:39:21Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are various methods available for buying bitcoins. See [[Buying Bitcoins (the noob version)|here for a Newb-friendly version]] of this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: Please be careful with your money.  When sending money to an exchange or seller you are trusting that the operator will not abscond with your funds and that the operator maintains secure systems that protect against theft -- internal or external.  It is recommended that you obtain the real-world identity of the operator and ensure that sufficient recourse is available.  Exchanging or storing significant amounts of funds with exchanges is not recommended.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Major Exchanges==&lt;br /&gt;
&lt;br /&gt;
The least expensive methods for buying bitcoins involve transferring funds using a bank wire, ACH, bank transfer (ACH, EUR / SEPA).&lt;br /&gt;
&lt;br /&gt;
Exchanges are listed in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Exchange || Adding Funds || Withdrawing Funds || [[eWallet]] || Notes&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-24]] || BTC&amp;lt;br/&amp;gt;USD ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;EUR ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (Credit card through LiqPay)&amp;lt;br /&amp;gt;EUR (Sofortuberweisung) || BTC&amp;lt;br/&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (BTC24 redeemable code&amp;lt;br /&amp;gt;USD ([[Skrill]]/Moneybookers) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-Central]] || BTC&amp;lt;br /&amp;gt;GBP (Bank transfer)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;International wire (any currency) || BTC&amp;lt;br /&amp;gt;GBP (Bank transfer)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR || {{Table Value Yes}} || [https://github.com/davout/bitcoin-central Open-source], community reviewed platform&amp;lt;br /&amp;gt;Available in French and English languages&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitfloor]] || BTC&amp;lt;br/&amp;gt;USD (bank wire transfer)&amp;lt;br /&amp;gt;USD (ING Person2Person) || BTC&amp;lt;br/&amp;gt;USD (ACH, direct deposit) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[BitMe]] || BTC&amp;lt;br/&amp;gt;USD (Cash deposits at Chase)&amp;lt;br/&amp;gt;USD (Wire Transfer - US Only)&amp;lt;br /&amp;gt;USD (AurumXchange VouchX) || BTC&amp;lt;br/&amp;gt;USD (AurumXchange VouchX)&amp;lt;br/&amp;gt;USD (ACH / Direct Deposit)&amp;lt;br/&amp;gt;USD (Wire Transfer - US Only) || {{ Table Value Yes }} || &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;US-based&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Liquidity provider discounts&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[https://github.com/bitme BitMe&#039;s GitHub]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[http://bitme.github.com/rest/ REST API]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[bitNZ]] || BTC&amp;lt;br/&amp;gt;NZD (Cash depost as Westbank) || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitstamp]] || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || {{Table Value Yes}} || EUR and CHF deposits converted to/from USD for trading&lt;br /&gt;
|-&lt;br /&gt;
|  [[BTC-E]] || BTC&amp;lt;br /&amp;gt;BTC (BTC-e redeemable code)&amp;lt;br /&amp;gt;USD (Cash deposit at Post of Russia)&amp;lt;br /&amp;gt;USD (Cash deposit at banks including Privatbank, Savings Bank of Russia (Sberbank), RU/UA Terminals, &amp;amp; more)&amp;lt;br /&amp;gt;USD ([[Liberty Reserve]])&amp;lt;br /&amp;gt;USD (Interkassa)&amp;lt;br /&amp;gt;USD (WebMoney - WMZ)&amp;lt;br /&amp;gt;USD (Yandex)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (RBK Money)&amp;lt;br /&amp;gt;USD (Ditial currencies including НСМЭП (NSMEP), Единый Кошелек (Unified Purse), TeleMoney, &amp;amp; more)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code, available via BitInstant and AurumXChange)&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney-WMR)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || BTC&amp;lt;br/&amp;gt;BTC (BTC-e redeemble code)&amp;lt;br /&amp;gt;USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD (Webmoney - WMZ)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (PayPal)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (Payza/AlertPay)&amp;lt;br /&amp;gt;USD (Privat, Privat UAH)&amp;lt;br /&amp;gt;USD (Cash deposit into Savings Bank/Sberbank, Telebank, Alfa Bank)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code)&amp;lt;br /&amp;gt;USD (International Wire Transfer)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;RUB (Cash delivery, possible in Moscow)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney WMR)&amp;lt;br /&amp;gt;RUB (Яндекс.Деньги Yandex)&amp;lt;br /&amp;gt;RUB (RBK Money)&amp;lt;br /&amp;gt;Cash deposit (into account at Сбербанка России!/Savings Bank/Sberbank, Телебанк (Telebank), and АльфаБанк (Alfa Bank)&amp;lt;br /&amp;gt;RUB (Transfer to credit card VISA &amp;amp; MasterCard)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || {{Table Value Yes}} || Language: English, Russian. Interkassa can be funded from Webmoney and many other methods.&amp;lt;br /&amp;gt;BitInstant Can be funding option includes QIWI, Cyberplat.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Camp BX]] (CBX) || BTC &amp;lt;br/&amp;gt; USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (P2P bank transfer at Chase, B&amp;amp;nbsp;of&amp;amp;nbsp;A, Wells Fargo and ING. Credited after three business days).&amp;lt;br /&amp;gt;USD (Personal Check)&amp;lt;br /&amp;gt;USD (USPS Postal money order, Canada Post money order) || BTC&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (ACH Direct Deposit)&amp;lt;br /&amp;gt;USD (USPS Postal Money Order)&amp;lt;br/&amp;gt;USD (Domestic bank wire)&amp;lt;br/&amp;gt;USD (International bank wire) || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Security certification from McAfee&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Advanced trading options with AON/FOK/Market&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;STOPLOSS and Short-Selling in Pipeline&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Trading API available&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Wallet API available &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; CBX Instant Bitcoin Transfers Feature &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Stoploss / Custom Order Expiry Date/Time &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; SMS (Text Message) Notifications &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Two-Factor Authentication &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Based in USA - Atlanta &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[FYB-SG]] || BTC &amp;lt;br/&amp;gt; SGD(Internet Bank Transfer)&amp;lt;br/&amp;gt;SGD (Annonymous Cash Deposit at any UOB Cash Deposit Machine in Singapore).&amp;lt;br /&amp;gt; || BTC&amp;lt;br/&amp;gt;SGD(Internet Bank Transfer)&amp;lt;br/&amp;gt; ||  {{Table Value Yes}} || &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Based in Singapore &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[Intersango]] || BTC&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || BTC&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || {{Table Value Yes}} || Operated by the [https://bitcoinconsultancy.com/ BitcoinConsultancy] &amp;lt;br/&amp;gt; [https://intersango.com Intersango] is a completely custom trading platform built from the ground up with security, scalability and extensibility in mind. [https://bitcointalk.org/index.php?topic=43745.0 More Information]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Boasts an [https://bitcoinconsultancy.com/wiki/index.php/Intersango/API ever expanding API].  Started out as [[Britcoin]].&lt;br /&gt;
|-&lt;br /&gt;
|  [[Kapiton.se]]  || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Mercado Bitcoin]] || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer)&amp;lt;br /&amp;gt;BRL (Bank transfer - MoIP)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[MtGox]] || BTC&amp;lt;br/&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;USD (Wire to [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;USD ([[OKPay]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;GBP (Bank wire)&amp;lt;br /&amp;gt;GBP (Cash deposit, Barclays)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Wire via [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || {{Table Value Yes}} || Oldest running exchange. Higest daily volume. Respecting AML laws, Restrictions and limits on withdrawals.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Rock Currency Exchange]] || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla) || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla)  || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[VirtEx]] || BTC&amp;lt;br/&amp;gt;CAD (cash deposit at Royal Bank, Bank of Montreal or ScotiaBank)&amp;lt;br /&amp;gt;CAD (Online bill payment)&amp;lt;br /&amp;gt;CAD (Wire transfer) || BTC&amp;lt;br/&amp;gt;CAD (direct deposit)&amp;lt;br /&amp;gt;CAD (Canada Xpress Post Bank Draft send by mail)&amp;lt;br /&amp;gt;CAD Payza (formerly AlertPay) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirWoX]] || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br/&amp;gt;USD,EUR,GBP (Credit &amp;amp; Debit cards via [[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (DIRECTebanking / Sofortuberweisung)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[paysafecard]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;USD ([[UKash]] vouchers) || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br /&amp;gt;USD,EUR,GBP ([[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || {{Table Value Yes}} || Trading through Second Life Linden Dollars.&amp;lt;br/&amp;gt;Variable limits on PayPal and Credit Card deposits. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fixed Rate Exchanges &amp;amp; Others==&lt;br /&gt;
&lt;br /&gt;
For smaller amounts, the options are limited due to bank transfer fees, conversion fees and transaction size restrictions. Options include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.aurumxchange.com AurumXchange] ([[AurumXchange|info]]) || Market || USD,EUR,GBP || Exchange Bitcoins &#039;&#039;&#039;instantly&#039;&#039;&#039; to and from Liberty Reserve, Perfect Money, Pecunix, C-Gold, VouchX, CosmicPay and more. Sell and buy your Bitcoins through USD or GBP Wire, or SEPA EUR transfer.&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.bitcoincanada.tk Bitcoincanada]  ([[bitcoin canada|info]]) || Market || CAD || Exchange Bitcoins &#039;&#039;&#039;instantly&#039;&#039;&#039; to and from Interac email transfer. Sell and buy your Bitcoins through Interac email transfer instantly. &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| [https://bitbargain.co.uk BitBargain] ([[BitBargain|info]]) || Market || GBP || Quick transactions via Bank Transfer (fast payments support only), Pingit and Ukash. Deals happen between buyer and seller.&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.bitcopia.com Bitcopia] ([[Bitcopia.com|info]]) || Fixed Rate || USD (Cash deposit) || Buy bitcoins via cash deposit at Wells Fargo, or send money via online banking with Wells Fargo. Instant quotes based on live Mt Gox prices.&lt;br /&gt;
|-&lt;br /&gt;
| [http://btc.pt BTC.pt] || Market Rate || EUR (Multibanco) || Anonymous transactions. Pay the amount on any Portuguese ATM(MB) or homebanking service, we&#039;ll deduce our fee and buy the coins for you at market rate and send them very fast to your wallet. Only available in Portugal.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.coinmarket.co.nz Coin Market] || Fixed Rate || NZD (NZ Bank deposit/Cash) || Cash deposit or bank transfer to domestic New Zealand bank.  Cash payment to brokerage.  Guest checkout available.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bit Innovate]] || Fixed Rate || AUD, NZD (Cash deposit) || Australian Dollar cash deposit at any Commonwealth or Westpac Bank. New Zealand Dollar cash deposits at any ASB.&lt;br /&gt;
|-&lt;br /&gt;
| [https://blockchain.info/wallet/deposit-methods Blockchain] ([[BlockChain.info|info]]) || Fixed Rate || USD, GBP, EUR, BRL, AUD, CAD, JPY, EUR, CHF, PLN, CZK, RON, RUB, SEK, NOK, DKK || Purchased through [[BitInstant]] (U.S., Brazil, and Russia), Barclay&#039;s Pingit or Bank Transfer (GBP), Instant Bank Transfer (EUR) or SMS or premium phone call from a mobile. &lt;br /&gt;
|-&lt;br /&gt;
| [[BitInstant]] || Market Rate || USD (Cash deposit at banks, 7-11, Walmart, CVS, Moneygram locations)&amp;lt;br /&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;BRL (Cash deposit at Banco Rendimento or through Boleto)&amp;lt;br /&amp;gt;RUB (Cash deposit through Qiwi or Cyberplat) || Deposit cash at 700,000 locations around the world and have your Bitcoins within 30 minutes. Absolute fastest and easiest way to buy Bitcoins. &lt;br /&gt;
|-&lt;br /&gt;
| [[Coinapult]] || Fixed rate || Use [[BitInstant]] to use cash to purchase bitcoins sent to e-mail or SMS.  Choose &amp;quot;Bitcoin to e-mail&amp;quot; service and enter either e-mail or SMS. ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Coinbase]] || Fixed rate || Buy bitcoins using a bank transfer (U.S.). || Instant verification available for new accounts.&lt;br /&gt;
|-&lt;br /&gt;
| [http://BitcoinIsrael.co.il BitcoinIsrael.co.il]   || Fixed Rate || ILS (NIS - New Israeli Shekel)&lt;br /&gt;
* via bank transfer&lt;br /&gt;
* via Bank HaDoar /Post Office Bank (instant transfer)&lt;br /&gt;
* via In Person&lt;br /&gt;
|| Buy and sell your Bitcoins within minutes in person. Get &amp;quot;same day&amp;quot; service using Bank HaDoar /Post Office Bank. Get &amp;quot;next day&amp;quot; service using Bank Transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Nordic]] || Fixed Rate&lt;br /&gt;
|&lt;br /&gt;
*EUR/DKK (SEPA and wire transfer)&lt;br /&gt;
*USD, EUR, GBP, DKK, SEK, NOK (Cash or check in the mail)&lt;br /&gt;
*AED, DZD, EGP, IQD, ILS, JOD, KWD, LGP, LYD, MRO, MYR, NGN, OMR, PKR, QAR, SAR, TRL, TZS, TND, YER ([[CashU]] card)&lt;br /&gt;
*MXN, EYU, BOB, BRL, COP, SYP, MAD, GHC, ZAR, CNY, CAD, and more ([[UKash]] voucher)&lt;br /&gt;
| For UKash, redeemed through CashU account.&lt;br /&gt;
|-&lt;br /&gt;
| [[Omnicoins]] || Fixed Rate || AUD (Cash deposit) || Deposit cash at any Commonwealth, NAB, or Westpac branch.&lt;br /&gt;
|-&lt;br /&gt;
| [[Spend Bitcoins]] || Fixed Rate || AUD (Cash deposit) || AUD cash deposit at NAB, Commonwealth Bank, Westpac and ANZ.&lt;br /&gt;
|-&lt;br /&gt;
| [https://bitcoinmylife.com/jml/buy-bitcoins BitcoinMyLife] &amp;lt;br /&amp;gt; ([[BitcoinMyLife|info]]) || Fixed Rate || EUR (SEPA bank transfer) || Simple and Safe.&amp;lt;br /&amp;gt;Pay first transaction fee with Twitter or Facebook post.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.de]] || Market || EUR (bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Liberty Reserve)&amp;lt;br /&amp;gt;EUR ([[Skrill]]/Moneybookers) || Varies (person to person)&amp;lt;br /&amp;gt;0.01 free Bitcoins for every new user&amp;lt;br /&amp;gt;eWallet&amp;lt;br /&amp;gt;Affiliate program&amp;lt;br /&amp;gt;Language: German, Englisch&amp;lt;br/&amp;gt; News&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoiny.cz]] || Market || CZK || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCX.se]] || Fixed Rate || SEK || Transfer to and banks in Sweden.&lt;br /&gt;
|-&lt;br /&gt;
| [[BTC China]] || Fixed Rate || USD (Liberty Reserve) || Converted to CNY for trading. &lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.co]] || Market || COP (Colombian Peso) || Varies (person to person)&lt;br /&gt;
|- &lt;br /&gt;
| [[bitcoin-otc|#bitcoin-otc]] || [http://bitcoin-otc.com/vieworderbook.php Order Book] || Varies (person to person) || IRC trading marketplace will usually have people willing to deal for small and larger amounts using various payment methods, including [[PayPal]], [[Dwolla]], [[Linden Dollars]], etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Canadian Bitcoins]] || Fixed Rate || CAD (Cash - XpressPost or Dropoff)&amp;lt;br /&amp;gt;USD (Cash - Courier: UPS, FedEx, etc.) || For dropoff, office in Ottawa.&lt;br /&gt;
|-&lt;br /&gt;
| [https://dgtmkt.com Dgtmkt] ([[Dgtmkt|info]]) || Fixed Rate || Malaysian Ringgit (MYR)&amp;lt;br /&amp;gt;Online bank transfers (Maybank2U, CIMB, MEPS, etc)&amp;lt;br /&amp;gt;E-vouchers (Web Cash, Mobile Money) || Bitcoin merchant for Malaysians,. dealing in Malaysian Ringgit. Fully automated immediate transfers. https://dgtmkt.com&lt;br /&gt;
|-&lt;br /&gt;
| [[Lilion Transfer]] || Fixed Rate || Bank Transfer: USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, BGN, HRK, RUB, SEK, NOK, DKK, LTL, LVL&amp;lt;br /&amp;gt; Liberty Reserve&amp;lt;br /&amp;gt;Perfect Money&amp;lt;br /&amp;gt;Monetto&amp;lt;br /&amp;gt;OK Pay&amp;lt;br /&amp;gt;Cosmic Pay&amp;lt;br /&amp;gt;Pecunix&amp;lt;br /&amp;gt;C-Gold&amp;lt;br /&amp;gt;E-Pay Payments&amp;lt;br /&amp;gt;PayPal|| 122 accounts worldwide.&amp;lt;br /&amp;gt; Support in 30 languages&lt;br /&gt;
|-&lt;br /&gt;
| [[Nanaimo Gold]] || Fixed Rate || USD (Liberty Reserve)&amp;lt;br /&amp;gt;Western Union money transfer&amp;lt;br /&amp;gt;Moneygram money transfer&amp;lt;br /&amp;gt;Cash in the mail || LR &amp;lt;--&amp;gt; Bitcoin exchange is automated&amp;lt;br /&amp;gt;For cash in the mail send USD, EUR, CAD, or GBP.  Canada mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Argentina]] || Fixed Rate || Cash: ARS, BRL, USD &amp;lt;br /&amp;gt; Bank transfer: ARS || No exchange fees!&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin.com.es]] || Fixed Rate || EUR (bank deposit) || Bank transfer or cash deposits at OpenBank in Spain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bahtcoin]] || Fixed Rate || Cash, Webmoney&amp;lt;br /&amp;gt;Liberty Reserve USD || Will cash out to Thai mobile and gaming prepaid cards as well.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Brasil]] || Fixed Rate || BRL (Brazilian Real)&amp;lt;br /&amp;gt;USD || Cash exchange&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPiggy]] || Fixed Rate || AUD (Australian Dollar)|| Payment via bank transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.local]] || Directory || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[bcchanger.com]] || Directory || Enables person to person purchases and sales via PayPal, [[Skrill]]/Moneybookers and other e-currency platforms ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoil]] || Fixed Rate || ILS (bank transfer) ||&lt;br /&gt;
|- &lt;br /&gt;
|[[btcnow]] || Market || USD (OKPay, Dwolla) ||  bitcoins transferred instantly&lt;br /&gt;
|-&lt;br /&gt;
| [http://localbitcoins.com LocalBitcoins.com] || Directory || Varies (person to person)&amp;lt;br/&amp;gt;Physical cash locally || Find your local bitcoin dealer! With dynamic pricing with equations.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.happycoins.nl HappyCoins] || Fixed Rate || EUR (iDEAL and SEPA bank transfer) || Buy and sell Bitcoins. Dutch bank account holders receive Bitcoins within minutes and bank payments same day. Other European IBAN bank account transactions take one or two working days. Prices based on near real-time MtGox exchange price.&lt;br /&gt;
|-&lt;br /&gt;
| [[WM-Center]] || Fixed rate || BTC&amp;lt;br/&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP || 24/7/365 support in English, Spanish and Russian.&lt;br /&gt;
|-&lt;br /&gt;
| [[ECurrencyZone]] || Fixed Rate || BTC&amp;lt;br/&amp;gt;INR (Cash deposit of Indian rupee)&amp;lt;br /&amp;gt;BDT (Cash deposit of Bangladeshi taka)&amp;lt;br /&amp;gt;NPR (Cash deposit of Nepalese rupee)&amp;lt;br /&amp;gt;MYR (Cash deposit of Malaysian ringitt)&amp;lt;br /&amp;gt;SGD (Cash deposit of Singaporean dollar)&amp;lt;br /&amp;gt;SGD (Net/Bank transfer)&amp;lt;br /&amp;gt;USD (Western Union, Moneygram, Citibank global funds transfer, OKPay)&amp;lt;br /&amp;gt;USD (Liberty Reserve, Mt. Gox redeemable code) || Bank transfer considered at all locations with prior approval.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitCoinVend]] || Market || BTC&amp;lt;br/&amp;gt;USD (PayPal) || bitcoinvend@gmail.com, market variable with commission, quote based, verified paypal account with anti scammer verification&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoins In Berlin]] || Fixed Rate || EUR (Cash in-the mail)&amp;lt;br /&amp;gt;EUR (Cash in-person trade)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Mt. Gox [[redeemable code]])&amp;lt;br /&amp;gt;EUR (Western Union) || Cash in-the-mail is to a Berlin P.O. box. In-person trade is in Berlin.&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.lojabitcoin.pt Loja Bitcoin] || Fixed Rate|| EUR (ATM/Multibanco, bank transfer, money order, cash) || Several payment methods like the Portuguese &amp;quot;Multibanco&amp;quot; (ATM), &amp;quot;Vale postal CTT&amp;quot; (money order by mail), bank transfer and cash (in some locations) - Portugal only at the moment&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| [[Mang Sweeney]] || Fixed Rate || PHP (Cash)&amp;lt;br /&amp;gt;PHP (Cash deposit at bank) || Languages: English, Pinoy.&amp;lt;br /&amp;gt;PHP [https://localbitcoins.com/accounts/profile/mangsweeney cash trade method] in metro Manilla, Philappines.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcoinvender.yolasite.com/ Bitcoin Vender] || Fixed Rate|| USD (Credit Card)&amp;lt;br/&amp;gt;USD (Debit Card)&amp;lt;BR /&amp;gt;|| Buy bitcoins with your credit or debit card&lt;br /&gt;
|-&lt;br /&gt;
| [[mercaBit.eu]] || Fixed Rate|| EUR (Ukash)&amp;lt;br/&amp;gt;EUR (Hal-Cash)&amp;lt;br/&amp;gt;EUR (Neteller)&amp;lt;br/&amp;gt;|| Buy bitcoins with ukash and more&lt;br /&gt;
|-&lt;br /&gt;
| [http://buyBTC.cz buyBTC.cz] ([[buyBTC.cz|info]]) || Fixed Rate|| CZK (Domestic bank transfer)&amp;lt;br /&amp;gt;EUR (Bank transfer) || Buy bitcoins from the Czech Republic.&lt;br /&gt;
|-&lt;br /&gt;
| [http://InstaWire.com InstaWire.com] ([[InstaWire|info]]) || Fixed Rate|| EUR (SEPA bank transfer) || No sign-up, just enter the amount and a Bitcoin address.&lt;br /&gt;
|-&lt;br /&gt;
| [http://ZIGGAP.com ZIGGAP] ([[ZIGGAP|info]]) || Fixed Rate|| USD (Cash deposit at Chase, PNC bank)&amp;lt;br /&amp;gt;AUD (Cash deposit at National Australia Bank/NAB&amp;lt;br /&amp;gt;AUD (Online bill payment/POLI payments)&amp;lt;br /&amp;gt;USD (Moneygram, Western Union) || Buy from any Moneygram and Western Union location worldwide.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitonic.nl Bitonic.nl] || Fixed Rate|| EUR (iDeal) || Buy bitcoins instantly from the Netherlands.&lt;br /&gt;
|-&lt;br /&gt;
| [http://swissbitcoins.ch swissbitcoins.ch] ([[Swissbitcoins|info]]) || Fixed Rate|| CHF (Swiss Bank Transfer) || Buy Bitcoins in Switzerland. No registration required. Enter Bitcoin address, wire money and get your bitcoins within 24 hours. &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.dragons.tl Dragon&#039;s Tale] ([[Dragon&#039;s Tale|info]]) || Other || Credit card (except in the U.S.)  || Purchase bitcoins through this MMO casino with credit card, withdraw bitcoins (though a fee applies if withdrawn and no casino play.)&lt;br /&gt;
|-&lt;br /&gt;
| [https://buybitcoinbycreditcard.com buybitcoinbycreditcard.com] || Fixed Rate || JPY (Credit Card) || Buy bitcoins instantly with your credit card. No registration required. This site accept from the world.&lt;br /&gt;
|-&lt;br /&gt;
| [[OKPAY]] || Fixed Rate || BTC&amp;lt;br/&amp;gt;USD, EUR, GBP, RUB, CHF etc (Bank Wire Transfer)&amp;lt;br/&amp;gt;EUR (SofortBanking)&amp;lt;br/&amp;gt;USD, EUR (Liqpay)&amp;lt;br/&amp;gt;USD (CashU)&amp;lt;br/&amp;gt;USD, EUR, GBP, RUB, CHF etc (UWCFS)&amp;lt;br/&amp;gt;USD, RUB, UAH (Wallet1)&amp;lt;br/&amp;gt;RUB (Yandex Money)&amp;lt;br/&amp;gt;RUB (EasyPay)&amp;lt;br/&amp;gt;USD, EUR (CONTACT)&amp;lt;br/&amp;gt;USD, EUR (Migom)&amp;lt;br/&amp;gt;USD, EUR, CZK (Money Polo)&amp;lt;br/&amp;gt;USD, EUR (Intel Express)&amp;lt;br/&amp;gt;USD, EUR (Western Union via Exchange Partners)&amp;lt;br/&amp;gt;USD, EUR (Moneygram via Exchange Partners)&amp;lt;br/&amp;gt;USD, EUR, (Liberty Reserve via Exchange Partners) || Support of 19 world currencies, 15 languages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Direct / Bulk Buying==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=87094.0 Bitcoins Direct] || Direct purchases, $1,000 and higher. || USD (Cash deposit at B of A, Wells Fargo or PNC Bank, max $3,000)&amp;lt;br /&amp;gt;USD (Bank wire, domestic or international), max $6,000 unless prior authorization&amp;lt;br /&amp;gt;USD (Liberty Reserve) || BTC || Inventory varies based on market conditions.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=89757.msg996082#msg996082 BitPay] ([[BitPay|info]]) || Direct purchases, $10,000 USD and higher || USD (Bank wire, domestic or international) || BTC || Contact for other payment methods. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Financial Services==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Settled || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEx]] || Buy / Sell / Exercise CALLs / PUTs, American style.&amp;lt;br /&amp;gt;52 strikes offered (by .5), current month + 2.&amp;lt;br /&amp;gt; No shorting available yet.|| BTC || BTC || Transactions encoded via amt.&amp;lt;br /&amp;gt; Must use non-rounding client&amp;lt;br /&amp;gt;(0.3.24 or later)&lt;br /&gt;
|-&lt;br /&gt;
| [https://vircurex.com Vircurex] || Buy / Sell Options&amp;lt;br/&amp;gt;Loan / Borrow || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Physical Bitcoins==&lt;br /&gt;
&lt;br /&gt;
Physical Bitcoins are bearer tokens that have an embedded redeemable digital bitcoin value if torn open.  While they are somewhat expensive if bought purely for the digital bitcoins, they are relatively easy to get, because they can be purchased with PayPal or credit card - payment methods not typically not accepted for pure digital bitcoin purchases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.memorydealers.com Memory Dealers] || Casascius Physical Bitcoins || USD (PayPal/Credit Card) || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.casascius.com Casascius.com] || Casascius Physical Bitcoins || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.giftcoin.net/card Bitcoin Gift Card] || Bitcioin Gift Card Physical Bitcoin Issued By GiftCoin || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bitbills.com Bitbills] || Bitbills cards || BTC || Not taking orders as of Nov 2011.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Digital_currencies|Digital Currencies]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Secure Trading]]&lt;br /&gt;
* [[Bitcoin Ladder]]&lt;br /&gt;
* [[:Category:Local|Local]] exchanges&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[zh-cn:购买bitcoins]]&lt;br /&gt;
[[ru:Приобретение биткойнов]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=33934</id>
		<title>Buying bitcoins</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=33934"/>
		<updated>2012-12-21T15:03:46Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are various methods available for buying bitcoins. See [[Buying Bitcoins (the noob version)|here for a Newb-friendly version]] of this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: Please be careful with your money.  When sending money to an exchange or seller you are trusting that the operator will not abscond with your funds and that the operator maintains secure systems that protect against theft -- internal or external.  It is recommended that you obtain the real-world identity of the operator and ensure that sufficient recourse is available.  Exchanging or storing significant amounts of funds with exchanges is not recommended.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Major Exchanges==&lt;br /&gt;
&lt;br /&gt;
The least expensive methods for buying bitcoins involve transferring funds using a bank wire, ACH, bank transfer (ACH, EUR / SEPA).&lt;br /&gt;
&lt;br /&gt;
Exchanges are listed in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Exchange || Adding Funds || Withdrawing Funds || [[eWallet]] || Notes&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-24]] || BTC&amp;lt;br/&amp;gt;USD ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;EUR ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (Credit card through LiqPay)&amp;lt;br /&amp;gt;EUR (Sofortuberweisung) || BTC&amp;lt;br/&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (BTC24 redeemable code&amp;lt;br /&amp;gt;USD ([[Skrill]]/Moneybookers) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-Central]] || BTC&amp;lt;br /&amp;gt;GBP (Bank transfer)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;International wire (any currency) || BTC&amp;lt;br /&amp;gt;GBP (Bank transfer)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR || {{Table Value Yes}} || [https://github.com/davout/bitcoin-central Open-source], community reviewed platform&amp;lt;br /&amp;gt;Available in French and English languages&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitfloor]] || BTC&amp;lt;br/&amp;gt;USD (bank wire transfer)&amp;lt;br /&amp;gt;USD (ING Person2Person) || BTC&amp;lt;br/&amp;gt;USD (ACH, direct deposit) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[BitMe]] || BTC&amp;lt;br/&amp;gt;USD (Cash deposits at Chase)&amp;lt;br/&amp;gt;USD (Wire Transfer - US Only)&amp;lt;br /&amp;gt;USD (AurumXchange VouchX) || BTC&amp;lt;br/&amp;gt;USD (AurumXchange VouchX)&amp;lt;br/&amp;gt;USD (ACH / Direct Deposit)&amp;lt;br/&amp;gt;USD (Wire Transfer - US Only) || {{ Table Value Yes }} || &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;US-based&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Liquidity provider discounts&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[https://github.com/bitme BitMe&#039;s GitHub]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[http://bitme.github.com/rest/ REST API]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[bitNZ]] || BTC&amp;lt;br/&amp;gt;NZD (Cash depost as Westbank) || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitstamp]] || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || {{Table Value Yes}} || EUR and CHF deposits converted to/from USD for trading&lt;br /&gt;
|-&lt;br /&gt;
|  [[BTC-E]] || BTC&amp;lt;br /&amp;gt;BTC (BTC-e redeemable code)&amp;lt;br /&amp;gt;USD (Cash deposit at Post of Russia)&amp;lt;br /&amp;gt;USD (Cash deposit at banks including Privatbank, Savings Bank of Russia (Sberbank), RU/UA Terminals, &amp;amp; more)&amp;lt;br /&amp;gt;USD ([[Liberty Reserve]])&amp;lt;br /&amp;gt;USD (Interkassa)&amp;lt;br /&amp;gt;USD (WebMoney - WMZ)&amp;lt;br /&amp;gt;USD (Yandex)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (RBK Money)&amp;lt;br /&amp;gt;USD (Ditial currencies including НСМЭП (NSMEP), Единый Кошелек (Unified Purse), TeleMoney, &amp;amp; more)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code, available via BitInstant and AurumXChange)&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney-WMR)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || BTC&amp;lt;br/&amp;gt;BTC (BTC-e redeemble code)&amp;lt;br /&amp;gt;USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD (Webmoney - WMZ)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (PayPal)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (Payza/AlertPay)&amp;lt;br /&amp;gt;USD (Privat, Privat UAH)&amp;lt;br /&amp;gt;USD (Cash deposit into Savings Bank/Sberbank, Telebank, Alfa Bank)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code)&amp;lt;br /&amp;gt;USD (International Wire Transfer)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;RUB (Cash delivery, possible in Moscow)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney WMR)&amp;lt;br /&amp;gt;RUB (Яндекс.Деньги Yandex)&amp;lt;br /&amp;gt;RUB (RBK Money)&amp;lt;br /&amp;gt;Cash deposit (into account at Сбербанка России!/Savings Bank/Sberbank, Телебанк (Telebank), and АльфаБанк (Alfa Bank)&amp;lt;br /&amp;gt;RUB (Transfer to credit card VISA &amp;amp; MasterCard)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || {{Table Value Yes}} || Language: English, Russian. Interkassa can be funded from Webmoney and many other methods.&amp;lt;br /&amp;gt;BitInstant Can be funding option includes QIWI, Cyberplat.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Camp BX]] (CBX) || BTC &amp;lt;br/&amp;gt; USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (P2P bank transfer at Chase, B&amp;amp;nbsp;of&amp;amp;nbsp;A, Wells Fargo and ING. Credited after three business days).&amp;lt;br /&amp;gt;USD (Personal Check)&amp;lt;br /&amp;gt;USD (USPS Postal money order, Canada Post money order) || BTC&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (ACH Direct Deposit)&amp;lt;br /&amp;gt;USD (USPS Postal Money Order)&amp;lt;br/&amp;gt;USD (Domestic bank wire)&amp;lt;br/&amp;gt;USD (International bank wire) || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Security certification from McAfee&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Advanced trading options with AON/FOK/Market&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;STOPLOSS and Short-Selling in Pipeline&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Trading API available&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Wallet API available &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; CBX Instant Bitcoin Transfers Feature &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Stoploss / Custom Order Expiry Date/Time &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; SMS (Text Message) Notifications &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Two-Factor Authentication &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Based in USA - Atlanta &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[Intersango]] || BTC&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || BTC&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || {{Table Value Yes}} || Operated by the [https://bitcoinconsultancy.com/ BitcoinConsultancy] &amp;lt;br/&amp;gt; [https://intersango.com Intersango] is a completely custom trading platform built from the ground up with security, scalability and extensibility in mind. [https://bitcointalk.org/index.php?topic=43745.0 More Information]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Boasts an [https://bitcoinconsultancy.com/wiki/index.php/Intersango/API ever expanding API].  Started out as [[Britcoin]].&lt;br /&gt;
|-&lt;br /&gt;
|  [[Kapiton.se]]  || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Mercado Bitcoin]] || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer)&amp;lt;br /&amp;gt;BRL (Bank transfer - MoIP)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[MtGox]] || BTC&amp;lt;br/&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;USD (Wire to [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;USD ([[OKPay]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;GBP (Bank wire)&amp;lt;br /&amp;gt;GBP (Cash deposit, Barclays)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Wire via [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || {{Table Value Yes}} || Oldest running exchange. Higest daily volume. Respecting AML laws, Restrictions and limits on withdrawals.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Rock Currency Exchange]] || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla) || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla)  || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[VirtEx]] || BTC&amp;lt;br/&amp;gt;CAD (cash deposit at Royal Bank, Bank of Montreal or ScotiaBank)&amp;lt;br /&amp;gt;CAD (Online bill payment)&amp;lt;br /&amp;gt;CAD (Wire transfer) || BTC&amp;lt;br/&amp;gt;CAD (direct deposit)&amp;lt;br /&amp;gt;CAD (Canada Xpress Post Bank Draft send by mail)&amp;lt;br /&amp;gt;CAD Payza (formerly AlertPay) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirWoX]] || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br/&amp;gt;USD,EUR,GBP (Credit &amp;amp; Debit cards via [[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (DIRECTebanking / Sofortuberweisung)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[paysafecard]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;USD ([[UKash]] vouchers) || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br /&amp;gt;USD,EUR,GBP ([[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || {{Table Value Yes}} || Trading through Second Life Linden Dollars.&amp;lt;br/&amp;gt;Variable limits on PayPal and Credit Card deposits. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fixed Rate Exchanges &amp;amp; Others==&lt;br /&gt;
&lt;br /&gt;
For smaller amounts, the options are limited due to bank transfer fees, conversion fees and transaction size restrictions. Options include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.bitcopia.com Bitcopia] ([[Bitcopia.com|info]]) || Fixed Rate || USD (Cash deposit) || Anonymous transactions. Instant quotes based on live Mt Gox prices. Cash deposit at any Wells Fargo in the US.&lt;br /&gt;
|-&lt;br /&gt;
| [http://btc.pt BTC.pt] || Market Rate || EUR (Multibanco) || Anonymous transactions. Pay the amount on any Portuguese ATM(MB) or homebanking service, we&#039;ll deduce our fee and buy the coins for you at market rate and send them very fast to your wallet. Only available in Portugal.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.coinmarket.co.nz Coin Market] || Fixed Rate || NZD (NZ Bank deposit/Cash) || Cash deposit or bank transfer to domestic New Zealand bank.  Cash payment to brokerage.  Guest checkout available.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bit Innovate]] || Fixed Rate || AUD (Cash deposit) || Australian Dollar cash deposit at any Commonwealth Bank.&lt;br /&gt;
|-&lt;br /&gt;
| [https://blockchain.info/wallet/ Blockchain] ([[BlockChain.info|info]]) || Fixed Rate || USD, BRL, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK || Purchased through [[BitInstant]] (U.S., Brazil, and Russia), Barclay&#039;s Pingit (GBP), or SMS or premium phone call from a mobile. Or Bank Deposit for UK Users.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitInstant]] || Market Rate || USD (Cash deposit at banks, 7-11, Walmart, CVS, Moneygram locations)&amp;lt;br /&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;BRL (Cash deposit at Banco Rendimento or through Boleto)&amp;lt;br /&amp;gt;RUB (Cash deposit through Qiwi or Cyberplat) || Deposit cash at 700,000 locations around the world and have your Bitcoins within 30 minutes. Absolute fastest and easiest way to buy Bitcoins. &lt;br /&gt;
|-&lt;br /&gt;
| [[Coinapult]] || Fixed rate || Use [[BitInstant]] to use cash to purchase bitcoins sent to e-mail or SMS.  Choose &amp;quot;Bitcoin to e-mail&amp;quot; service and enter either e-mail or SMS. ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Coinbase]] || Fixed rate || Buy bitcoins using a bank transfer (U.S.). || Instant verification available for new accounts.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Nordic]] || Fixed Rate&lt;br /&gt;
|&lt;br /&gt;
*EUR/DKK (SEPA and wire transfer)&lt;br /&gt;
*USD, EUR, GBP, DKK, SEK, NOK (Cash or check in the mail)&lt;br /&gt;
*AED, DZD, EGP, IQD, ILS, JOD, KWD, LGP, LYD, MRO, MYR, NGN, OMR, PKR, QAR, SAR, TRL, TZS, TND, YER ([[CashU]] card)&lt;br /&gt;
*MXN, EYU, BOB, BRL, COP, SYP, MAD, GHC, ZAR, CNY, CAD, and more ([[UKash]] voucher)&lt;br /&gt;
| For UKash, redeemed through CashU account.&lt;br /&gt;
|-&lt;br /&gt;
| [[Omnicoins]] || Fixed Rate || AUD (Cash deposit) || Deposit cash at any Commonwealth, NAB, or Westpac branch.&lt;br /&gt;
|-&lt;br /&gt;
| [[Spend Bitcoins]] || Fixed Rate || AUD (Cash deposit) || AUD cash deposit at NAB, Commonwealth Bank, Westpac and ANZ.&lt;br /&gt;
|-&lt;br /&gt;
| [https://bitcoinmylife.com/jml/buy-bitcoins BitcoinMyLife] &amp;lt;br /&amp;gt; ([[BitcoinMyLife|info]]) || Fixed Rate || EUR (SEPA bank transfer) || Simple and Safe.&amp;lt;br /&amp;gt;Pay first transaction fee with Twitter or Facebook post.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.de]] || Market || EUR (bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Liberty Reserve)&amp;lt;br /&amp;gt;EUR ([[Skrill]]/Moneybookers) || Varies (person to person)&amp;lt;br /&amp;gt;0.01 free Bitcoins for every new user&amp;lt;br /&amp;gt;eWallet&amp;lt;br /&amp;gt;Affiliate program&amp;lt;br /&amp;gt;Language: German, Englisch&amp;lt;br/&amp;gt; News&lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.eu]] || Market || EUR (Euro)&amp;lt;br /&amp;gt;GBP (British Sterling Pound)&amp;lt;br /&amp;gt;USD (U.S. Dollar)&amp;lt;br&amp;gt;PLN (Polish złoty)&amp;lt;br /&amp;gt;AUD (Australian Dollar)&amp;lt;br /&amp;gt;CAD (Canadian Dollar)&amp;lt;br /&amp;gt;ZAR (South African Rand)&amp;lt;br /&amp;gt;ILS (Israeli Shekel)&amp;lt;br /&amp;gt;CHF (Swiss Franc)&amp;lt;br&amp;gt;RUB (Russian Ruble) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoiny.cz]] || Market || CZK || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Mr Bitcoins|Mr. Bitcoins]]|| Fixed Rate || AUD (Cash deposit - Westpack and Commonwealth Bank) || 100% Anonymous Cash Deposits&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCX.se]] || Fixed Rate || SEK || Transfer to and banks in Sweden.&lt;br /&gt;
|-&lt;br /&gt;
| [[BTC China]] || Fixed Rate || USD (Liberty Reserve) || Converted to CNY for trading. &lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.co]] || Market || COP (Colombian Peso) || Varies (person to person)&lt;br /&gt;
|- &lt;br /&gt;
| [[bitcoin-otc|#bitcoin-otc]] || [http://bitcoin-otc.com/vieworderbook.php Order Book] || Varies (person to person) || IRC trading marketplace will usually have people willing to deal for small and larger amounts using various payment methods, including [[PayPal]], [[Dwolla]], [[Linden Dollars]], etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Canadian Bitcoins]] || Fixed Rate || CAD (Cash - XpressPost or Dropoff)&amp;lt;br /&amp;gt;USD (Cash - Courier: UPS, FedEx, etc.) || For dropoff, office in Ottawa.&lt;br /&gt;
|-&lt;br /&gt;
| [https://dgtmkt.com Dgtmkt] ([[Dgtmkt|info]]) || Fixed Rate || Malaysian Ringgit (MYR)&amp;lt;br /&amp;gt;Online bank transfers (Maybank2U, CIMB, MEPS, etc)&amp;lt;br /&amp;gt;E-vouchers (Web Cash, Mobile Money) || Bitcoin merchant for Malaysians,. dealing in Malaysian Ringgit. Fully automated immediate transfers. https://dgtmkt.com&lt;br /&gt;
|-&lt;br /&gt;
| [[Lilion Transfer]] || Fixed Rate || Bank Transfer: USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, BGN, HRK, RUB, SEK, NOK, DKK, LTL, LVL&amp;lt;br /&amp;gt; Liberty Reserve&amp;lt;br /&amp;gt;Perfect Money&amp;lt;br /&amp;gt;Monetto&amp;lt;br /&amp;gt;OK Pay&amp;lt;br /&amp;gt;Cosmic Pay&amp;lt;br /&amp;gt;Pecunix&amp;lt;br /&amp;gt;C-Gold&amp;lt;br /&amp;gt;E-Pay Payments&amp;lt;br /&amp;gt;PayPal|| 122 accounts worldwide.&amp;lt;br /&amp;gt; Support in 30 languages&lt;br /&gt;
|-&lt;br /&gt;
| [[Nanaimo Gold]] || Fixed Rate || USD (Liberty Reserve)&amp;lt;br /&amp;gt;Western Union money transfer&amp;lt;br /&amp;gt;Moneygram money transfer&amp;lt;br /&amp;gt;Cash in the mail || LR &amp;lt;--&amp;gt; Bitcoin exchange is automated&amp;lt;br /&amp;gt;For cash in the mail send USD, EUR, CAD, or GBP.  Canada mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Argentina]] || Fixed Rate || Cash: ARS, BRL, USD &amp;lt;br /&amp;gt; Bank transfer: ARS || No exchange fees!&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin.com.es]] || Fixed Rate || EUR (bank deposit) || Bank transfer or cash deposits at OpenBank in Spain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bahtcoin]] || Fixed Rate || Cash, Webmoney&amp;lt;br /&amp;gt;Liberty Reserve USD || Will cash out to Thai mobile and gaming prepaid cards as well.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Brasil]] || Fixed Rate || BRL (Brazilian Real)&amp;lt;br /&amp;gt;USD || Cash exchange&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPiggy]] || Fixed Rate || AUD (Australian Dollar)|| Payment via bank transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.local]] || Directory || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[bcchanger.com]] || Directory || Enables person to person purchases and sales via PayPal, [[Skrill]]/Moneybookers and other e-currency platforms ||&lt;br /&gt;
|-&lt;br /&gt;
| [[anonXchange]] || Fixed Rate || EUR&amp;lt;br /&amp;gt;GBP || Liberty Reserve, Paysafecard and Ukash to Bitcoin&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoil]] || Fixed Rate || ILS (bank transfer) ||&lt;br /&gt;
|- &lt;br /&gt;
|[[btcnow]] || Market || USD (OKPay, Dwolla) ||  bitcoins transferred instantly&lt;br /&gt;
|-&lt;br /&gt;
| [http://localbitcoins.com LocalBitcoins.com] || Directory || Varies (person to person)&amp;lt;br/&amp;gt;Physical cash locally || Find your local bitcoin dealer! With dynamic pricing with equations.&lt;br /&gt;
|-&lt;br /&gt;
| [[WM-Center]] || Fixed rate || BTC&amp;lt;br/&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP || 24/7/365 support in English, Spanish and Russian.&lt;br /&gt;
|-&lt;br /&gt;
| [[ECurrencyZone]] || Fixed Rate || BTC&amp;lt;br/&amp;gt;INR (Cash deposit of Indian rupee)&amp;lt;br /&amp;gt;BDT (Cash deposit of Bangladeshi taka)&amp;lt;br /&amp;gt;NPR (Cash deposit of Nepalese rupee)&amp;lt;br /&amp;gt;MYR (Cash deposit of Malaysian ringitt)&amp;lt;br /&amp;gt;SGD (Cash deposit of Singaporean dollar)&amp;lt;br /&amp;gt;SGD (Net/Bank transfer)&amp;lt;br /&amp;gt;USD (Western Union, Moneygram, Citibank global funds transfer, OKPay)&amp;lt;br /&amp;gt;USD (Liberty Reserve, Mt. Gox redeemable code) || Bank transfer considered at all locations with prior approval.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitCoinVend]] || Market || BTC&amp;lt;br/&amp;gt;USD (PayPal) || bitcoinvend@gmail.com, market variable with commission, quote based, verified paypal account with anti scammer verification&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoins In Berlin]] || Fixed Rate || EUR (Cash in-the mail)&amp;lt;br /&amp;gt;EUR (Cash in-person trade)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Mt. Gox [[redeemable code]])&amp;lt;br /&amp;gt;EUR (Western Union) || Cash in-the-mail is to a Berlin P.O. box. In-person trade is in Berlin.&lt;br /&gt;
|-&lt;br /&gt;
| [[Mang Sweeney]] || Fixed Rate || PHP (Cash)&amp;lt;br /&amp;gt;PHP (Cash deposit at bank) || Languages: English, Pinoy.&amp;lt;br /&amp;gt;PHP [https://localbitcoins.com/accounts/profile/mangsweeney cash trade method] in metro Manilla, Philappines.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcoinvender.yolasite.com/ Bitcoin Vender] || Fixed Rate|| USD (Credit Card)&amp;lt;br/&amp;gt;USD (Debit Card)&amp;lt;BR /&amp;gt;|| Buy bitcoins with your credit or debit card&lt;br /&gt;
|-&lt;br /&gt;
| [[mercaBit.eu]] || Fixed Rate|| EUR (ukash)&amp;lt;br/&amp;gt;EUR (paysafecard)&amp;lt;br/&amp;gt;EUR (neosurf)&amp;lt;br/&amp;gt;EUR (halcash)&amp;lt;br/&amp;gt;EUR (teleingreso)&amp;lt;br/&amp;gt;|| Buy bitcoins with ukash and more&lt;br /&gt;
|-&lt;br /&gt;
| [http://buyBTC.cz buyBTC.cz] ([[buyBTC.cz|info]]) || Fixed Rate|| CZK (Domestic bank transfer)&amp;lt;br /&amp;gt;EUR (Bank transfer) || Buy bitcoins from the Czech Republic.&lt;br /&gt;
|-&lt;br /&gt;
| [http://InstaWire.com InstaWire.com] ([[InstaWire|info]]) || Fixed Rate|| EUR (SEPA bank transfer) || No sign-up, just enter the amount and a Bitcoin address.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitonic.nl Bitonic.nl] || Fixed Rate|| EUR (iDeal) || Buy bitcoins instantly from the Netherlands.&lt;br /&gt;
|-&lt;br /&gt;
| [http://swissbitcoins.ch swissbitcoins.ch] ([[Swissbitcoins|info]]) || Fixed Rate|| CHF (Swiss Bank Transfer) || Buy Bitcoins in Switzerland. No registration required. Enter Bitcoin address, wire money and get your bitcoins within 24 hours. &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.dragons.tl Dragon&#039;s Tale] ([[Dragon&#039;s Tale|info]]) || Other || Credit card (except in the U.S.)  || Purchase bitcoins through this MMO casino with credit card, withdraw bitcoins (though a fee applies if withdrawn and no casino play.)&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.iocoloradocentral.com Paypal to Bitcoin] || Fixed Rate || USD (Paypal) || Buy bitcoins with Paypal. This site offers support in all spoken languages, along with prompt customer service. &lt;br /&gt;
|-&lt;br /&gt;
| [https://buybitcoinbycreditcard.com buybitcoinbycreditcard.com] || Fixed Rate || USD (Credit Card) || Buy bitcoins instantly with your credit card. No registration required. This site accept from the world.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Direct / Bulk Buying==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=87094.0 Bitcoins Direct] || Direct purchases, $1,000 and higher. || USD (Cash deposit at B of A, Wells Fargo or PNC Bank, max $3,000)&amp;lt;br /&amp;gt;USD (Bank wire, domestic or international), max $6,000 unless prior authorization&amp;lt;br /&amp;gt;USD (Liberty Reserve) || BTC || Inventory varies based on market conditions.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=89757.msg996082#msg996082 BitPay] ([[BitPay|info]]) || Direct purchases, $10,000 USD and higher || USD (Bank wire, domestic or international) || BTC || Contact for other payment methods. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Financial Services==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Settled || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEx]] || Buy / Sell / Exercise CALLs / PUTs, American style.&amp;lt;br /&amp;gt;52 strikes offered (by .5), current month + 2.&amp;lt;br /&amp;gt; No shorting available yet.|| BTC || BTC || Transactions encoded via amt.&amp;lt;br /&amp;gt; Must use non-rounding client&amp;lt;br /&amp;gt;(0.3.24 or later)&lt;br /&gt;
|-&lt;br /&gt;
| [https://vircurex.com Vircurex] || Buy / Sell Options&amp;lt;br/&amp;gt;Loan / Borrow || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Physical Bitcoins==&lt;br /&gt;
&lt;br /&gt;
Physical Bitcoins are bearer tokens that have an embedded redeemable digital bitcoin value if torn open.  While they are somewhat expensive if bought purely for the digital bitcoins, they are relatively easy to get, because they can be purchased with PayPal or credit card - payment methods not typically not accepted for pure digital bitcoin purchases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.memorydealers.com Memory Dealers] || Casascius Physical Bitcoins || USD (PayPal/Credit Card) || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.casascius.com Casascius.com] || Casascius Physical Bitcoins || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.giftcoin.net/card Bitcoin Gift Card] || Bitcioin Gift Card Physical Bitcoin Issued By GiftCoin || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bitbills.com Bitbills] || Bitbills cards || BTC || Not taking orders as of Nov 2011.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Digital_currencies|Digital Currencies]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Secure Trading]]&lt;br /&gt;
* [[:Category:Local|Local]] exchanges&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[zh-cn:购买bitcoins]]&lt;br /&gt;
[[ru:Приобретение биткойнов]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_Bitcoins_(the_newbie_version)&amp;diff=33933</id>
		<title>Buying Bitcoins (the newbie version)</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_Bitcoins_(the_newbie_version)&amp;diff=33933"/>
		<updated>2012-12-21T14:59:51Z</updated>

		<summary type="html">&lt;p&gt;Piuk: Added bank transfer for block chain&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page aims to be the best resource for new users to understand how to buy Bitcoins.&lt;br /&gt;
The existing [[Buying bitcoins]] page is too complex, and not noob-friendly.&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
[http://bitcoin.stackexchange.com/questions/2293/how-can-i-buy-bitcoin-via-a-credit-card-or-paypal You can&#039;t reliably buy Bitcoins using PayPal or credit cards], because it is risky for the seller, and therefore few sellers will offer this. There are several ways, depending on your location. Many sellers online will trade bitcoins for moneypak codes. See http://www.moneypak.com/&lt;br /&gt;
&lt;br /&gt;
=== Via Bank Transfer (US) ===&lt;br /&gt;
[https://coinbase.com Coinbase] allows you to buy and sell bitcoin by connecting any U.S. bank account.&lt;br /&gt;
&lt;br /&gt;
=== Finding a direct seller online ===&lt;br /&gt;
If you can find another person that is willing to sell them to you, you can transfer him money via whatever method (including PayPal), and he&#039;ll send you the Bitcoins. The following websites can be used to find direct sellers online  [[Bitcoin OTC]], [https://www.bitcoinary.com/ Bitcoinary] or the [https://bitcointalk.org/index.php?board=53.0 Currency Exchange Forum Section]&lt;br /&gt;
&lt;br /&gt;
=== Physical Trading ===&lt;br /&gt;
You might be able to find an individual you can [https://localbitcoins.com Buy bitcoins from locally].&lt;br /&gt;
&lt;br /&gt;
=== Bitinstant ===&lt;br /&gt;
You can buy Bitcoins via cash deposit or bank transfer using [[BitInstant]]. Here is a video tutorial explaining BitInstant: http://vimeo.com/44849463&lt;br /&gt;
&lt;br /&gt;
=== Exchanges ===&lt;br /&gt;
The largest and most trusted exchange is [[MtGox]]. For a list of other major exchanges see [[Buying_bitcoins#Major_Exchanges|Major Exchanges]]&lt;br /&gt;
&lt;br /&gt;
=== Blockchain (UK) ===&lt;br /&gt;
UK users can use [https://blockchain.info/wallet/deposit-pingit Barclays PingIt] or [https://blockchain.info/wallet/deposit-bank-transfer Bank Transfer] to purchase bitcoins from blockchain.info.&lt;br /&gt;
&lt;br /&gt;
== Avoiding Scams ==&lt;br /&gt;
Before using any service it is a good idea to look for reviews and feedback from previous customers. This can be done by simply googling the name of the website or company. The bitcointalk forums are also a good place to find discussions and reviews about services. &lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://bitcoin.stackexchange.com/questions/91/how-do-you-obtain-bitcoins&lt;br /&gt;
* http://bitcoin.stackexchange.com/questions/4194/whats-the-best-way-to-buy-bitcoin-noob-friendly&lt;br /&gt;
* [[Buying bitcoins]]&lt;br /&gt;
* http://www.reddit.com/r/Bitcoin/comments/nzg4o/the_canonical_newbie_guide_to_bitcoin/c3d5tmc&lt;br /&gt;
&lt;br /&gt;
[[Category:Introduction]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_Bitcoins_(the_newbie_version)&amp;diff=33668</id>
		<title>Buying Bitcoins (the newbie version)</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_Bitcoins_(the_newbie_version)&amp;diff=33668"/>
		<updated>2012-12-12T15:40:07Z</updated>

		<summary type="html">&lt;p&gt;Piuk: Remove dead link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page aims to be the best resource for new users to understand how to buy Bitcoins.&lt;br /&gt;
The existing [[Buying bitcoins]] page is too complex, and not noob-friendly.&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
[http://bitcoin.stackexchange.com/questions/2293/how-can-i-buy-bitcoin-via-a-credit-card-or-paypal You can&#039;t reliably buy Bitcoins using PayPal or credit cards], because it is risky for the seller, and therefore few sellers will offer this. There are several ways, depending on your location. Many sellers online will trade bitcoins for moneypak codes. See http://www.moneypak.com/&lt;br /&gt;
&lt;br /&gt;
=== Via Bank Transfer (US) ===&lt;br /&gt;
[https://coinbase.com Coinbase] allows you to buy and sell bitcoin by connecting any U.S. bank account.&lt;br /&gt;
&lt;br /&gt;
=== Finding a direct seller online ===&lt;br /&gt;
If you can find another person that is willing to sell them to you, you can transfer him money via whatever method (including PayPal), and he&#039;ll send you the Bitcoins. The following websites can be used to find direct sellers online  [[Bitcoin OTC]], [https://www.bitcoinary.com/ Bitcoinary] or the [https://bitcointalk.org/index.php?board=53.0 Currency Exchange Forum Section]&lt;br /&gt;
&lt;br /&gt;
=== Physical Trading ===&lt;br /&gt;
You might be able to find an individual you can [https://localbitcoins.com Buy bitcoins from locally].&lt;br /&gt;
&lt;br /&gt;
=== Bitinstant ===&lt;br /&gt;
You can buy Bitcoins via cash deposit or bank transfer using [[BitInstant]]. Here is a video tutorial explaining BitInstant: http://vimeo.com/44849463&lt;br /&gt;
&lt;br /&gt;
=== Exchanges ===&lt;br /&gt;
The largest and most trusted exchange is [[MtGox]]. For a list of other major exchanges see [[Buying_bitcoins#Major_Exchanges|Major Exchanges]]&lt;br /&gt;
&lt;br /&gt;
=== PingIt (UK) ===&lt;br /&gt;
UK users can use [https://blockchain.info/wallet/deposit-pingit Barclays PingIt] to purchase bitcoins from blockchain.info.&lt;br /&gt;
&lt;br /&gt;
== Avoiding Scams ==&lt;br /&gt;
Before using any service it is a good idea to look for reviews and feedback from previous customers. This can be done by simply googling the name of the website or company. The bitcointalk forums are also a good place to find discussions and reviews about services. &lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://bitcoin.stackexchange.com/questions/91/how-do-you-obtain-bitcoins&lt;br /&gt;
* http://bitcoin.stackexchange.com/questions/4194/whats-the-best-way-to-buy-bitcoin-noob-friendly&lt;br /&gt;
* [[Buying bitcoins]]&lt;br /&gt;
* http://www.reddit.com/r/Bitcoin/comments/nzg4o/the_canonical_newbie_guide_to_bitcoin/c3d5tmc&lt;br /&gt;
&lt;br /&gt;
[[Category:Introduction]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=31766</id>
		<title>Buying bitcoins</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=31766"/>
		<updated>2012-10-12T17:54:27Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are various methods available for buying bitcoins. See [[Buying Bitcoins (the noob version)|here for a Noob-friendly version]] of this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: Please be careful with your money.  When sending money to an exchange or seller you are trusting that the operator will not abscond with your funds and that the operator maintains secure systems that protect against theft -- internal or external.  It is recommended that you obtain the real-world identity of the operator and ensure that sufficient recourse is available.  Exchanging or storing significant amounts of funds with exchanges is not recommended.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Major Exchanges==&lt;br /&gt;
&lt;br /&gt;
The least expensive methods for buying bitcoins involve transferring funds using a bank wire, ACH, bank transfer (ACH, EUR / SEPA).&lt;br /&gt;
&lt;br /&gt;
Exchanges are listed in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Exchange || Adding Funds || Withdrawing Funds || [[eWallet]] || Notes&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-24]] || BTC&amp;lt;br/&amp;gt;USD ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;EUR ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (Credit card through LiqPay)&amp;lt;br /&amp;gt;EUR (Sofortuberweisung) || BTC&amp;lt;br/&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (BTC24 redeemable code&amp;lt;br /&amp;gt;USD ([[Skrill]]/Moneybookers) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-Central]] || BTC&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;PGAU [[Pecunix]] Gold || BTC&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;[[Pecunix]] Gold || {{Table Value Yes}} || [https://github.com/davout/bitcoin-central Open-source], community reviewed platform&amp;lt;br /&amp;gt;Available in French and English languages&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitfloor]] || BTC&amp;lt;br/&amp;gt;USD (Cash deposit at Chase, Wells Fargo)&amp;lt;br /&amp;gt;USD (bank wire transfer)&amp;lt;br /&amp;gt;USD (ING Person2Person) || BTC&amp;lt;br/&amp;gt;USD (ACH, direct deposit) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[BitMe]] || BTC&amp;lt;br/&amp;gt;USD (Cash deposits at Chase)&amp;lt;br/&amp;gt;USD (Wire Transfer - US)&amp;lt;br/&amp;gt;USD (Wire Transfer - International)&amp;lt;br /&amp;gt;USD (AurumXchange VouchX) || BTC&amp;lt;br/&amp;gt;USD (AurumXchange VouchX)&amp;lt;br/&amp;gt;USD (ACH / Direct Deposit)&amp;lt;br/&amp;gt;USD (Wire Transfer - US) || {{ Table Value Yes }} || &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;US-based&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Liquidity rebates&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[https://github.com/bitme BitMe&#039;s GitHub]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[http://bitme.github.com/rest/ REST API]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[bitNZ]] || BTC&amp;lt;br/&amp;gt;NZD (Cash depost as Westbank) || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitstamp]] || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || {{Table Value Yes}} || EUR and CHF deposits converted to/from USD for trading&lt;br /&gt;
|-&lt;br /&gt;
|  [[BTC-E]] || BTC&amp;lt;br /&amp;gt;BTC (BTC-e redeemable code)&amp;lt;br /&amp;gt;USD (Cash deposit at Post of Russia)&amp;lt;br /&amp;gt;USD (Cash deposit at banks including Privatbank, Savings Bank of Russia (Sberbank), RU/UA Terminals, &amp;amp; more)&amp;lt;br /&amp;gt;USD ([[Liberty Reserve]])&amp;lt;br /&amp;gt;USD (Interkassa)&amp;lt;br /&amp;gt;USD (WebMoney - WMZ)&amp;lt;br /&amp;gt;USD (Yandex)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (RBK Money)&amp;lt;br /&amp;gt;USD (Ditial currencies including НСМЭП (NSMEP), Единый Кошелек (Unified Purse), TeleMoney, &amp;amp; more)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code, available via BitInstant and AurumXChange)&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney-WMR)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || BTC&amp;lt;br/&amp;gt;BTC (BTC-e redeemble code)&amp;lt;br /&amp;gt;USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD (Webmoney - WMZ)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (PayPal)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (Payza/AlertPay)&amp;lt;br /&amp;gt;USD (Privat, Privat UAH)&amp;lt;br /&amp;gt;USD (Cash deposit into Savings Bank/Sberbank, Telebank, Alfa Bank)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code)&amp;lt;br /&amp;gt;USD (International Wire Transfer)&amp;lt;br /&amp;gt;RUB (Cash delivery, possible in Moscow)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney WMR)&amp;lt;br /&amp;gt;RUB (Яндекс.Деньги Yandex)&amp;lt;br /&amp;gt;RUB (RBK Money)&amp;lt;br /&amp;gt;Cash deposit (into account at Сбербанка России!/Savings Bank/Sberbank, Телебанк (Telebank), and АльфаБанк (Alfa Bank)&amp;lt;br /&amp;gt;RUB (Transfer to credit card VISA &amp;amp; MasterCard)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || {{Table Value Yes}} || Language: English, Russian. Interkassa can be funded from Webmoney and many other methods.&amp;lt;br /&amp;gt;BitInstant Can be funding option includes QIWI, Cyberplat.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Camp BX]] (CBX) || BTC &amp;lt;br/&amp;gt; USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (Personal Check)&amp;lt;br /&amp;gt;USD (USPS Postal money order, Canada Post money order) || BTC&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (ACH Direct Deposit)&amp;lt;br /&amp;gt;USD (USPS Postal Money Order)&amp;lt;br/&amp;gt;USD (Domestic bank wire)&amp;lt;br/&amp;gt;USD (International bank wire) || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Security certification from McAfee&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Advanced trading options with AON/FOK/Market&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;STOPLOSS and Short-Selling in Pipeline&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Trading API available&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Wallet API available &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; CBX Instant Bitcoin Transfers Feature &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Stoploss / Custom Order Expiry Date/Time &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; SMS (Text Message) Notifications &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Two-Factor Authentication &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Based in USA - Atlanta &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[CryptoXchange]]  || BTC&amp;lt;br/&amp;gt;USD (Redeemable code from Mt. Gox)&amp;lt;br /&amp;gt;USD (Redeemable code from CryptoXChange)&amp;lt;br/&amp;gt;USD (BitInstant)&amp;lt;br /&amp;gt;USD (AurumXChange)&amp;lt;br /&amp;gt;AUD (Cash deposit at Westpack)&amp;lt;br/&amp;gt;NMC || BTC&amp;lt;br/&amp;gt;USD (Redeemable code from Mt. Gox)&amp;lt;br /&amp;gt;USD (Redeemable code from CryptoXChange)&amp;lt;br/&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;NMC  || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Buy Gold,Silver,Palladium and Casascius physical bitcoins plus other items in the store.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Affiliate program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Mining Pool integration program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Bitcoin, Namecoin and Litecoin &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Multiple Authentication Levels&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; API &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Free Yubikey&#039;s to High Volume Traders &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; An Australian Owned and Operated Registered Company.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&lt;br /&gt;
Inquiries: contact@cryptoxchanger.com or Phone: +61280050602 &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[Intersango]] || BTC&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || BTC&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || {{Table Value Yes}} || Operated by the [https://bitcoinconsultancy.com/ BitcoinConsultancy] &amp;lt;br/&amp;gt; [https://intersango.com Intersango] is a completely custom trading platform built from the ground up with security, scalability and extensibility in mind. [https://bitcointalk.org/index.php?topic=43745.0 More Information]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Boasts an [https://bitcoinconsultancy.com/wiki/index.php/Intersango/API ever expanding API].  Started out as [[Britcoin]].&lt;br /&gt;
|-&lt;br /&gt;
|  [[Kapiton.se]]  || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Mercado Bitcoin]] || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer)&amp;lt;br /&amp;gt;BRL (Bank transfer - MoIP)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[MtGox]] || BTC&amp;lt;br/&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;USD (Wire to [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;USD ([[OKPay]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;GBP (Bank wire)&amp;lt;br /&amp;gt;GBP (Cash deposit, Barclays)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Wire via [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || {{Table Value Yes}} || Oldest running exchange. Higest daily volume. Respecting AML laws, Restrictions and limits on withdrawals.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Rock Currency Exchange]] || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla) || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla)  || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[VirtEx]] || BTC&amp;lt;br/&amp;gt;CAD (cash deposit at Royal Bank, Bank of Montreal or ScotiaBank)&amp;lt;br /&amp;gt;CAD (Online bill payment)&amp;lt;br /&amp;gt;CAD (Wire transfer) || BTC&amp;lt;br/&amp;gt;CAD (direct deposit)&amp;lt;br /&amp;gt;CAD (Canada Xpress Post Bank Draft send by mail)&amp;lt;br /&amp;gt;CAD Payza (formerly AlertPay) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirWoX]] || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br/&amp;gt;USD,EUR,GBP (Credit &amp;amp; Debit cards via [[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (DIRECTebanking / Sofortuberweisung)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[paysafecard]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;USD ([[UKash]] vouchers) || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br /&amp;gt;USD,EUR,GBP ([[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || {{Table Value Yes}} || Trading through Second Life Linden Dollars.&amp;lt;br/&amp;gt;Variable limits on PayPal and Credit Card deposits. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fixed Rate Exchanges &amp;amp; Others==&lt;br /&gt;
&lt;br /&gt;
For smaller amounts, the options are limited due to bank transfer fees, conversion fees and transaction size restrictions. Options include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.coinmarket.co.nz/buy The Daktory CoinMarket] || Fixed Rate || NZD (NZ Bank deposit/Cash) || Cash deposit or bank transfer to domestic New Zealand bank.  Cash payment to brokerage.  Guest checkout available.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bit Innovate]] || Fixed Rate || AUD (Cash deposit) || Australian Dollar cash deposit at any Commonwealth Bank.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitInstant]] || Market Rate || USD (Cash deposit at banks, 7-11, Walmart, CVS, Moneygram locations)&amp;lt;br /&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;BRL (Cash deposit at Banco Rendimento or through Boleto)&amp;lt;br /&amp;gt;RUB (Cash deposit through Qiwi or Cyberplat) || Deposit cash at 700,000 locations around the world and have your Bitcoins within 30 minutes. Absolute fastest and easiest way to buy Bitcoins. &lt;br /&gt;
|-&lt;br /&gt;
| [[Coinapult]] || Fixed rate || Use [[BitInstant]] to use cash to purchase bitcoins sent to e-mail or SMS.  Choose &amp;quot;Bitcoin to e-mail&amp;quot; service and enter either e-mail or SMS.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Nordic]] || Fixed Rate || EUR/DKK (SEPA and wire transfer)&amp;lt;BR /&amp;gt;USD/EUR/GBP/DKK/SEK/NOK (Cash or check in the mail)&amp;lt;BR &amp;gt;AED/DZD/EGP/IQD/ILS/JOD/KWD/LGP/LYD/MRO/MYR/NGN/OMR/PKR/QAR/SAR/TRL/TZS/TND/YER ([[CashU]] card)&amp;lt;BR /&amp;gt;MXN/EYU/BOB/BRL/COP/SYP/MAD/GHC/ZAR/CNY/CAD and more ([[UKash]] voucher) || For UKash, redeemed through CashU account.&lt;br /&gt;
|-&lt;br /&gt;
| [https://blockchain.info/wallet/sms-phone-deposits Blockchain.info] ([[BlockChain.info|info]]) || Fixed Rate || USD, BRL, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK || Purchased through [[BitInstant]] (U.S., Brazil, and Russia), Barclay&#039;s Pingit (GBP), or SMS or premium phone call from a mobile. Or Bank Deposit for UK Users.&lt;br /&gt;
|-&lt;br /&gt;
| [[Omnicoins]] || Fixed Rate || AUD (Cash deposit) || Deposit cash at any Commonwealth, NAB, or Westpac branch.&lt;br /&gt;
|-&lt;br /&gt;
| [[Spend Bitcoins]] || Fixed Rate || AUD (Cash deposit) || AUD cash deposit at NAB, Commonwealth Bank, Westpac and ANZ.&lt;br /&gt;
|-&lt;br /&gt;
| [[Quick Bitcoins]] || Fixed Rate || USD (Cash in the mail)&amp;lt;br /&amp;gt;USD (Prepaid debit card in the mail)&amp;lt;br /&amp;gt;USD (Money order via mail)&amp;lt;br /&amp;gt;USD (Cashier check by mail)&amp;lt;br /&amp;gt;USD (Cash deposit at a bank, 7-11, Walmart, CVS)&amp;lt;br /&amp;gt;USD (MoneyGram or Western Union)&amp;lt;br /&amp;gt;EUR (VISA/MasterCard credit card)&amp;lt;br /&amp;gt;EUR (Cash in the mail)&amp;lt;br /&amp;gt;EUR (Perpaid debit card in the mail) || U.S. mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [https://bitcoinmylife.com/jml/buy-bitcoins BitcoinMyLife] &amp;lt;br /&amp;gt; ([[BitcoinMyLife|info]]) || Fixed Rate || EUR (SEPA bank transfer) || Simple and Safe.&amp;lt;br /&amp;gt;Pay first transaction fee with Twitter or Facebook post.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.de]] || Market || EUR (bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Liberty Reserve)&amp;lt;br /&amp;gt;EUR ([[Skrill]]/Moneybookers) || Varies (person to person)&amp;lt;br /&amp;gt;0.01 free Bitcoins for every new user&amp;lt;br /&amp;gt;eWallet&amp;lt;br /&amp;gt;Affiliate program&amp;lt;br /&amp;gt;Language: German, Englisch&amp;lt;br/&amp;gt; News&lt;br /&gt;
|-&lt;br /&gt;
| [[Blizzcoin]] || Fixed Rate || EUR (SEPA bank transfer) || Buy Bitcoins within minutes. Instant exchange. &amp;lt;br /&amp;gt;No registration.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.eu]] || Market || EUR (Euro)&amp;lt;br /&amp;gt;GBP (British Sterling Pound)&amp;lt;br /&amp;gt;USD (U.S. Dollar)&amp;lt;br&amp;gt;PLN (Polish złoty)&amp;lt;br /&amp;gt;AUD (Australian Dollar)&amp;lt;br /&amp;gt;CAD (Canadian Dollar)&amp;lt;br /&amp;gt;ZAR (South African Rand)&amp;lt;br /&amp;gt;ILS (Israeli Shekel)&amp;lt;br /&amp;gt;CHF (Swiss Franc)&amp;lt;br&amp;gt;RUB (Russian Ruble) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoiny.cz]] || Market || CZK || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Mr Bitcoins|Mr. Bitcoins]]|| Fixed Rate || AUD (Cash deposit - Westpack and Commonwealth Bank)&amp;lt;br /&amp;gt;USD (Major banks, 7-11, Walmart, CVS)&amp;lt;br /&amp;gt;RUB (Qiwi and Cyberplat through BitInstant)&amp;lt;br /&amp;gt;BRL (Boleto through BitInstant)&amp;lt;br /&amp;gt;INR (Cash deposit - HDFC Bank)|| 100% Anonymous Cash Deposits&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCX.se]] || Fixed Rate || SEK || Transfer to and banks in Sweden.&lt;br /&gt;
|-&lt;br /&gt;
| [[BTC China]] || Fixed Rate || USD (Liberty Reserve) || Converted to CNY for trading. &lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.co]] || Market || COP (Colombian Peso) || Varies (person to person)&lt;br /&gt;
|- &lt;br /&gt;
| [[bitcoin-otc|#bitcoin-otc]] || [http://bitcoin-otc.com/vieworderbook.php Order Book] || Varies (person to person) || IRC trading marketplace will usually have people willing to deal for small and larger amounts using various payment methods, including [[PayPal]], [[Dwolla]], [[Linden Dollars]], etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Canadian Bitcoins]] || Fixed Rate || CAD (Cash - XpressPost or Dropoff)&amp;lt;br /&amp;gt;USD (Cash - Courier: UPS, FedEx, etc.) || For dropoff, office in Ottawa.&lt;br /&gt;
|-&lt;br /&gt;
| [https://dgtmkt.com Dgtmkt] ([[Dgtmkt|info]]) || Fixed Rate || Malaysian Ringgit (MYR)&amp;lt;br /&amp;gt;Online bank transfers (Maybank2U, CIMB, MEPS, etc)&amp;lt;br /&amp;gt;E-vouchers (Web Cash, Mobile Money) || Bitcoin merchant for Malaysians, dealing in Malaysian Ringgit. Fully automated immediate transfers. https://dgtmkt.com&lt;br /&gt;
|-&lt;br /&gt;
| [[Lilion Transfer]] || Fixed Rate || Bank Transfer: USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, BGN, HRK, RUB, SEK, NOK, DKK, LTL, LVL&amp;lt;br /&amp;gt; Liberty Reserve&amp;lt;br /&amp;gt;Perfect Money&amp;lt;br /&amp;gt;Monetto&amp;lt;br /&amp;gt;OK Pay&amp;lt;br /&amp;gt;Cosmic Pay&amp;lt;br /&amp;gt;Pecunix&amp;lt;br /&amp;gt;C-Gold&amp;lt;br /&amp;gt;E-Pay Payments&amp;lt;br /&amp;gt;PayPal|| 122 accounts worldwide.&amp;lt;br /&amp;gt; Support in 30 languages&lt;br /&gt;
|-&lt;br /&gt;
| [[Nanaimo Gold]] || Fixed Rate || USD (Liberty Reserve)&amp;lt;br /&amp;gt;Western Union money transfer&amp;lt;br /&amp;gt;Moneygram money transfer&amp;lt;br /&amp;gt;Cash in the mail || LR &amp;lt;--&amp;gt; Bitcoin exchange is automated&amp;lt;br /&amp;gt;For cash in the mail send USD, EUR, CAD, or GBP.  Canada mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Argentina]] || Fixed Rate || Cash: ARS, BRL, USD &amp;lt;br /&amp;gt; Bank transfer: ARS || No exchange fees!&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin.com.es]] || Fixed Rate || EUR (bank deposit) || Bank transfer or cash deposits at OpenBank in Spain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bahtcoin]] || Fixed Rate || Cash, Webmoney&amp;lt;br /&amp;gt;Liberty Reserve USD || Will cash out to Thai mobile and gaming prepaid cards as well.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Brasil]] || Fixed Rate || BRL (Brazilian Real)&amp;lt;br /&amp;gt;USD || Cash exchange&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPiggy]] || Fixed Rate || AUD (Australian Dollar)|| Payment via bank transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.local]] || Directory || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[bcchanger.com]] || Directory || Enables person to person purchases and sales via PayPal, [[Skrill]]/Moneybookers and other e-currency platforms ||&lt;br /&gt;
|-&lt;br /&gt;
| [[anonXchange]] || Fixed Rate || EUR&amp;lt;br /&amp;gt;GBP || Liberty Reserve, Paysafecard and Ukash to Bitcoin&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoil]] || Fixed Rate || ILS (bank transfer) ||&lt;br /&gt;
|- &lt;br /&gt;
|[[btcnow]] || Market || USD (OKPay, Dwolla) ||  bitcoins transferred instantly&lt;br /&gt;
|-&lt;br /&gt;
| [http://localbitcoins.com LocalBitcoins.com] || Directory || Varies (person to person)&amp;lt;br/&amp;gt;Physical cash locally || Find your local bitcoin dealer! With dynamic pricing with equations.&lt;br /&gt;
|-&lt;br /&gt;
| [[WM-Center]] || Fixed rate || BTC&amp;lt;br/&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP || 24/7/365 support in English, Spanish and Russian.&lt;br /&gt;
|-&lt;br /&gt;
| [[ECurrencyZone]] || Fixed Rate || BTC&amp;lt;br/&amp;gt;INR (Cash deposit of Indian rupee)&amp;lt;br /&amp;gt;BDT (Cash deposit of Bangladeshi taka)&amp;lt;br /&amp;gt;NPR (Cash deposit of Nepalese rupee)&amp;lt;br /&amp;gt;MYR (Cash deposit of Malaysian ringitt)&amp;lt;br /&amp;gt;SGD (Cash deposit of Singaporean dollar)&amp;lt;br /&amp;gt;SGD (Net/Bank transfer)&amp;lt;br /&amp;gt;USD (Western Union, Moneygram, Citibank global funds transfer, OKPay)&amp;lt;br /&amp;gt;USD (Liberty Reserve, Mt. Gox redeemable code) || Bank transfer considered at all locations with prior approval.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitCoinVend]] || Market || BTC&amp;lt;br/&amp;gt;USD (PayPal) || bitcoinvend@gmail.com, market variable with commission, quote based, verified paypal account with anti scammer verification&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoins In Berlin]] || Fixed Rate || EUR (Cash in-the mail)&amp;lt;br /&amp;gt;EUR (Cash in-person trade)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Mt. Gox [[redeemable code]])&amp;lt;br /&amp;gt;EUR (Western Union) || Cash in-the-mail is to a Berlin P.O. box. In-person trade is in Berlin.&lt;br /&gt;
|-&lt;br /&gt;
| [[Mang Sweeney]] || Fixed Rate || PHP (Cash)&amp;lt;br /&amp;gt;PHP (Cash deposit at bank) || Languages: English, Pinoy.&amp;lt;br /&amp;gt;PHP [https://localbitcoins.com/accounts/profile/mangsweeney cash trade method] in metro Manilla, Philappines.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcoinvender.yolasite.com/ Bitcoin Vender] || Fixed Rate|| USD (Credit Card)&amp;lt;br/&amp;gt;USD (Debit Card)&amp;lt;BR /&amp;gt;|| Buy bitcoins with your credit or debit card&lt;br /&gt;
|-&lt;br /&gt;
| [http://mercabit.eu mercaBit.eu] || Fixed Rate|| EUR (ukash)&amp;lt;br/&amp;gt;EUR (paysafecard)&amp;lt;br/&amp;gt;EUR (neosurf)&amp;lt;br/&amp;gt;EUR (halcash)&amp;lt;br/&amp;gt;EUR (teleingreso)&amp;lt;br/&amp;gt;|| Buy bitcoins with ukash and more&lt;br /&gt;
|-&lt;br /&gt;
| [http://buyBTC.cz buyBTC.cz] ([[buyBTC.cz|info]]) || Fixed Rate|| CZK (Domestic bank transfer)&amp;lt;br /&amp;gt;EUR (Bank transfer) || Buy bitcoins from the Czech Republic.&lt;br /&gt;
|-&lt;br /&gt;
| [http://InstaWire.com InstaWire.com] ([[InstaWire|info]]) || Fixed Rate|| EUR (SEPA bank transfer) || No sign-up, just enter the amount and a Bitcoin address.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitonic.nl Bitonic.nl] || Fixed Rate|| EUR (iDeal) || Buy bitcoins instantly from the Netherlands.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.dragons.tl Dragon&#039;s Tale] ([[Dragon&#039;s Tale|info]]) || Other || Credit card (except in the U.S.)  || Purchase bitcoins through this MMO casino with credit card, withdraw bitcoins (though a fee applies if withdrawn and no casino play.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Direct / Bulk Buying==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=87094.0 Bitcoins Direct] || Direct purchases, $500 to $5,000 USD. || USD (Cash deposit at B of A, Wells Fargo or PNC Bank&amp;lt;br /&amp;gt;USD (Bank wire, domestic or international)&amp;lt;br /&amp;gt;USD (Cashier check, by mail)&amp;lt;br /&amp;gt;USD (Liberty Reserve) || BTC || Inventory varies based on market conditions.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=89757.msg996082#msg996082 BitPay] ([[BitPay|info]]) || Direct purchases, $10,000 USD and higher || USD (Bank wire, domestic or international) || BTC || Contact for other payment methods. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Financial Services==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Settled || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEx]] || Buy / Sell / Exercise CALLs / PUTs, American style.&amp;lt;br /&amp;gt;52 strikes offered (by .5), current month + 2.&amp;lt;br /&amp;gt; No shorting available yet.|| BTC || BTC || Transactions encoded via amt.&amp;lt;br /&amp;gt; Must use non-rounding client&amp;lt;br /&amp;gt;(0.3.24 or later)&lt;br /&gt;
|-&lt;br /&gt;
| [https://vircurex.com Vircurex] || Buy / Sell Options&amp;lt;br/&amp;gt;Loan / Borrow || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Physical Bitcoins==&lt;br /&gt;
&lt;br /&gt;
Physical Bitcoins are bearer tokens that have an embedded redeemable digital bitcoin value if torn open.  While they are somewhat expensive if bought purely for the digital bitcoins, they are relatively easy to get, because they can be purchased with PayPal or credit card - payment methods not typically not accepted for pure digital bitcoin purchases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.memorydealers.com Memory Dealers] || Casascius Physical Bitcoins || USD (PayPal/Credit Card) || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.casascius.com Casascius.com] || Casascius Physical Bitcoins || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.giftcoin.net/card Bitcoin Gift Card] || Bitcioin Gift Card Physical Bitcoin Issued By GiftCoin || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bitbills.com Bitbills] || Bitbills cards || BTC || Not taking orders as of Nov 2011.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Digital_currencies|Digital Currencies]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Secure Trading]]&lt;br /&gt;
* [[:Category:Local|Local]] exchanges&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[zh-cn:购买bitcoins]]&lt;br /&gt;
[[ru:Приобретение биткойнов]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=31765</id>
		<title>Buying bitcoins</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=31765"/>
		<updated>2012-10-12T17:53:51Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are various methods available for buying bitcoins. See [[Buying Bitcoins (the noob version)|here for a Noob-friendly version]] of this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: Please be careful with your money.  When sending money to an exchange or seller you are trusting that the operator will not abscond with your funds and that the operator maintains secure systems that protect against theft -- internal or external.  It is recommended that you obtain the real-world identity of the operator and ensure that sufficient recourse is available.  Exchanging or storing significant amounts of funds with exchanges is not recommended.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Major Exchanges==&lt;br /&gt;
&lt;br /&gt;
The least expensive methods for buying bitcoins involve transferring funds using a bank wire, ACH, bank transfer (ACH, EUR / SEPA).&lt;br /&gt;
&lt;br /&gt;
Exchanges are listed in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Exchange || Adding Funds || Withdrawing Funds || [[eWallet]] || Notes&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-24]] || BTC&amp;lt;br/&amp;gt;USD ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;EUR ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (Credit card through LiqPay)&amp;lt;br /&amp;gt;EUR (Sofortuberweisung) || BTC&amp;lt;br/&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (BTC24 redeemable code&amp;lt;br /&amp;gt;USD ([[Skrill]]/Moneybookers) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-Central]] || BTC&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;PGAU [[Pecunix]] Gold || BTC&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;[[Pecunix]] Gold || {{Table Value Yes}} || [https://github.com/davout/bitcoin-central Open-source], community reviewed platform&amp;lt;br /&amp;gt;Available in French and English languages&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitfloor]] || BTC&amp;lt;br/&amp;gt;USD (Cash deposit at Chase, Wells Fargo)&amp;lt;br /&amp;gt;USD (bank wire transfer)&amp;lt;br /&amp;gt;USD (ING Person2Person) || BTC&amp;lt;br/&amp;gt;USD (ACH, direct deposit) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[BitMe]] || BTC&amp;lt;br/&amp;gt;USD (Cash deposits at Chase)&amp;lt;br/&amp;gt;USD (Wire Transfer - US)&amp;lt;br/&amp;gt;USD (Wire Transfer - International)&amp;lt;br /&amp;gt;USD (AurumXchange VouchX) || BTC&amp;lt;br/&amp;gt;USD (AurumXchange VouchX)&amp;lt;br/&amp;gt;USD (ACH / Direct Deposit)&amp;lt;br/&amp;gt;USD (Wire Transfer - US) || {{ Table Value Yes }} || &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;US-based&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Liquidity rebates&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[https://github.com/bitme BitMe&#039;s GitHub]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[http://bitme.github.com/rest/ REST API]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[bitNZ]] || BTC&amp;lt;br/&amp;gt;NZD (Cash depost as Westbank) || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitstamp]] || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || {{Table Value Yes}} || EUR and CHF deposits converted to/from USD for trading&lt;br /&gt;
|-&lt;br /&gt;
|  [[BTC-E]] || BTC&amp;lt;br /&amp;gt;BTC (BTC-e redeemable code)&amp;lt;br /&amp;gt;USD (Cash deposit at Post of Russia)&amp;lt;br /&amp;gt;USD (Cash deposit at banks including Privatbank, Savings Bank of Russia (Sberbank), RU/UA Terminals, &amp;amp; more)&amp;lt;br /&amp;gt;USD ([[Liberty Reserve]])&amp;lt;br /&amp;gt;USD (Interkassa)&amp;lt;br /&amp;gt;USD (WebMoney - WMZ)&amp;lt;br /&amp;gt;USD (Yandex)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (RBK Money)&amp;lt;br /&amp;gt;USD (Ditial currencies including НСМЭП (NSMEP), Единый Кошелек (Unified Purse), TeleMoney, &amp;amp; more)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code, available via BitInstant and AurumXChange)&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney-WMR)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || BTC&amp;lt;br/&amp;gt;BTC (BTC-e redeemble code)&amp;lt;br /&amp;gt;USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD (Webmoney - WMZ)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (PayPal)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (Payza/AlertPay)&amp;lt;br /&amp;gt;USD (Privat, Privat UAH)&amp;lt;br /&amp;gt;USD (Cash deposit into Savings Bank/Sberbank, Telebank, Alfa Bank)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code)&amp;lt;br /&amp;gt;USD (International Wire Transfer)&amp;lt;br /&amp;gt;RUB (Cash delivery, possible in Moscow)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney WMR)&amp;lt;br /&amp;gt;RUB (Яндекс.Деньги Yandex)&amp;lt;br /&amp;gt;RUB (RBK Money)&amp;lt;br /&amp;gt;Cash deposit (into account at Сбербанка России!/Savings Bank/Sberbank, Телебанк (Telebank), and АльфаБанк (Alfa Bank)&amp;lt;br /&amp;gt;RUB (Transfer to credit card VISA &amp;amp; MasterCard)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || {{Table Value Yes}} || Language: English, Russian. Interkassa can be funded from Webmoney and many other methods.&amp;lt;br /&amp;gt;BitInstant Can be funding option includes QIWI, Cyberplat.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Camp BX]] (CBX) || BTC &amp;lt;br/&amp;gt; USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (Personal Check)&amp;lt;br /&amp;gt;USD (USPS Postal money order, Canada Post money order) || BTC&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (ACH Direct Deposit)&amp;lt;br /&amp;gt;USD (USPS Postal Money Order)&amp;lt;br/&amp;gt;USD (Domestic bank wire)&amp;lt;br/&amp;gt;USD (International bank wire) || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Security certification from McAfee&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Advanced trading options with AON/FOK/Market&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;STOPLOSS and Short-Selling in Pipeline&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Trading API available&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Wallet API available &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; CBX Instant Bitcoin Transfers Feature &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Stoploss / Custom Order Expiry Date/Time &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; SMS (Text Message) Notifications &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Two-Factor Authentication &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Based in USA - Atlanta &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[CryptoXchange]]  || BTC&amp;lt;br/&amp;gt;USD (Redeemable code from Mt. Gox)&amp;lt;br /&amp;gt;USD (Redeemable code from CryptoXChange)&amp;lt;br/&amp;gt;USD (BitInstant)&amp;lt;br /&amp;gt;USD (AurumXChange)&amp;lt;br /&amp;gt;AUD (Cash deposit at Westpack)&amp;lt;br/&amp;gt;NMC || BTC&amp;lt;br/&amp;gt;USD (Redeemable code from Mt. Gox)&amp;lt;br /&amp;gt;USD (Redeemable code from CryptoXChange)&amp;lt;br/&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;NMC  || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Buy Gold,Silver,Palladium and Casascius physical bitcoins plus other items in the store.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Affiliate program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Mining Pool integration program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Bitcoin, Namecoin and Litecoin &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Multiple Authentication Levels&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; API &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Free Yubikey&#039;s to High Volume Traders &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; An Australian Owned and Operated Registered Company.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&lt;br /&gt;
Inquiries: contact@cryptoxchanger.com or Phone: +61280050602 &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[Intersango]] || BTC&amp;lt;br /&amp;gt;GBP (bank deposit)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || BTC&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || {{Table Value Yes}} || Operated by the [https://bitcoinconsultancy.com/ BitcoinConsultancy] &amp;lt;br/&amp;gt; [https://intersango.com Intersango] is a completely custom trading platform built from the ground up with security, scalability and extensibility in mind. [https://bitcointalk.org/index.php?topic=43745.0 More Information]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Boasts an [https://bitcoinconsultancy.com/wiki/index.php/Intersango/API ever expanding API].  Started out as [[Britcoin]].&lt;br /&gt;
|-&lt;br /&gt;
|  [[Kapiton.se]]  || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Mercado Bitcoin]] || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer)&amp;lt;br /&amp;gt;BRL (Bank transfer - MoIP)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[MtGox]] || BTC&amp;lt;br/&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;USD (Wire to [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;USD ([[OKPay]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;GBP (Bank wire)&amp;lt;br /&amp;gt;GBP (Cash deposit, Barclays)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Wire via [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || {{Table Value Yes}} || Oldest running exchange. Higest daily volume. Respecting AML laws, Restrictions and limits on withdrawals.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Rock Currency Exchange]] || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla) || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla)  || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[VirtEx]] || BTC&amp;lt;br/&amp;gt;CAD (cash deposit at Royal Bank, Bank of Montreal or ScotiaBank)&amp;lt;br /&amp;gt;CAD (Online bill payment)&amp;lt;br /&amp;gt;CAD (Wire transfer) || BTC&amp;lt;br/&amp;gt;CAD (direct deposit)&amp;lt;br /&amp;gt;CAD (Canada Xpress Post Bank Draft send by mail)&amp;lt;br /&amp;gt;CAD Payza (formerly AlertPay) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirWoX]] || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br/&amp;gt;USD,EUR,GBP (Credit &amp;amp; Debit cards via [[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (DIRECTebanking / Sofortuberweisung)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[paysafecard]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;USD ([[UKash]] vouchers) || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br /&amp;gt;USD,EUR,GBP ([[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || {{Table Value Yes}} || Trading through Second Life Linden Dollars.&amp;lt;br/&amp;gt;Variable limits on PayPal and Credit Card deposits. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fixed Rate Exchanges &amp;amp; Others==&lt;br /&gt;
&lt;br /&gt;
For smaller amounts, the options are limited due to bank transfer fees, conversion fees and transaction size restrictions. Options include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.coinmarket.co.nz/buy The Daktory CoinMarket] || Fixed Rate || NZD (NZ Bank deposit/Cash) || Cash deposit or bank transfer to domestic New Zealand bank.  Cash payment to brokerage.  Guest checkout available.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bit Innovate]] || Fixed Rate || AUD (Cash deposit) || Australian Dollar cash deposit at any Commonwealth Bank.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitInstant]] || Market Rate || USD (Cash deposit at banks, 7-11, Walmart, CVS, Moneygram locations)&amp;lt;br /&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;BRL (Cash deposit at Banco Rendimento or through Boleto)&amp;lt;br /&amp;gt;RUB (Cash deposit through Qiwi or Cyberplat) || Deposit cash at 700,000 locations around the world and have your Bitcoins within 30 minutes. Absolute fastest and easiest way to buy Bitcoins. &lt;br /&gt;
|-&lt;br /&gt;
| [[Coinapult]] || Fixed rate || Use [[BitInstant]] to use cash to purchase bitcoins sent to e-mail or SMS.  Choose &amp;quot;Bitcoin to e-mail&amp;quot; service and enter either e-mail or SMS.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Nordic]] || Fixed Rate || EUR/DKK (SEPA and wire transfer)&amp;lt;BR /&amp;gt;USD/EUR/GBP/DKK/SEK/NOK (Cash or check in the mail)&amp;lt;BR &amp;gt;AED/DZD/EGP/IQD/ILS/JOD/KWD/LGP/LYD/MRO/MYR/NGN/OMR/PKR/QAR/SAR/TRL/TZS/TND/YER ([[CashU]] card)&amp;lt;BR /&amp;gt;MXN/EYU/BOB/BRL/COP/SYP/MAD/GHC/ZAR/CNY/CAD and more ([[UKash]] voucher) || For UKash, redeemed through CashU account.&lt;br /&gt;
|-&lt;br /&gt;
| [https://blockchain.info/wallet/sms-phone-deposits Blockchain.info] ([[BlockChain.info|info]]) || Fixed Rate || USD, BRL, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK || Purchased through [[BitInstant]] (U.S., Brazil, and Russia), Barclay&#039;s Pingit (GBP), or SMS or premium phone call from a mobile. Or Bank Deposit for UK Users.&lt;br /&gt;
|-&lt;br /&gt;
| [[Omnicoins]] || Fixed Rate || AUD (Cash deposit) || Deposit cash at any Commonwealth, NAB, or Westpac branch.&lt;br /&gt;
|-&lt;br /&gt;
| [[Spend Bitcoins]] || Fixed Rate || AUD (Cash deposit) || AUD cash deposit at NAB, Commonwealth Bank, Westpac and ANZ.&lt;br /&gt;
|-&lt;br /&gt;
| [[Quick Bitcoins]] || Fixed Rate || USD (Cash in the mail)&amp;lt;br /&amp;gt;USD (Prepaid debit card in the mail)&amp;lt;br /&amp;gt;USD (Money order via mail)&amp;lt;br /&amp;gt;USD (Cashier check by mail)&amp;lt;br /&amp;gt;USD (Cash deposit at a bank, 7-11, Walmart, CVS)&amp;lt;br /&amp;gt;USD (MoneyGram or Western Union)&amp;lt;br /&amp;gt;EUR (VISA/MasterCard credit card)&amp;lt;br /&amp;gt;EUR (Cash in the mail)&amp;lt;br /&amp;gt;EUR (Perpaid debit card in the mail) || U.S. mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [https://bitcoinmylife.com/jml/buy-bitcoins BitcoinMyLife] &amp;lt;br /&amp;gt; ([[BitcoinMyLife|info]]) || Fixed Rate || EUR (SEPA bank transfer) || Simple and Safe.&amp;lt;br /&amp;gt;Pay first transaction fee with Twitter or Facebook post.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.de]] || Market || EUR (bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Liberty Reserve)&amp;lt;br /&amp;gt;EUR ([[Skrill]]/Moneybookers) || Varies (person to person)&amp;lt;br /&amp;gt;0.01 free Bitcoins for every new user&amp;lt;br /&amp;gt;eWallet&amp;lt;br /&amp;gt;Affiliate program&amp;lt;br /&amp;gt;Language: German, Englisch&amp;lt;br/&amp;gt; News&lt;br /&gt;
|-&lt;br /&gt;
| [[Blizzcoin]] || Fixed Rate || EUR (SEPA bank transfer) || Buy Bitcoins within minutes. Instant exchange. &amp;lt;br /&amp;gt;No registration.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.eu]] || Market || EUR (Euro)&amp;lt;br /&amp;gt;GBP (British Sterling Pound)&amp;lt;br /&amp;gt;USD (U.S. Dollar)&amp;lt;br&amp;gt;PLN (Polish złoty)&amp;lt;br /&amp;gt;AUD (Australian Dollar)&amp;lt;br /&amp;gt;CAD (Canadian Dollar)&amp;lt;br /&amp;gt;ZAR (South African Rand)&amp;lt;br /&amp;gt;ILS (Israeli Shekel)&amp;lt;br /&amp;gt;CHF (Swiss Franc)&amp;lt;br&amp;gt;RUB (Russian Ruble) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoiny.cz]] || Market || CZK || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Mr Bitcoins|Mr. Bitcoins]]|| Fixed Rate || AUD (Cash deposit - Westpack and Commonwealth Bank)&amp;lt;br /&amp;gt;USD (Major banks, 7-11, Walmart, CVS)&amp;lt;br /&amp;gt;RUB (Qiwi and Cyberplat through BitInstant)&amp;lt;br /&amp;gt;BRL (Boleto through BitInstant)&amp;lt;br /&amp;gt;INR (Cash deposit - HDFC Bank)|| 100% Anonymous Cash Deposits&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCX.se]] || Fixed Rate || SEK || Transfer to and banks in Sweden.&lt;br /&gt;
|-&lt;br /&gt;
| [[BTC China]] || Fixed Rate || USD (Liberty Reserve) || Converted to CNY for trading. &lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.co]] || Market || COP (Colombian Peso) || Varies (person to person)&lt;br /&gt;
|- &lt;br /&gt;
| [[bitcoin-otc|#bitcoin-otc]] || [http://bitcoin-otc.com/vieworderbook.php Order Book] || Varies (person to person) || IRC trading marketplace will usually have people willing to deal for small and larger amounts using various payment methods, including [[PayPal]], [[Dwolla]], [[Linden Dollars]], etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Canadian Bitcoins]] || Fixed Rate || CAD (Cash - XpressPost or Dropoff)&amp;lt;br /&amp;gt;USD (Cash - Courier: UPS, FedEx, etc.) || For dropoff, office in Ottawa.&lt;br /&gt;
|-&lt;br /&gt;
| [https://dgtmkt.com Dgtmkt] ([[Dgtmkt|info]]) || Fixed Rate || Malaysian Ringgit (MYR)&amp;lt;br /&amp;gt;Online bank transfers (Maybank2U, CIMB, MEPS, etc)&amp;lt;br /&amp;gt;E-vouchers (Web Cash, Mobile Money) || Bitcoin merchant for Malaysians, dealing in Malaysian Ringgit. Fully automated immediate transfers. https://dgtmkt.com&lt;br /&gt;
|-&lt;br /&gt;
| [[Lilion Transfer]] || Fixed Rate || Bank Transfer: USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, BGN, HRK, RUB, SEK, NOK, DKK, LTL, LVL&amp;lt;br /&amp;gt; Liberty Reserve&amp;lt;br /&amp;gt;Perfect Money&amp;lt;br /&amp;gt;Monetto&amp;lt;br /&amp;gt;OK Pay&amp;lt;br /&amp;gt;Cosmic Pay&amp;lt;br /&amp;gt;Pecunix&amp;lt;br /&amp;gt;C-Gold&amp;lt;br /&amp;gt;E-Pay Payments&amp;lt;br /&amp;gt;PayPal|| 122 accounts worldwide.&amp;lt;br /&amp;gt; Support in 30 languages&lt;br /&gt;
|-&lt;br /&gt;
| [[Nanaimo Gold]] || Fixed Rate || USD (Liberty Reserve)&amp;lt;br /&amp;gt;Western Union money transfer&amp;lt;br /&amp;gt;Moneygram money transfer&amp;lt;br /&amp;gt;Cash in the mail || LR &amp;lt;--&amp;gt; Bitcoin exchange is automated&amp;lt;br /&amp;gt;For cash in the mail send USD, EUR, CAD, or GBP.  Canada mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Argentina]] || Fixed Rate || Cash: ARS, BRL, USD &amp;lt;br /&amp;gt; Bank transfer: ARS || No exchange fees!&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin.com.es]] || Fixed Rate || EUR (bank deposit) || Bank transfer or cash deposits at OpenBank in Spain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bahtcoin]] || Fixed Rate || Cash, Webmoney&amp;lt;br /&amp;gt;Liberty Reserve USD || Will cash out to Thai mobile and gaming prepaid cards as well.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Brasil]] || Fixed Rate || BRL (Brazilian Real)&amp;lt;br /&amp;gt;USD || Cash exchange&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPiggy]] || Fixed Rate || AUD (Australian Dollar)|| Payment via bank transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.local]] || Directory || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[bcchanger.com]] || Directory || Enables person to person purchases and sales via PayPal, [[Skrill]]/Moneybookers and other e-currency platforms ||&lt;br /&gt;
|-&lt;br /&gt;
| [[anonXchange]] || Fixed Rate || EUR&amp;lt;br /&amp;gt;GBP || Liberty Reserve, Paysafecard and Ukash to Bitcoin&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoil]] || Fixed Rate || ILS (bank transfer) ||&lt;br /&gt;
|- &lt;br /&gt;
|[[btcnow]] || Market || USD (OKPay, Dwolla) ||  bitcoins transferred instantly&lt;br /&gt;
|-&lt;br /&gt;
| [http://localbitcoins.com LocalBitcoins.com] || Directory || Varies (person to person)&amp;lt;br/&amp;gt;Physical cash locally || Find your local bitcoin dealer! With dynamic pricing with equations.&lt;br /&gt;
|-&lt;br /&gt;
| [[WM-Center]] || Fixed rate || BTC&amp;lt;br/&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP || 24/7/365 support in English, Spanish and Russian.&lt;br /&gt;
|-&lt;br /&gt;
| [[ECurrencyZone]] || Fixed Rate || BTC&amp;lt;br/&amp;gt;INR (Cash deposit of Indian rupee)&amp;lt;br /&amp;gt;BDT (Cash deposit of Bangladeshi taka)&amp;lt;br /&amp;gt;NPR (Cash deposit of Nepalese rupee)&amp;lt;br /&amp;gt;MYR (Cash deposit of Malaysian ringitt)&amp;lt;br /&amp;gt;SGD (Cash deposit of Singaporean dollar)&amp;lt;br /&amp;gt;SGD (Net/Bank transfer)&amp;lt;br /&amp;gt;USD (Western Union, Moneygram, Citibank global funds transfer, OKPay)&amp;lt;br /&amp;gt;USD (Liberty Reserve, Mt. Gox redeemable code) || Bank transfer considered at all locations with prior approval.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitCoinVend]] || Market || BTC&amp;lt;br/&amp;gt;USD (PayPal) || bitcoinvend@gmail.com, market variable with commission, quote based, verified paypal account with anti scammer verification&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoins In Berlin]] || Fixed Rate || EUR (Cash in-the mail)&amp;lt;br /&amp;gt;EUR (Cash in-person trade)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Mt. Gox [[redeemable code]])&amp;lt;br /&amp;gt;EUR (Western Union) || Cash in-the-mail is to a Berlin P.O. box. In-person trade is in Berlin.&lt;br /&gt;
|-&lt;br /&gt;
| [[Mang Sweeney]] || Fixed Rate || PHP (Cash)&amp;lt;br /&amp;gt;PHP (Cash deposit at bank) || Languages: English, Pinoy.&amp;lt;br /&amp;gt;PHP [https://localbitcoins.com/accounts/profile/mangsweeney cash trade method] in metro Manilla, Philappines.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcoinvender.yolasite.com/ Bitcoin Vender] || Fixed Rate|| USD (Credit Card)&amp;lt;br/&amp;gt;USD (Debit Card)&amp;lt;BR /&amp;gt;|| Buy bitcoins with your credit or debit card&lt;br /&gt;
|-&lt;br /&gt;
| [http://mercabit.eu mercaBit.eu] || Fixed Rate|| EUR (ukash)&amp;lt;br/&amp;gt;EUR (paysafecard)&amp;lt;br/&amp;gt;EUR (neosurf)&amp;lt;br/&amp;gt;EUR (halcash)&amp;lt;br/&amp;gt;EUR (teleingreso)&amp;lt;br/&amp;gt;|| Buy bitcoins with ukash and more&lt;br /&gt;
|-&lt;br /&gt;
| [http://buyBTC.cz buyBTC.cz] ([[buyBTC.cz|info]]) || Fixed Rate|| CZK (Domestic bank transfer)&amp;lt;br /&amp;gt;EUR (Bank transfer) || Buy bitcoins from the Czech Republic.&lt;br /&gt;
|-&lt;br /&gt;
| [http://InstaWire.com InstaWire.com] ([[InstaWire|info]]) || Fixed Rate|| EUR (SEPA bank transfer) || No sign-up, just enter the amount and a Bitcoin address.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitonic.nl Bitonic.nl] || Fixed Rate|| EUR (iDeal) || Buy bitcoins instantly from the Netherlands.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.dragons.tl Dragon&#039;s Tale] ([[Dragon&#039;s Tale|info]]) || Other || Credit card (except in the U.S.)  || Purchase bitcoins through this MMO casino with credit card, withdraw bitcoins (though a fee applies if withdrawn and no casino play.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Direct / Bulk Buying==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=87094.0 Bitcoins Direct] || Direct purchases, $500 to $5,000 USD. || USD (Cash deposit at B of A, Wells Fargo or PNC Bank&amp;lt;br /&amp;gt;USD (Bank wire, domestic or international)&amp;lt;br /&amp;gt;USD (Cashier check, by mail)&amp;lt;br /&amp;gt;USD (Liberty Reserve) || BTC || Inventory varies based on market conditions.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=89757.msg996082#msg996082 BitPay] ([[BitPay|info]]) || Direct purchases, $10,000 USD and higher || USD (Bank wire, domestic or international) || BTC || Contact for other payment methods. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Financial Services==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Settled || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEx]] || Buy / Sell / Exercise CALLs / PUTs, American style.&amp;lt;br /&amp;gt;52 strikes offered (by .5), current month + 2.&amp;lt;br /&amp;gt; No shorting available yet.|| BTC || BTC || Transactions encoded via amt.&amp;lt;br /&amp;gt; Must use non-rounding client&amp;lt;br /&amp;gt;(0.3.24 or later)&lt;br /&gt;
|-&lt;br /&gt;
| [https://vircurex.com Vircurex] || Buy / Sell Options&amp;lt;br/&amp;gt;Loan / Borrow || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Physical Bitcoins==&lt;br /&gt;
&lt;br /&gt;
Physical Bitcoins are bearer tokens that have an embedded redeemable digital bitcoin value if torn open.  While they are somewhat expensive if bought purely for the digital bitcoins, they are relatively easy to get, because they can be purchased with PayPal or credit card - payment methods not typically not accepted for pure digital bitcoin purchases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.memorydealers.com Memory Dealers] || Casascius Physical Bitcoins || USD (PayPal/Credit Card) || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.casascius.com Casascius.com] || Casascius Physical Bitcoins || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.giftcoin.net/card Bitcoin Gift Card] || Bitcioin Gift Card Physical Bitcoin Issued By GiftCoin || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bitbills.com Bitbills] || Bitbills cards || BTC || Not taking orders as of Nov 2011.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Digital_currencies|Digital Currencies]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Secure Trading]]&lt;br /&gt;
* [[:Category:Local|Local]] exchanges&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[zh-cn:购买bitcoins]]&lt;br /&gt;
[[ru:Приобретение биткойнов]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_Bitcoins_(the_newbie_version)&amp;diff=31633</id>
		<title>Buying Bitcoins (the newbie version)</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_Bitcoins_(the_newbie_version)&amp;diff=31633"/>
		<updated>2012-10-07T07:00:22Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page aims to be the best resource for new users to understand how to buy Bitcoins.&lt;br /&gt;
The existing [[Buying bitcoins]] page is too complex, and not noob-friendly.&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
[http://bitcoin.stackexchange.com/questions/2293/how-can-i-buy-bitcoin-via-a-credit-card-or-paypal You can&#039;t reliably buy Bitcoins using PayPal or credit cards], because it is risky for the seller, and therefore few sellers will offer this. There are several ways, depending on your location. Many sellers online will trade bitcoins for moneypak codes. See http://www.moneypak.com/&lt;br /&gt;
&lt;br /&gt;
=== Finding a direct seller online ===&lt;br /&gt;
If you can find another person that is willing to sell them to you, you can transfer him money via whatever method (including PayPal), and he&#039;ll send you the Bitcoins. The following websites can be used to find direct sellers online  [[Bitcoin OTC]], [https://www.bitcoinary.com/ Bitcoinary] or the [https://bitcointalk.org/index.php?board=53.0 Currency Exchange Forum Section]&lt;br /&gt;
&lt;br /&gt;
=== Physical Trading ===&lt;br /&gt;
You might be able to find an individual you can [https://localbitcoins.com Buy bitcoins from locally].&lt;br /&gt;
&lt;br /&gt;
=== Bitinstant ===&lt;br /&gt;
You can buy Bitcoins via cash deposit or bank transfer using [[BitInstant]]. Here is a video tutorial explaining BitInstant: http://vimeo.com/44849463&lt;br /&gt;
&lt;br /&gt;
=== Exchanges ===&lt;br /&gt;
The largest and most trusted exchange is [[MtGox]]. For a list of other major exchanges see [[Buying_bitcoins#Major_Exchanges|Major Exchanges]]&lt;br /&gt;
&lt;br /&gt;
=== PingIt (UK) ===&lt;br /&gt;
UK users can use [https://blockchain.info/wallet/deposit-pingit Barclays PingIt] to purchase bitcoins from blockchain.info.&lt;br /&gt;
&lt;br /&gt;
== Avoiding Scams ==&lt;br /&gt;
Before using any service it is a good idea to look for reviews and feedback from previous customers. This can be done by simply googling the name of the website or company. The bitcointalk forums are also a good place to find discussions and reviews about services. &lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://bitcoin.stackexchange.com/questions/91/how-do-you-obtain-bitcoins&lt;br /&gt;
* http://bitcoin.stackexchange.com/questions/4194/whats-the-best-way-to-buy-bitcoin-noob-friendly&lt;br /&gt;
* [[Buying bitcoins]]&lt;br /&gt;
* http://www.reddit.com/r/Bitcoin/comments/nzg4o/the_canonical_newbie_guide_to_bitcoin/c3d5tmc&lt;br /&gt;
&lt;br /&gt;
[[Category:Introduction]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=31040</id>
		<title>Buying bitcoins</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=31040"/>
		<updated>2012-09-19T13:36:22Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are various methods available for buying bitcoins. See [[Buying Bitcoins (the noob version)|here for a Noob-friendly version]] of this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: Please be careful with your money.  When sending money to an exchange or seller you are trusting that the operator will not abscond with your funds and that the operator maintains secure systems that protect against theft -- internal or external.  It is recommended that you obtain the real-world identity of the operator and ensure that sufficient recourse is available.  Exchanging or storing significant amounts of funds with exchanges is not recommended.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Major Exchanges==&lt;br /&gt;
&lt;br /&gt;
The least expensive methods for buying bitcoins involve transferring funds using a bank wire, ACH, bank transfer (ACH, EUR / SEPA).&lt;br /&gt;
&lt;br /&gt;
Exchanges are listed in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Exchange || Adding Funds || Withdrawing Funds || [[eWallet]] || Notes&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-24]] || BTC&amp;lt;br/&amp;gt;USD ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;EUR ([[MtGox]] redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (Credit card through LiqPay)&amp;lt;br /&amp;gt;EUR (Sofortuberweisung) || BTC&amp;lt;br/&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (VouchX redeemable code)&amp;lt;br /&amp;gt;USD (VouchX redeemable code)&amp;lt;br /&amp;gt;EUR (BTC24 redeemable code)&amp;lt;br /&amp;gt;USD (BTC24 redeemable code&amp;lt;br /&amp;gt;USD ([[Skrill]]/Moneybookers) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-Central]] || BTC&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;PGAU [[Pecunix]] Gold || BTC&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;[[Pecunix]] Gold || {{Table Value Yes}} || [https://github.com/davout/bitcoin-central Open-source], community reviewed platform&amp;lt;br /&amp;gt;Available in French and English languages&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitfloor]] || BTC&amp;lt;br/&amp;gt;USD (Cash deposit at Chase, Wells Fargo)&amp;lt;br /&amp;gt;USD (bank wire transfer)&amp;lt;br /&amp;gt;USD (ING Person2Person) || BTC&amp;lt;br/&amp;gt;USD (ACH, direct deposit) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[BitMe]] || BTC&amp;lt;br/&amp;gt;USD (AurumXchange VouchX)&amp;lt;br/&amp;gt;USD (Cash Deposits)&amp;lt;br/&amp;gt;USD (Wire Transfer - US)&amp;lt;br/&amp;gt;USD (Wire Transfer - International) || BTC&amp;lt;br/&amp;gt;USD (AurumXchange VouchX)&amp;lt;br/&amp;gt;USD (Direct Deposit)&amp;lt;br/&amp;gt;USD (Wire Transfer - US)&amp;lt;br/&amp;gt;USD (Wire Transfer - International)( || {{ Table Value Yes }} || &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;US-based&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Liquidity rebates&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[https://github.com/bitme BitMe&#039;s GitHub]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[http://bitme.github.com/rest/ REST API]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[bitNZ]] || BTC&amp;lt;br/&amp;gt;NZD (Cash depost as Westbank) || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitstamp]] || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || {{Table Value Yes}} || EUR and CHF deposits converted to/from USD for trading&lt;br /&gt;
|-&lt;br /&gt;
|  [[Brasil Bitcoin Market]] || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[BTC-E]] || BTC&amp;lt;br /&amp;gt;BTC (BTC-e redeemable code)&amp;lt;br /&amp;gt;USD (Cash deposit at Post of Russia)&amp;lt;br /&amp;gt;USD (Cash deposit at banks including Privatbank, Savings Bank of Russia (Sberbank), RU/UA Terminals, &amp;amp; more)&amp;lt;br /&amp;gt;USD ([[Liberty Reserve]])&amp;lt;br /&amp;gt;USD (Interkassa)&amp;lt;br /&amp;gt;USD (WebMoney - WMZ)&amp;lt;br /&amp;gt;USD (Yandex)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (RBK Money)&amp;lt;br /&amp;gt;USD (Ditial currencies including НСМЭП (NSMEP), Единый Кошелек (Unified Purse), TeleMoney, &amp;amp; more)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code, available via BitInstant and AurumXChange)&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney-WMR)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || BTC&amp;lt;br/&amp;gt;BTC (BTC-e redeemble code)&amp;lt;br /&amp;gt;USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD (Webmoney - WMZ)&amp;lt;br /&amp;gt;USD (Perfect Money)&amp;lt;br /&amp;gt;USD (LiqPay)&amp;lt;br /&amp;gt;USD (QIWI)&amp;lt;br /&amp;gt;USD (PayPal)&amp;lt;br /&amp;gt;USD (OKPay)&amp;lt;br /&amp;gt;USD (Payza/AlertPay)&amp;lt;br /&amp;gt;USD (Privat, Privat UAH)&amp;lt;br /&amp;gt;USD (Cash deposit into Savings Bank/Sberbank, Telebank, Alfa Bank)&amp;lt;br /&amp;gt;USD (BTC-e Redeemable Code)&amp;lt;br /&amp;gt;USD (International Wire Transfer)&amp;lt;br /&amp;gt;RUB (Cash delivery, possible in Moscow)&amp;lt;br /&amp;gt;RUB (QIWI)&amp;lt;br /&amp;gt;RUB (LiqPay)&amp;lt;br /&amp;gt;RUB (WebMoney WMR)&amp;lt;br /&amp;gt;RUB (Яндекс.Деньги Yandex)&amp;lt;br /&amp;gt;RUB (RBK Money)&amp;lt;br /&amp;gt;Cash deposit (into account at Сбербанка России!/Savings Bank/Sberbank, Телебанк (Telebank), and АльфаБанк (Alfa Bank)&amp;lt;br /&amp;gt;RUB (Transfer to credit card VISA &amp;amp; MasterCard)&amp;lt;br /&amp;gt;RUB (BTC-e Redeemable code)&amp;lt;br /&amp;gt;RUB (Bank transfer) || {{Table Value Yes}} || Language: English, Russian. Interkassa can be funded from Webmoney and many other methods.&amp;lt;br /&amp;gt;BitInstant Can be funding option includes QIWI, Cyberplat.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Camp BX]] (CBX) || BTC &amp;lt;br/&amp;gt; USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (Personal Check)&amp;lt;br /&amp;gt;USD (USPS Postal money order, Canada Post money order) || BTC&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br/&amp;gt;USD (ACH Direct Deposit)&amp;lt;br /&amp;gt;USD (USPS Postal Money Order)&amp;lt;br/&amp;gt;USD (Domestic bank wire)&amp;lt;br/&amp;gt;USD (International bank wire) || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Security certification from McAfee&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Advanced trading options with AON/FOK/Market&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;STOPLOSS and Short-Selling in Pipeline&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Trading API available&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Wallet API available &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; CBX Instant Bitcoin Transfers Feature &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Stoploss / Custom Order Expiry Date/Time &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; SMS (Text Message) Notifications &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Two-Factor Authentication &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Based in USA - Atlanta &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[CryptoXchange]]  || BTC&amp;lt;br/&amp;gt;USD (Redeemable code from Mt. Gox)&amp;lt;br /&amp;gt;USD (Redeemable code from CryptoXChange)&amp;lt;br/&amp;gt;USD (BitInstant)&amp;lt;br /&amp;gt;USD (AurumXChange)&amp;lt;br /&amp;gt;AUD (Cash deposit at Westpack)&amp;lt;br/&amp;gt;NMC || BTC&amp;lt;br/&amp;gt;USD (Redeemable code from Mt. Gox)&amp;lt;br /&amp;gt;USD (Redeemable code from CryptoXChange)&amp;lt;br/&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;NMC  || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Buy Gold,Silver,Palladium and Casascius physical bitcoins plus other items in the store.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Affiliate program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Mining Pool integration program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Bitcoin, Namecoin and Litecoin &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Multiple Authentication Levels&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; API &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Free Yubikey&#039;s to High Volume Traders &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; An Australian Owned and Operated Registered Company.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&lt;br /&gt;
Inquiries: contact@cryptoxchanger.com or Phone: +61280050602 &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[Intersango]] || BTC&amp;lt;br /&amp;gt;GBP (bank deposit)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || BTC&amp;lt;br /&amp;gt;GBP (bank transfer)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || {{Table Value Yes}} || Operated by the [https://bitcoinconsultancy.com/ BitcoinConsultancy] &amp;lt;br/&amp;gt; [https://intersango.com Intersango] is a completely custom trading platform built from the ground up with security, scalability and extensibility in mind. [https://bitcointalk.org/index.php?topic=43745.0 More Information]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Boasts an [https://bitcoinconsultancy.com/wiki/index.php/Intersango/API ever expanding API].  Started out as [[Britcoin]].&lt;br /&gt;
|-&lt;br /&gt;
|  [[Kapiton.se]]  || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || BTC&amp;lt;br/&amp;gt;SEK (Bankgiro Bank Transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Mercado Bitcoin]] || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer)&amp;lt;br /&amp;gt;BRL (Bank transfer - MoIP)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[MtGox]] || BTC&amp;lt;br/&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;USD (Wire to [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;GBP (Bank wire)&amp;lt;br /&amp;gt;GBP (Cash deposit, Barclays)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Wire via [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || {{Table Value Yes}} || Oldest running exchange. Higest daily volume. Respecting AML laws, Restrictions and limits on withdrawals.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Rock Currency Exchange]] || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla) || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla)  || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[VirtEx]] || BTC&amp;lt;br/&amp;gt;CAD (cash deposit at Royal Bank, Bank of Montreal or ScotiaBank)&amp;lt;br /&amp;gt;CAD (Online bill payment)&amp;lt;br /&amp;gt;CAD (Wire transfer) || BTC&amp;lt;br/&amp;gt;CAD (direct deposit)&amp;lt;br /&amp;gt;CAD (Canada Xpress Post Bank Draft send by mail)&amp;lt;br /&amp;gt;CAD Payza (formerly AlertPay) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirWoX]] || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br/&amp;gt;USD,EUR,GBP (Credit &amp;amp; Debit cards via [[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (DIRECTebanking / Sofortuberweisung)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[paysafecard]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br /&amp;gt;USD,EUR,GBP ([[Skrill]]/Moneybookers)&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || {{Table Value Yes}} || Trading through Second Life Linden Dollars.&amp;lt;br/&amp;gt;Variable limits on PayPal and Credit Card deposits. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fixed Rate Exchanges &amp;amp; Others==&lt;br /&gt;
&lt;br /&gt;
For smaller amounts, the options are limited due to bank transfer fees, conversion fees and transaction size restrictions. Options include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[Bit Innovate]] || Fixed Rate || AUD (Cash deposit) || Australian Dollar cash deposit at any Commonwealth Bank.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitInstant]] || Market Rate || USD (Cash deposit at banks, 7-11, Walmart, CVS, Moneygram locations)&amp;lt;br /&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;BRL (Cash deposit at Banco Rendimento or through Boleto)&amp;lt;br /&amp;gt;RUB (Cash deposit through Qiwi or Cyberplat) || Deposit cash at 700,000 locations around the world and have your Bitcoins within 30 minutes. Absolute fastest and easiest way to buy Bitcoins. &lt;br /&gt;
|-&lt;br /&gt;
| [[Coinapult]] || Fixed rate || Use [[BitInstant]] to use cash to purchase bitcoins sent to e-mail or SMS.  Choose &amp;quot;Bitcoin to e-mail&amp;quot; service and enter either e-mail or SMS.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Nordic]] || Fixed Rate || EUR/DKK (SEPA and wire transfer)&amp;lt;BR /&amp;gt;USD/EUR/GBP/DKK/SEK/NOK (Cash or check in the mail)&amp;lt;BR &amp;gt;AED/DZD/EGP/IQD/ILS/JOD/KWD/LGP/LYD/MRO/MYR/NGN/OMR/PKR/QAR/SAR/TRL/TZS/TND/YER ([[CashU]] card)&amp;lt;BR /&amp;gt;MXN/EYU/BOB/BRL/COP/SYP/MAD/GHC/ZAR/CNY/CAD and more ([[UKash]] voucher) || For UKash, redeemed through CashU account.&lt;br /&gt;
|-&lt;br /&gt;
| [https://blockchain.info/wallet/sms-phone-deposits Blockchain.info] || Fixed Rate || USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK || Purchased using SMS or premium phone call from a mobile. Or Bank Deposit for UK Users.&lt;br /&gt;
|-&lt;br /&gt;
| [[Omnicoins]] || Fixed Rate || AUD (Cash deposit) || Deposit cash at any Commonwealth, NAB, or Westpac branch.&lt;br /&gt;
|-&lt;br /&gt;
| [[Spend Bitcoins]] || Fixed Rate || AUD (Cash deposit) || AUD cash deposit at NAB, Commonwealth Bank, Westpac and ANZ.&lt;br /&gt;
|-&lt;br /&gt;
| [[Quick Bitcoins]] || Fixed Rate || USD (Cash in the mail)&amp;lt;br /&amp;gt;USD (Prepaid debit card in the mail)&amp;lt;br /&amp;gt;USD (Money order via mail)&amp;lt;br /&amp;gt;USD (Cashier check by mail)&amp;lt;br /&amp;gt;USD (Cash deposit at a bank, 7-11, Walmart, CVS)&amp;lt;br /&amp;gt;USD (MoneyGram or Western Union)&amp;lt;br /&amp;gt;EUR (VISA/MasterCard credit card)&amp;lt;br /&amp;gt;EUR (Cash in the mail)&amp;lt;br /&amp;gt;EUR (Perpaid debit card in the mail) || U.S. mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.de]] || Market || EUR (bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Liberty Reserve)&amp;lt;br /&amp;gt;EUR ([[Skrill]]/Moneybookers) || Varies (person to person)&amp;lt;br /&amp;gt;0.01 free Bitcoins for every new user&amp;lt;br /&amp;gt;eWallet&amp;lt;br /&amp;gt;Affiliate program&amp;lt;br /&amp;gt;Language: German, Englisch&amp;lt;br/&amp;gt; News&lt;br /&gt;
|-&lt;br /&gt;
| [[Blizzcoin]] || Fixed Rate || EUR (SEPA bank transfer) || Buy Bitcoins within minutes. Instant exchange. &amp;lt;br /&amp;gt;No registration.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.eu]] || Market || EUR (Euro)&amp;lt;br /&amp;gt;GBP (British Sterling Pound)&amp;lt;br /&amp;gt;USD (U.S. Dollar)&amp;lt;br&amp;gt;PLN (Polish złoty)&amp;lt;br /&amp;gt;AUD (Australian Dollar)&amp;lt;br /&amp;gt;CAD (Canadian Dollar)&amp;lt;br /&amp;gt;ZAR (South African Rand)&amp;lt;br /&amp;gt;ILS (Israeli Shekel)&amp;lt;br /&amp;gt;CHF (Swiss Franc)&amp;lt;br&amp;gt;RUB (Russian Ruble) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoiny.cz]] || Market || CZK || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Mr Bitcoins|Mr. Bitcoins]]|| Fixed Rate || AUD (Cash deposit - Westpack and Commonwealth Bank)&amp;lt;br /&amp;gt;USD (Major banks, 7-11, Walmart, CVS)&amp;lt;br /&amp;gt;RUB (Qiwi and Cyberplat through BitInstant)&amp;lt;br /&amp;gt;BRL (Boleto through BitInstant)&amp;lt;br /&amp;gt;INR (Cash deposit - HDFC Bank)|| 100% Anonymous Cash Deposits&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCX.se]] || Fixed Rate || SEK || Transfer to and banks in Sweden.&lt;br /&gt;
|-&lt;br /&gt;
| [[BTC China]] || Fixed Rate || USD (Liberty Reserve) || Converted to CNY for trading. &lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.co]] || Market || COP (Colombian Peso) || Varies (person to person)&lt;br /&gt;
|- &lt;br /&gt;
| [[bitcoin-otc|#bitcoin-otc]] || [http://bitcoin-otc.com/vieworderbook.php Order Book] || Varies (person to person) || IRC trading marketplace will usually have people willing to deal for small and larger amounts using various payment methods, including [[PayPal]], [[Dwolla]], [[Linden Dollars]], etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Canadian Bitcoins]] || Fixed Rate || CAD (Cash - XpressPost or Dropoff)&amp;lt;br /&amp;gt;USD (Cash - Courier: UPS, FedEx, etc.) || For dropoff, office in Ottawa.&lt;br /&gt;
|-&lt;br /&gt;
| [https://dgtmkt.com Dgtmkt] ([[Dgtmkt|info]]) || Fixed Rate || Malaysian Ringgit (MYR)&amp;lt;br /&amp;gt;Online bank transfers (Maybank2U, CIMB, MEPS, etc)&amp;lt;br /&amp;gt;E-vouchers (Web Cash, Mobile Money) || Bitcoin merchant for Malaysians, dealing in Malaysian Ringgit. Fully automated immediate transfers. https://dgtmkt.com&lt;br /&gt;
|-&lt;br /&gt;
| [[Lilion Transfer]] || Fixed Rate || Bank Transfer: USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, BGN, HRK, RUB, SEK, NOK, DKK, LTL, LVL&amp;lt;br /&amp;gt; Liberty Reserve&amp;lt;br /&amp;gt;Perfect Money&amp;lt;br /&amp;gt;Monetto&amp;lt;br /&amp;gt;OK Pay&amp;lt;br /&amp;gt;Cosmic Pay&amp;lt;br /&amp;gt;Pecunix&amp;lt;br /&amp;gt;C-Gold&amp;lt;br /&amp;gt;E-Pay Payments&amp;lt;br /&amp;gt;PayPal|| 122 accounts worldwide.&amp;lt;br /&amp;gt; Support in 30 languages&lt;br /&gt;
|-&lt;br /&gt;
| [[Nanaimo Gold]] || Fixed Rate || USD (Liberty Reserve)&amp;lt;br /&amp;gt;Western Union money transfer&amp;lt;br /&amp;gt;Moneygram money transfer&amp;lt;br /&amp;gt;Cash in the mail || LR &amp;lt;--&amp;gt; Bitcoin exchange is automated&amp;lt;br /&amp;gt;For cash in the mail send USD, EUR, CAD, or GBP.  Canada mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Argentina]] || Fixed Rate || Cash: ARS, BRL, USD &amp;lt;br /&amp;gt; Bank transfer: ARS || No exchange fees!&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin.com.es]] || Fixed Rate || EUR (bank deposit) || Bank transfer or cash deposits at OpenBank in Spain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bahtcoin]] || Fixed Rate || Cash, Webmoney&amp;lt;br /&amp;gt;Liberty Reserve USD || Will cash out to Thai mobile and gaming prepaid cards as well.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Brasil]] || Fixed Rate || BRL (Brazilian Real)&amp;lt;br /&amp;gt;USD || Cash exchange&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPiggy]] || Fixed Rate || AUD (Australian Dollar)|| Payment via bank transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[GetBitcoin]] || Fixed Rate || USD (Dwolla)&amp;lt;BR /&amp;gt;USD (Cash deposit, through [[BitInstant]])&amp;lt;br /&amp;gt;USD (Cash in the mail)&amp;lt;BR /&amp;gt;USD (Money Order)&amp;lt;BR /&amp;gt;USD (Cashier&#039;s Check/Certified Check)&amp;lt;BR /&amp;gt;USD (Moneygram through [[BitInstant]])&amp;lt;BR /&amp;gt;USD (Traveler&#039;s Check)&amp;lt;BR /&amp;gt;USD (Prepaid Debit Card)&amp;lt;BR /&amp;gt; || For cash in mail, send USD. U.S. mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.local]] || Directory || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[bcchanger.com]] || Directory || Enables person to person purchases and sales via PayPal, [[Skrill]]/Moneybookers and other e-currency platforms ||&lt;br /&gt;
|-&lt;br /&gt;
| [[anonXchange]] || Fixed Rate || EUR&amp;lt;br /&amp;gt;GBP || Liberty Reserve, Paysafecard and Ukash to Bitcoin&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoil]] || Fixed Rate || ILS (bank transfer) ||&lt;br /&gt;
|- &lt;br /&gt;
|[[btcnow]] || Market || USD (OKPay, Dwolla) ||  bitcoins transferred instantly&lt;br /&gt;
|-&lt;br /&gt;
| [http://localbitcoins.com LocalBitcoins.com] || Directory || Varies (person to person)&amp;lt;br/&amp;gt;Physical cash locally || Find your local bitcoin dealer! With dynamic pricing with equations.&lt;br /&gt;
|-&lt;br /&gt;
| [[WM-Center]] || Fixed rate || BTC&amp;lt;br/&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP || 24/7/365 support in English, Spanish and Russian.&lt;br /&gt;
|-&lt;br /&gt;
| [[ECurrencyZone]] || Fixed Rate || BTC&amp;lt;br/&amp;gt;INR (Cash deposit of Indian rupee)&amp;lt;br /&amp;gt;BDT (Cash deposit of Bangladeshi taka)&amp;lt;br /&amp;gt;NPR (Cash deposit of Nepalese rupee)&amp;lt;br /&amp;gt;MYR (Cash deposit of Malaysian ringitt)&amp;lt;br /&amp;gt;SGD (Cash deposit of Singaporean dollar)&amp;lt;br /&amp;gt;SGD (Net/Bank transfer)&amp;lt;br /&amp;gt;USD (Western Union, Moneygram, Citibank global funds transfer, OKPay)&amp;lt;br /&amp;gt;USD (Liberty Reserve, Mt. Gox redeemable code) || Bank transfer considered at all locations with prior approval.&lt;br /&gt;
|-&lt;br /&gt;
| [[BitCoinVend]] || Market || BTC&amp;lt;br/&amp;gt;USD (PayPal) || bitcoinvend@gmail.com, market variable with commission, quote based, verified paypal account with anti scammer verification&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoins In Berlin]] || Fixed Rate || EUR (Cash in-the mail)&amp;lt;br /&amp;gt;EUR (Cash in-person trade)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Mt. Gox [[redeemable code]])&amp;lt;br /&amp;gt;EUR (Western Union) || Cash in-the-mail is to a Berlin P.O. box. In-person trade is in Berlin.&lt;br /&gt;
|-&lt;br /&gt;
| [[Mang Sweeney]] || Fixed Rate || PHP (Cash)&amp;lt;br /&amp;gt;PHP (Cash deposit at bank) || Languages: English, Pinoy.&amp;lt;br /&amp;gt;PHP [https://localbitcoins.com/accounts/profile/mangsweeney cash trade method] in metro Manilla, Philappines.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcoinvender.yolasite.com/ Bitcoin Vender] || Fixed Rate|| USD (Credit Card)&amp;lt;br/&amp;gt;USD (Debit Card)&amp;lt;BR /&amp;gt;|| Buy bitcoins with your credit or debit card&lt;br /&gt;
|-&lt;br /&gt;
| [http://mercabit.eu mercaBit.eu] || Fixed Rate|| EUR (ukash)&amp;lt;br/&amp;gt;EUR (paysafecard)&amp;lt;br/&amp;gt;EUR (neosurf)&amp;lt;br/&amp;gt;EUR (halcash)&amp;lt;br/&amp;gt;EUR (teleingreso)&amp;lt;br/&amp;gt;|| Buy bitcoins with ukash and more&lt;br /&gt;
|-&lt;br /&gt;
| [http://buyBTC.cz buyBTC.cz] ([[buyBTC.cz|info]]) || Fixed Rate|| CZK (Domestic bank transfer)&amp;lt;br /&amp;gt;EUR (Bank transfer) || Buy bitcoins from the Czech Republic.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Direct / Bulk Buying==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=87094.0 Bitcoins Direct] || Direct purchases, $500 to $5,000 USD. || USD (Cash deposit at B of A or Wells Fargo&amp;lt;br /&amp;gt;USD (Bank wire, domestic or international)&amp;lt;br /&amp;gt;USD (Western Union or Moneygram transfer)&amp;lt;br /&amp;gt;USD (Cashier check, by mail)&amp;lt;br /&amp;gt;USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD ([[OKPay]]) || BTC || Inventory varies based on market conditions.&lt;br /&gt;
|-&lt;br /&gt;
| [http://bitcointalk.org/index.php?topic=89757.msg996082#msg996082 BitPay] ([[BitPay|info]]) || Direct purchases, $10,000 USD and higher || USD (Bank wire, domestic or international) || BTC || Contact for other payment methods. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Financial Services==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Settled || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEx]] || Buy / Sell / Exercise CALLs / PUTs, American style.&amp;lt;br /&amp;gt;52 strikes offered (by .5), current month + 2.&amp;lt;br /&amp;gt; No shorting available yet.|| BTC || BTC || Transactions encoded via amt.&amp;lt;br /&amp;gt; Must use non-rounding client&amp;lt;br /&amp;gt;(0.3.24 or later)&lt;br /&gt;
|-&lt;br /&gt;
| [https://vircurex.com Vircurex] || Buy / Sell Options&amp;lt;br/&amp;gt;Loan / Borrow || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Physical Bitcoins==&lt;br /&gt;
&lt;br /&gt;
Physical Bitcoins are bearer tokens that have an embedded redeemable digital bitcoin value if torn open.  While they are somewhat expensive if bought purely for the digital bitcoins, they are relatively easy to get, because they can be purchased with PayPal or credit card - payment methods not typically not accepted for pure digital bitcoin purchases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.memorydealers.com Memory Dealers] || Casascius Physical Bitcoins || USD (PayPal/Credit Card) || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.casascius.com Casascius.com] || Casascius Physical Bitcoins || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.giftcoin.net/card Bitcoin Gift Card] || Bitcioin Gift Card Physical Bitcoin Issued By GiftCoin || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bitbills.com Bitbills] || Bitbills cards || BTC || Not taking orders as of Nov 2011.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Digital_currencies|Digital Currencies]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Secure Trading]]&lt;br /&gt;
* [[:Category:Local|Local]] exchanges&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[zh-cn:购买bitcoins]]&lt;br /&gt;
[[ru:Приобретение биткойнов]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Wallet&amp;diff=30392</id>
		<title>Wallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Wallet&amp;diff=30392"/>
		<updated>2012-09-03T14:12:02Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Bitcoin &#039;&#039;&#039;wallet&#039;&#039;&#039; is a file that contains a collection of private keys. &lt;br /&gt;
&lt;br /&gt;
=== Bitcoin Qt ===&lt;br /&gt;
&lt;br /&gt;
The original Bitcoin client wallet file is named &#039;&#039;&#039;wallet.dat&#039;&#039;&#039; and contains&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=4448.0 Wallet import/export: bitkeys format]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* keypairs for each of your [[address|addresses]]&lt;br /&gt;
* transactions done from/to your addresses&lt;br /&gt;
* user preferences &lt;br /&gt;
* default key&lt;br /&gt;
* reserve keys&lt;br /&gt;
* [[Accounts_explained|accounts]]&lt;br /&gt;
* a version number&lt;br /&gt;
* [[Key pool]]&lt;br /&gt;
* Since 0.3.21: information about the current best chain, to be able to rescan automatically when restoring from a backup.&lt;br /&gt;
&lt;br /&gt;
The data file for the wallet is wallet.dat and is located in the Bitcoin [[data directory]].&lt;br /&gt;
&lt;br /&gt;
It is intended that a wallet be used on only one installation of Bitcoin at a time.  Attempting to clone a wallet for use on multiple computers will result in &amp;quot;weird behavior&amp;quot;&amp;lt;ref&amp;gt;[http://forum.bitcoin.org/index.php?topic=5324.msg77896#msg77896 Multiple instance of bitcoin with the same wallet]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The format of this file is Berkeley DB.  Tools that can manipulate wallet files include [[pywallet]].&lt;br /&gt;
&lt;br /&gt;
=== Armory ===&lt;br /&gt;
&lt;br /&gt;
The Armory client uses a custom [http://bitcoinarmory.com/index.php/armory-wallet-files binary wallet format].&lt;br /&gt;
&lt;br /&gt;
=== Blockchain.info ===&lt;br /&gt;
&lt;br /&gt;
Blockchain.info use a plain text JSON wallet format documented [https://blockchain.info/wallet/wallet-format here]. Private keys Keys are stored in base58.&lt;br /&gt;
&lt;br /&gt;
=== Multibit ===&lt;br /&gt;
&lt;br /&gt;
Multibit uses the BitcoinJ [http://code.google.com/p/protobuf/ protobuf] wallet file.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Securing your wallet]]&lt;br /&gt;
* [[EWallet]]&lt;br /&gt;
* [[Deterministic Wallet]]&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=API_reference_(JSON-RPC)&amp;diff=30028</id>
		<title>API reference (JSON-RPC)</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=API_reference_(JSON-RPC)&amp;diff=30028"/>
		<updated>2012-08-23T11:03:28Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Controlling Bitcoin ==&lt;br /&gt;
&lt;br /&gt;
Run &#039;&#039;bitcoind&#039;&#039; or &#039;&#039;bitcoin -server&#039;&#039;. You can control it via the command-line or by [http://json-rpc.org/wiki/specification HTTP JSON-RPC] commands.&lt;br /&gt;
&lt;br /&gt;
You must create a bitcoin.conf configuration file setting an rpcuser and rpcpassword; see [[Running Bitcoin]] for details.&lt;br /&gt;
&lt;br /&gt;
Now run:&lt;br /&gt;
  $ ./bitcoind&lt;br /&gt;
  bitcoin server starting&lt;br /&gt;
  $ ./bitcoind help&lt;br /&gt;
  # shows the help text&lt;br /&gt;
&lt;br /&gt;
A [[Original Bitcoin client/API Calls list|list of RPC calls]] will be shown.&lt;br /&gt;
&lt;br /&gt;
  $ ./bitcoind getbalance&lt;br /&gt;
  2000.00000&lt;br /&gt;
&lt;br /&gt;
== JSON-RPC ==&lt;br /&gt;
&lt;br /&gt;
Running Bitcoin with the -server argument (or running bitcoind) tells it to function as a [http://json-rpc.org/wiki/specification HTTP JSON-RPC] server, but &lt;br /&gt;
[http://en.wikipedia.org/wiki/Basic_access_authentication Basic access authentication] must be used when communicating with it, and, for security, by default, the server only accepts connections from other processes on the same machine.  If your HTTP or JSON library requires you to specify which &#039;realm&#039; is authenticated, use &#039;jsonrpc&#039;.&lt;br /&gt;
&lt;br /&gt;
Bitcoin supports SSL (https) JSON-RPC connections beginning with version 0.3.14.  See the [[Enabling SSL on original client daemon|rpcssl wiki page]] for setup instructions and a list of all bitcoin.conf configuration options.&lt;br /&gt;
&lt;br /&gt;
To access the server you should find a [http://json-rpc.org/wiki/implementations suitable library] for your language.&lt;br /&gt;
&lt;br /&gt;
== Proper money handling ==&lt;br /&gt;
&lt;br /&gt;
See the [[Proper Money Handling (JSON-RPC)|proper money handling page]] for notes on avoiding rounding errors when handling bitcoin values.&lt;br /&gt;
&lt;br /&gt;
== Python ==&lt;br /&gt;
&lt;br /&gt;
[http://json-rpc.org/wiki/python-json-rpc python-jsonrpc] is the official JSON-RPC implementation for Python.&lt;br /&gt;
It automatically generates Python methods for RPC calls.&lt;br /&gt;
However, due to its design for supporting old versions of Python, it is also rather inefficient.&lt;br /&gt;
[[User:jgarzik|jgarzik]] has forked it as [https://github.com/jgarzik/python-bitcoinrpc Python-BitcoinRPC] and optimized it for current versions.&lt;br /&gt;
Generally, this version is recommended.&lt;br /&gt;
&lt;br /&gt;
While BitcoinRPC lacks a few obscure features from jsonrpc, software using only the ServiceProxy class can be written the same to work with either version the user might choose to install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  from jsonrpc import ServiceProxy&lt;br /&gt;
  &lt;br /&gt;
  access = ServiceProxy(&amp;quot;http://user:password@127.0.0.1:8332&amp;quot;)&lt;br /&gt;
  access.getinfo()&lt;br /&gt;
  access.listreceivedbyaddress(6)&lt;br /&gt;
  #access.sendtoaddress(&amp;quot;11yEmxiMso2RsFVfBcCa616npBvGgxiBX&amp;quot;, 10)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ruby ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ruby&amp;quot;&amp;gt;&lt;br /&gt;
require &#039;net/http&#039;&lt;br /&gt;
require &#039;uri&#039;&lt;br /&gt;
require &#039;json&#039;&lt;br /&gt;
&lt;br /&gt;
class BitcoinRPC&lt;br /&gt;
  def initialize(service_url)&lt;br /&gt;
    @uri = URI.parse(service_url)&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def method_missing(name, *args)&lt;br /&gt;
    post_body = { &#039;method&#039; =&amp;gt; name, &#039;params&#039; =&amp;gt; args, &#039;id&#039; =&amp;gt; &#039;jsonrpc&#039; }.to_json&lt;br /&gt;
    resp = JSON.parse( http_post_request(post_body) )&lt;br /&gt;
    raise JSONRPCError, resp[&#039;error&#039;] if resp[&#039;error&#039;]&lt;br /&gt;
    resp[&#039;result&#039;]&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def http_post_request(post_body)&lt;br /&gt;
    http    = Net::HTTP.new(@uri.host, @uri.port)&lt;br /&gt;
    request = Net::HTTP::Post.new(@uri.request_uri)&lt;br /&gt;
    request.basic_auth @uri.user, @uri.password&lt;br /&gt;
    request.content_type = &#039;application/json&#039;&lt;br /&gt;
    request.body = post_body&lt;br /&gt;
    http.request(request).body&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  class JSONRPCError &amp;lt; RuntimeError; end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if $0 == __FILE__&lt;br /&gt;
  h = BitcoinRPC.new(&#039;http://user:password@127.0.0.1:8332&#039;)&lt;br /&gt;
  p h.getbalance&lt;br /&gt;
  p h.getinfo&lt;br /&gt;
  p h.getnewaddress&lt;br /&gt;
  p h.dumpprivkey( h.getnewaddress )&lt;br /&gt;
  # also see: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP ==&lt;br /&gt;
&lt;br /&gt;
The [http://jsonrpcphp.org/ JSON-RPC PHP] library also makes it very easy to connect to Bitcoin.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  require_once &#039;jsonRPCClient.php&#039;;&lt;br /&gt;
  &lt;br /&gt;
  $bitcoin = new jsonRPCClient(&#039;http://user:password@127.0.0.1:8332/&#039;);&lt;br /&gt;
   &lt;br /&gt;
  echo &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r($bitcoin-&amp;gt;getinfo()); echo &amp;quot;\n&amp;quot;;&lt;br /&gt;
  echo &amp;quot;Received: &amp;quot;.$bitcoin-&amp;gt;getreceivedbylabel(&amp;quot;Your Address&amp;quot;).&amp;quot;\n&amp;quot;;&lt;br /&gt;
  echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Java ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to tell Java to use HTTP Basic authentication is to set a default Authenticator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  final String rpcuser =&amp;quot;...&amp;quot;;&lt;br /&gt;
  final String rpcpassword =&amp;quot;...&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  Authenticator.setDefault(new Authenticator() {&lt;br /&gt;
      protected PasswordAuthentication getPasswordAuthentication() {&lt;br /&gt;
          return new PasswordAuthentication (rpcuser, rpcpassword.toCharArray());&lt;br /&gt;
      }&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once that is done, any JSON-RPC library for Java (or ordinary URL POSTs) may be used to communicate with the Bitcoin server.&lt;br /&gt;
&lt;br /&gt;
== Perl ==&lt;br /&gt;
&lt;br /&gt;
The JSON::RPC package from CPAN can be used to communicate with Bitcoin.  You must set the client&#039;s credentials; for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
  use JSON::RPC::Client;&lt;br /&gt;
  use Data::Dumper;&lt;br /&gt;
   &lt;br /&gt;
  my $client = new JSON::RPC::Client;&lt;br /&gt;
  &lt;br /&gt;
  $client-&amp;gt;ua-&amp;gt;credentials(&lt;br /&gt;
     &#039;localhost:8332&#039;, &#039;jsonrpc&#039;, &#039;user&#039; =&amp;gt; &#039;password&#039;  # REPLACE WITH YOUR bitcoin.conf rpcuser/rpcpassword&lt;br /&gt;
      );&lt;br /&gt;
  &lt;br /&gt;
  my $uri = &#039;http://localhost:8332/&#039;;&lt;br /&gt;
  my $obj = {&lt;br /&gt;
      method  =&amp;gt; &#039;getinfo&#039;,&lt;br /&gt;
      params  =&amp;gt; [],&lt;br /&gt;
   };&lt;br /&gt;
   &lt;br /&gt;
  my $res = $client-&amp;gt;call( $uri, $obj );&lt;br /&gt;
   &lt;br /&gt;
  if ($res){&lt;br /&gt;
      if ($res-&amp;gt;is_error) { print &amp;quot;Error : &amp;quot;, $res-&amp;gt;error_message; }&lt;br /&gt;
      else { print Dumper($res-&amp;gt;result); }&lt;br /&gt;
  } else {&lt;br /&gt;
      print $client-&amp;gt;status_line;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== .NET (C#) ==&lt;br /&gt;
The communication with rpc service can be achieved using the standard httprequest/response objects.&lt;br /&gt;
A library for serialising and deserialising Json will make your life a lot easier:&lt;br /&gt;
&lt;br /&gt;
* JayRock for .NET 4.0&lt;br /&gt;
* Json.Net for .NET 2.0 and above &lt;br /&gt;
&lt;br /&gt;
The following example uses Json.Net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
 HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(&amp;quot;http://localhost.:8332&amp;quot;);&lt;br /&gt;
 webRequest.Credentials = new NetworkCredential(&amp;quot;user&amp;quot;, &amp;quot;pwd&amp;quot;);&lt;br /&gt;
 /// important, otherwise the service can&#039;t desirialse your request properly&lt;br /&gt;
 webRequest.ContentType = &amp;quot;application/json-rpc&amp;quot;;&lt;br /&gt;
 webRequest.Method = &amp;quot;POST&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
 JObject joe = new JObject();&lt;br /&gt;
 joe.Add(new JProperty(&amp;quot;jsonrpc&amp;quot;, &amp;quot;1.0&amp;quot;));&lt;br /&gt;
 joe.Add(new JProperty(&amp;quot;id&amp;quot;, &amp;quot;1&amp;quot;));&lt;br /&gt;
 joe.Add(new JProperty(&amp;quot;method&amp;quot;, Method));&lt;br /&gt;
 // params is a collection values which the method requires..&lt;br /&gt;
 if (Params.Keys.Count == 0)&lt;br /&gt;
 {&lt;br /&gt;
  joe.Add(new JProperty(&amp;quot;params&amp;quot;, new JArray()));&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
     JArray props = new JArray();&lt;br /&gt;
     // add the props in the reverse order!&lt;br /&gt;
     for (int i = Params.Keys.Count - 1; i &amp;gt;= 0; i--)&lt;br /&gt;
     {&lt;br /&gt;
        .... // add the params&lt;br /&gt;
     }&lt;br /&gt;
     joe.Add(new JProperty(&amp;quot;params&amp;quot;, props));&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     // serialize json for the request&lt;br /&gt;
     string s = JsonConvert.SerializeObject(joe);&lt;br /&gt;
     byte[] byteArray = Encoding.UTF8.GetBytes(s);&lt;br /&gt;
     webRequest.ContentLength = byteArray.Length;&lt;br /&gt;
     Stream dataStream = webRequest.GetRequestStream();&lt;br /&gt;
     dataStream.Write(byteArray, 0, byteArray.Length);&lt;br /&gt;
     dataStream.Close();&lt;br /&gt;
     &lt;br /&gt;
     &lt;br /&gt;
     WebResponse webResponse = webRequest.GetResponse();&lt;br /&gt;
     &lt;br /&gt;
     ... // deserialze the response&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a wrapper for Json.NET called Bitnet (https://sourceforge.net/projects/bitnet)&lt;br /&gt;
implementing Bitcoin API in more convenient way:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
     BitnetClient bc = new BitnetClient(&amp;quot;http://127.0.0.1:8332&amp;quot;);&lt;br /&gt;
     bc.Credentials = new NetworkCredential(&amp;quot;user&amp;quot;, &amp;quot;pass&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
     var p = bc.GetDifficulty();&lt;br /&gt;
     Console.WriteLine(&amp;quot;Difficulty:&amp;quot; + p.ToString());&lt;br /&gt;
&lt;br /&gt;
     var inf = bc.GetInfo();&lt;br /&gt;
     Console.WriteLine(&amp;quot;Balance:&amp;quot; + inf[&amp;quot;balance&amp;quot;]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node.js ==&lt;br /&gt;
There are two unofficial node.js modules for interacting with the bitcoin client.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/freewil/node-bitcoin node-bitcoin] (npm: bitcoin) &lt;br /&gt;
* [https://github.com/Weltschmerz/Kapitalize Kapitalize] (npm: kapitalize)&lt;br /&gt;
&lt;br /&gt;
Example using node-bitcoin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var bitcoin = require(&#039;bitcoin&#039;);&lt;br /&gt;
var client = new bitcoin.Client({&lt;br /&gt;
  host: &#039;localhost&#039;,&lt;br /&gt;
  port: 8332,&lt;br /&gt;
  user: &#039;user&#039;,&lt;br /&gt;
  pass: &#039;pass&#039;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
client.getDifficulty(function(err, difficulty) {&lt;br /&gt;
  if (err) {&lt;br /&gt;
    console.log(&#039;Error...&#039;);&lt;br /&gt;
    console.log(err);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  console.log(&#039;Difficulty: &#039; + difficulty);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example using Kapitalize:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&#039;javascript&#039;&amp;gt;&lt;br /&gt;
var client = require(&#039;kapitalize&#039;)()&lt;br /&gt;
&lt;br /&gt;
client.auth(&#039;user&#039;, &#039;password&#039;)&lt;br /&gt;
&lt;br /&gt;
client&lt;br /&gt;
.getInfo()&lt;br /&gt;
.getDifficulty(function(err, difficulty) {&lt;br /&gt;
  console.log(&#039;Dificulty: &#039;, difficulty)&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Command line (cURL) ==&lt;br /&gt;
&lt;br /&gt;
You can also send commands and see results using [http://curl.haxx.se/ cURL] or some other command-line HTTP-fetching utility; for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  curl --user user --data-binary &#039;{&amp;quot;jsonrpc&amp;quot;: &amp;quot;1.0&amp;quot;, &amp;quot;id&amp;quot;:&amp;quot;curltest&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;getinfo&amp;quot;, &amp;quot;params&amp;quot;: [] }&#039; &lt;br /&gt;
    -H &#039;content-type: text/plain;&#039; http://127.0.0.1:8332/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will be prompted for your rpcpassword, and then will see something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  {&amp;quot;result&amp;quot;:{&amp;quot;balance&amp;quot;:0.000000000000000,&amp;quot;blocks&amp;quot;:59952,&amp;quot;connections&amp;quot;:48,&amp;quot;proxy&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;generate&amp;quot;:false,&lt;br /&gt;
     &amp;quot;genproclimit&amp;quot;:-1,&amp;quot;difficulty&amp;quot;:16.61907875185736,&amp;quot;error&amp;quot;:null,&amp;quot;id&amp;quot;:&amp;quot;curltest&amp;quot;}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Original_Bitcoin_client/API_Calls_list|API calls list]]&lt;br /&gt;
* [[Running Bitcoin]]&lt;br /&gt;
* [[Lazy API]]&lt;br /&gt;
* [[PHP developer intro]]&lt;br /&gt;
* [[Raw_Transactions|Raw Transactions API]]&lt;br /&gt;
* [http://blockchain.info/api/json_rpc_api Web Based JSON RPC interface.]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[zh-cn:API_reference_(JSON-RPC)]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Software&amp;diff=25625</id>
		<title>Software</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Software&amp;diff=25625"/>
		<updated>2012-04-22T13:39:44Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of Bitcoin-related software. See also [[:Category:Software|Category:Software]].&lt;br /&gt;
&lt;br /&gt;
==Bitcoin clients==&lt;br /&gt;
===Bitcoin clients===&lt;br /&gt;
*[[Bitcoin-qt]] - C++/Qt based tabbed UI for Bitcoin, Linux/MacOSX/Windows, full-featured&lt;br /&gt;
*[[bitcoind]] - GUI-less version of the standard Bitcoin client, providing [[API reference (JSON-RPC)|JSON-RPC]] interface (see also -server option of the standard client)&lt;br /&gt;
*[[Bitcoin-js-remote]] - JavaScript RPC client, support for QR codes&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=50721.0 subvertx] -Command line bitcoin tools.&lt;br /&gt;
*[[BitCoinJ]] - Java client library by Google, early development stage&lt;br /&gt;
*[[Electrum]] - lightweight client&lt;br /&gt;
*[[Bitcoiner]] - Java RPC client (Android)&lt;br /&gt;
*[[Spesmilo]] - Python/PySide RPC client&lt;br /&gt;
&lt;br /&gt;
====Frontends to eWallet====&lt;br /&gt;
*[[BitPay]] - Android application&lt;br /&gt;
*[https://blockchain.info/wallet Blockchain] - Javascript bitcoin client with client side encryption.&lt;br /&gt;
&lt;br /&gt;
====Experimental====&lt;br /&gt;
*[[Freecoin]] - C++ client, supports alternative currencies like [[Beertoken]]&lt;br /&gt;
*[[BitDroid]] - Java client&lt;br /&gt;
*[[Bitdollar]] - C++/Qt client, unstable beta version&lt;br /&gt;
&lt;br /&gt;
===Libraries===&lt;br /&gt;
*[https://bitcointalk.org/index.php?topic=30646.0 libbitcoin]&lt;br /&gt;
*[[BCCAPI]] (Bitcoin Client API) - a java library designed for making secure light-weight bitcoin clients. &lt;br /&gt;
&lt;br /&gt;
==Bitcoin Trade Data==&lt;br /&gt;
*[[Bitcoin Charts]] – Html website that has trading data for virtual all the bitcoin markets.&lt;br /&gt;
*[[MtGox Live]] - Html website that shows a live fee of [[MtGox]] trade data in an innovative chart form.  (Must Use Chrome)&lt;br /&gt;
*[[Bitcoin Sentiment Index]] - A financial index that collects and disseminates sentiment data about bitcoin.&lt;br /&gt;
*[[Preev]] - Bitcoin converter with live exchange rates.&lt;br /&gt;
&lt;br /&gt;
==Bitcoin software==&lt;br /&gt;
&lt;br /&gt;
===Web interfaces for merchants===&lt;br /&gt;
*[[Bitcoin Evolution]] - Non wallet-based Buy Now button to insert into websites (handles sales tracking; client must be used for actual transaction)&lt;br /&gt;
*[[Bit-pay]] - Buy Now buttons, Checkout posts/callbacks, Mobile Checkout, JSON API&lt;br /&gt;
*[[Btceconomy]] - a JavaScript widget listing items for sale&lt;br /&gt;
*[[Javascript Bitcoin Converter]] - currency conversion&lt;br /&gt;
&lt;br /&gt;
===Shopping Cart Integration in eCommerce-Systems===&lt;br /&gt;
*[[Zen Cart Bitcoin Payment Module]] - a payment module that interacts with bitcoind for the Zen Cart eCommerce shopping chart.&lt;br /&gt;
*[[Karsha Shopping Cart Interface]] -  is a mobile payment-interface which enables its users to accept payments.&lt;br /&gt;
*[[Bitcoin-Cash]] - an easy to use payment module for xt:Commerce&lt;br /&gt;
*[[Bit-pay]] - bitcoin plugins for Magento, Opencart, Zencart, PHP, JSON API&lt;br /&gt;
&lt;br /&gt;
===Web apps (opensource)===&lt;br /&gt;
*[[Bitcoin Central]] - currency exchange&lt;br /&gt;
*[[Bitcoin Poker Room]] - poker site&lt;br /&gt;
*[[Abe]] - block chain viewer&lt;br /&gt;
*[[Simplecoin]] - PHP web frontend for a pool&lt;br /&gt;
*[[bitcoin_simple_php_tools]] simple php tools for webmasters&lt;br /&gt;
&lt;br /&gt;
===Browser extensions===&lt;br /&gt;
*[[Bitcoin Extension]] - check balance and send bitcoins (Chrome)&lt;br /&gt;
*[[Bitcoin Ticker]] - monitoring price (Chrome)&lt;br /&gt;
*[[Bitcoin Prices (extension)]] - monitoring price (Firefox)&lt;br /&gt;
*[[Bitcoin Tool]] - recognizes Bitcoin addresses on websites (Firefox, Chrome, IE)&lt;br /&gt;
&lt;br /&gt;
===PC apps===&lt;br /&gt;
*[[BTConvert]] - currency conversion&lt;br /&gt;
*[[Sierra Chart MtGox Bridge]] - real-time charting&lt;br /&gt;
*[[BTC Trader]] - live charting and tech-analysis&lt;br /&gt;
*[[BitTicker]] - monitoring price (Mac OS X)&lt;br /&gt;
*[[ToyTrader]] - a command line trading tool for [[MtGox]]&lt;br /&gt;
*[[goxsh]] - a command-line frontend to the [[MtGox|Mt. Gox Bitcoin Exchange]] (Python)&lt;br /&gt;
*[[MyBitcoins gadget]] - monitoring pool earnings / price (Windows gadget)&lt;br /&gt;
&lt;br /&gt;
===Mobile apps===&lt;br /&gt;
==== iPhone / iPad ====&lt;br /&gt;
*[https://blockchain.info/wallet/iphone-app Blockchain] - Fully featured iphone bitcoin app.&lt;br /&gt;
*[[Bitcoin Ticker (iPhone)]] - monitoring price w/push notifications&lt;br /&gt;
*[[BitCoins Mobile]] - First iPad native app! Live market data, news feeds, mining pool statistics, full screen exchange price charts, bitcoin network statistical charts. (iPad only, iPhone/iPod Touch coming soon!)&lt;br /&gt;
*[https://github.com/teeman/BitcoinTrader BitcoinTrader] - Spend/receive BTC via QR codes, trade, deposit/withdraw, etc. Supports Mt. Gox, TradeHill, ExchB, CampBX, and InstaWallet.&lt;br /&gt;
*[[Bit-pay]] - Mobile Checkout, set prices in any currency and receive mobile-to-mobile payment&lt;br /&gt;
*[[Easywallet.org]] - Web based wallet, works with QR Code scanner on iPhone/iPad/iPod touch&lt;br /&gt;
&lt;br /&gt;
==== Android ====&lt;br /&gt;
* Direct link to Android Market bitcoin apps. https://market.android.com/search?q=bitcoin&lt;br /&gt;
*[https://blockchain.info/wallet/android-app Blockchain] - Lightweight Android Bitcoin Client - Also works with blockchain.info web interface and iphone app.&lt;br /&gt;
*[[Bitcoin Wallet for Android]] - This is the most functional android bitcoin wallet application. https://market.android.com/details?id=de.schildbach.wallet&lt;br /&gt;
*[[Bitcoin-android]] - Does not appear to be being maitained anymore. https://market.android.com/details?id=com.bitcoinandroid&lt;br /&gt;
*[[Bitpay]] - https://market.android.com/details?id=com.bitcoin.bitpay (Is not related to the bit-pay.com online payment processor.)&lt;br /&gt;
*[[Easywallet.org]] - Web based wallet, works with QR Code scanner on Android devices&lt;br /&gt;
&lt;br /&gt;
*[[Bitcoin Alert]] - monitoring price (Android)&lt;br /&gt;
*[[BitcoinX]] - monitoring price (Android)&lt;br /&gt;
*[[BtcMobile]] - monitoring price and mining pool statistics (iPhone/iPad, Android)&lt;br /&gt;
*[[Miner Status]] - monitoring miner status (Android)&lt;br /&gt;
*[[SMS Bitcoins]] - transactions by SMS&lt;br /&gt;
*[[Bitcoin Wallet Balance]] - view your balance in real time on your android phone&lt;br /&gt;
&lt;br /&gt;
see also [[Bitcoin Payment Apps]]&lt;br /&gt;
&lt;br /&gt;
===Operating systems===&lt;br /&gt;
*[[LinuxCoin]] - a lightweight Debian-based OS, with the Bitcoin client and GPU mining software&lt;br /&gt;
&lt;br /&gt;
===Mining apps===&lt;br /&gt;
*[[BTCMiner]] - Bitcoin Miner for ZTEX FPGA Boards&lt;br /&gt;
*[[Poclbm]] - Python/OpenCL GPU miner ([[Poclbm-gui|GUI(Windows &amp;amp; MacOS X)]])&lt;br /&gt;
*[[Poclbm-mod]] - more efficient version of [[Poclbm]] ([[Poclbm-mod-gui|GUI]])&lt;br /&gt;
*[[DiabloMiner]] - Java/OpenCL GPU miner ([[DiabloMiner.app|MAC OS X GUI]])&lt;br /&gt;
*[[RPC Miner]] - remote RPC miner ([[RPCminer.app|MAC OS X GUI]])&lt;br /&gt;
*[[Phoenix miner]] - miner&lt;br /&gt;
*[[Cpu Miner]] - miner&lt;br /&gt;
*[[Ufasoft miner]] - miner&lt;br /&gt;
*[[Pyminer]] - Python miner, reference implementation&lt;br /&gt;
*[[Remote miner]] - mining pool software&lt;br /&gt;
*[[Open Source FGPA Bitcoin Miner]] - a miner that makes use of an FPGA Board&lt;br /&gt;
&lt;br /&gt;
===Mining Pool Servers (backend)===&lt;br /&gt;
*[[Pushpoold]] - The original mining pool server&lt;br /&gt;
*[[Poold]] - Python mining pool server&lt;br /&gt;
*[[PoolServerJ]] - Java mining pool server&lt;br /&gt;
&lt;br /&gt;
===Utilities, libraries, and interfaces:===&lt;br /&gt;
*[[Bitcointools]] - a set of Python tools accessing the transaction database and the wallet&lt;br /&gt;
*[[Finance::MtGox]] - a Perl module which interfaces with the Mt. Gox API&lt;br /&gt;
*[[BitcoinCrypto]] - a lightweight Bitcoin crypto library for Java/Android&lt;br /&gt;
*[[Bitcoin Dissector]] - a wireshark dissector for the bitcoin protocol&lt;br /&gt;
&lt;br /&gt;
===Lists of software===&lt;br /&gt;
*[[BitGit]] - list of Bitcoin-related opensource projects hosted at Git&lt;br /&gt;
&lt;br /&gt;
===Developer resources===&lt;br /&gt;
*[[:Category:Developer|Category:Developer]]&lt;br /&gt;
*[[:Category:Technical|Category:Technical]]&lt;br /&gt;
*[[Original Bitcoin client/API calls list]]&lt;br /&gt;
*[[API reference (JSON-RPC)]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
*[[Namecoin]] - a distributed naming system based on Bitcoin technology&lt;br /&gt;
*[[Bitcoin Consultancy]] - an organization providing open source software and Bitcoin-related consulting&lt;br /&gt;
*[[Open Transactions]] - a financial crypto and digital cash software library, complementary to Bitcoin&lt;br /&gt;
*[[Moneychanger]] - Java-based GUI for [[Open Transactions]]&lt;br /&gt;
*[http://btcnames.org/ BTCnames] - a webbased aliasing service which allows to handle unlimited names for your BTC deposit hashes&lt;br /&gt;
*[[Devcoin]] - the open source developer coin&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=24901</id>
		<title>Buying bitcoins</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=24901"/>
		<updated>2012-03-27T16:45:53Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Fixed Rate Exchanges &amp;amp; Others */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are various methods available for buying bitcoins.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: Please be careful with your money.  When sending money to an exchange or seller you are trusting that the operator will not abscond with your funds and that the operator maintains secure systems that protect against theft -- internal or external.  It is recommended that you obtain the real-world identity of the operator and ensure that sufficient recourse is available.  Exchanging or storing significant funds with exchanges is not recommended.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Major Exchanges==&lt;br /&gt;
&lt;br /&gt;
The least expensive methods for buying bitcoins involve transferring funds using a bank wire, ACH, bank transfer (ACH, EUR / SEPA).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Exchange || Type || Adding Funds || Withdrawing Funds || [[eWallet]] || Notes&lt;br /&gt;
|-&lt;br /&gt;
|  [[MtGox]] || Market || BTC&amp;lt;br/&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;USD (Wire to [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;GBP (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Wire via [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || {{Table Value Yes}} || Oldest running exchange. Higest daily volume. Respecting AML laws, Restrictions and limits on withdrawals.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Britcoin]]&amp;lt;br/&amp;gt;&amp;amp;amp;&amp;lt;br/&amp;gt;[[Intersango]] || Market || BTC&amp;lt;br /&amp;gt;GBP (bank deposit)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Domestic bank wire)&amp;lt;br /&amp;gt;USD (ACH)&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || BTC&amp;lt;br /&amp;gt;GBP (bank transfer)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || {{Table Value Yes}} || Operated by the [https://bitcoinconsultancy.com/ BitcoinConsultancy] &amp;lt;br/&amp;gt; [https://intersango.com Intersango] is a completely custom trading platform built from the ground up with security, scalability and extensibility in mind. [https://bitcointalk.org/index.php?topic=43745.0 More Information]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Boasts an [https://bitcoinconsultancy.com/wiki/index.php/Intersango/API ever expanding API]&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirWoX]] || Market || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br/&amp;gt;USD,EUR,GBP (Credit &amp;amp; Debit cards via [[Moneybookers]])&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (DIRECTebanking / Sofortüberweisung)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[paysafecard]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br /&amp;gt;USD,EUR,GBP ([[Moneybookers]])&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || {{Table Value Yes}} || Trading through Second Life Linden Dollars.&amp;lt;br/&amp;gt;Variable limits on PayPal and Credit Card deposits. &lt;br /&gt;
|-&lt;br /&gt;
|  [[BTC-E]] || Market || BTC&amp;lt;br/&amp;gt;USD ([[Liberty Reserve]])&amp;lt;br /&amp;gt;USD (Interkassa) || BTC&amp;lt;br/&amp;gt;USD (Webmoney) || {{Table Value Yes}} || Language: Russian.  Interkassa can be funded from Webmoney and many other methods.&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirtEx]] || Market || BTC&amp;lt;br/&amp;gt;CAD (online bill pay)&amp;lt;br /&amp;gt;CAD (cash at TDBank) || BTC&amp;lt;br/&amp;gt;CAD (direct deposit) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[Camp BX]] (CBX) || Market || BTC &amp;lt;br/&amp;gt;USD (Check / ACH Direct Deposit)&amp;lt;br /&amp;gt;USPS Postal Money Order &amp;lt;br/&amp;gt; USD ([[Dwolla]]) &amp;lt;br/&amp;gt; USD Bill Pay &amp;lt;br/&amp;gt; Walmart MoneyGram || BTC &amp;lt;br /&amp;gt;USD (Check / ACH Direct Deposit)&amp;lt;br /&amp;gt;USPS Postal Money Order &amp;lt;br/&amp;gt; USD ([[Dwolla]])&amp;lt;br/&amp;gt; USD (Domestic bank wire)&amp;lt;br/&amp;gt;USD (International bank wire) || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Security certification from McAfee&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Advanced trading options with AON/FOK/Market&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;STOPLOSS and Short-Selling in Pipeline&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Trading API available&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Wallet API available &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; CBX Instant Bitcoin Transfers Feature &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Stoploss / Custom Order Expiry Date/Time &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; SMS (Text Message) Notifications &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Two-Factor Authentication &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Based in USA - Atlanta &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[Mercado Bitcoin]] || Market || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer)&amp;lt;br /&amp;gt;BRL (Bank transfer - MoIP)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-Central]] || Market || BTC&amp;lt;br /&amp;gt;CAD (Interac)&amp;lt;br /&amp;gt;CAD (Bank wire)&amp;lt;br /&amp;gt;CAD (Cash deposit)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;INR (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;PGAU [[Pecunix]] Gold || BTC&amp;lt;br /&amp;gt;CAD (Interac)&amp;lt;br /&amp;gt;CAD (Bank wire)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;INR (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;[[Pecunix]] Gold || {{Table Value Yes}} || [https://github.com/davout/bitcoin-central Open-source], community reviewed platform&amp;lt;br /&amp;gt;Available in French and English languages&lt;br /&gt;
|-&lt;br /&gt;
|  [[HelloBitcoin]] || Market || BTC&amp;lt;br/&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;br /&amp;gt;USD (Check) || BTC&amp;lt;br/&amp;gt;USD (Check)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;br /&amp;gt;USD (ACH) || {{Table Value Yes}} || Offers margin trading and shorting.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Brasil Bitcoin Market]] || Market || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[Australian Bitcoin Exchange]] || Market || BTC&amp;lt;br /&amp;gt;AUD (Electronic funds deposit)&amp;lt;br /&amp;gt;AUD (Mtgox Redeemable code) || BTC&amp;lt;br /&amp;gt;AUD (Electronic funds transfer) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[BitStamp]] || Market || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || {{Table Value Yes}} || EUR and CHF deposits converted to/from USD for trading&lt;br /&gt;
|-&lt;br /&gt;
|  [[Rock Currency Exchange]] || Market || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla) || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla)  || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[CryptoXchange]]  || Market || BTC&amp;lt;br/&amp;gt;NMC&amp;lt;br/&amp;gt;LTC&amp;lt;br/&amp;gt;USD&amp;lt;br/&amp;gt;AUD (Bank Transfer)&amp;lt;br/&amp;gt;GBP || BTC&amp;lt;br/&amp;gt;NMC&amp;lt;br/&amp;gt;LTC&amp;lt;br/&amp;gt;USD&amp;lt;br/&amp;gt;AUD (Bank Transfer)&amp;lt;br/&amp;gt;GBP  || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Buy Gold,Silver,Palladium and Casascius physical bitcoins plus other items in the store.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Affiliate program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Mining Pool integration program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Bitcoin, Namecoin and Litecoin &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Multiple Authentication Levels&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; API &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Free Yubikey&#039;s to High Volume Traders &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; An Australian Owned and Operated Registered Company.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&lt;br /&gt;
Inquiries: contact@cryptoxchanger.com or Phone: +61280050602 &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[WM-Center]] || Exchanger || BTC&amp;lt;br/&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP || BTC&amp;lt;br /&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP&amp;lt;br /&amp;gt; PayPal USD/EUR, Moneybookers, Neteller || {{Table Value No}} || 24/7/365 support in english, spanish and russian!&lt;br /&gt;
|-&lt;br /&gt;
|  [[bitNZ]] || Market || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitfloor]] || Market || BTC&amp;lt;br/&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;USD (Mt. Gox Redeemable Code) || BTC&amp;lt;br/&amp;gt;USD (Dwolla) || {{Table Value Yes}} || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fixed Rate Exchanges &amp;amp; Others==&lt;br /&gt;
&lt;br /&gt;
For smaller amounts, the options are limited due to bank transfer fees, conversion fees and transaction size restrictions. Options include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [https://blockchain.info/wallet/sms-phone-deposits Blockchain.info] || Fixed Rate || USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK || Purchased using SMS or premium phone call.&lt;br /&gt;
|-&lt;br /&gt;
| [http://au.spendbitcoins.com au.spendbitcoins.com] || Fixed Rate || AUD || cash deposit at NAB &lt;br /&gt;
|-&lt;br /&gt;
| [http://buybitcoin.com BuyBitcoin] || Market || USD (Cash)&amp;lt;BR /&amp;gt;USD (Western Union)&amp;lt;BR /&amp;gt;USD (PayPal)&amp;lt;BR /&amp;gt;USD (Credit Card)&amp;lt;BR /&amp;gt;USD (Dwolla)&amp;lt;BR /&amp;gt;USD (Cash deposit)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;BR /&amp;gt;USD (Cash in the mail)&amp;lt;BR /&amp;gt;USD (Money Order)&amp;lt;BR /&amp;gt;USD (Cashier&#039;s Check/Certified Check)&amp;lt;BR /&amp;gt;USD (Traveler&#039;s Check)&amp;lt;BR /&amp;gt;USD (Prepaid Debit Card)&amp;lt;BR /&amp;gt; || Instant Bitcoin delivery over the phone.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Public office address: 290 5th Ave, 5th floor, New York, NY  10001&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Telephone or SMS text message 24 hours: +1 646-580-0044&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.de]] || Market || EUR (bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Liberty Reserve)&amp;lt;br /&amp;gt;EUR (MoneyBookers) || Varies (person to person)&amp;lt;br /&amp;gt;0.01 free Bitcoins for every new user&amp;lt;br /&amp;gt;eWallet&amp;lt;br /&amp;gt;Affiliate program&amp;lt;br /&amp;gt;Language: German, Englisch&amp;lt;br/&amp;gt; News&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoinmarket24.com]] || Fixed Rate || EUR (SEPA bank transfer) || Instant Bitcoin purchases via SEPA. No registration needed!&lt;br /&gt;
|-&lt;br /&gt;
| [[Blizzcoin]] || Fixed Rate || EUR (SEPA bank transfer) || Buy Bitcoins within minutes. Instant exchange. &amp;lt;br /&amp;gt;No registration.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Market]] || Market || USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD (MoneyBookers)&amp;lt;br /&amp;gt;GAU (Pecunix) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.eu]] || Market || EUR (Euro)&amp;lt;br /&amp;gt;GBP (British Sterling Pound)&amp;lt;br /&amp;gt;USD (U.S. Dollar)&amp;lt;br&amp;gt;PLN (Polish złoty)&amp;lt;br /&amp;gt;AUD (Australian Dollar)&amp;lt;br /&amp;gt;CAD (Canadian Dollar)&amp;lt;br /&amp;gt;ZAR (South African Rand)&amp;lt;br /&amp;gt;ILS (Israeli Shekel)&amp;lt;br /&amp;gt;CHF (Swiss Franc)&amp;lt;br&amp;gt;RUB (Russian Ruble) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoiny.cz]] || Market || CZK || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCX.se]] || Fixed Rate || SEK || Transfer to and banks in Sweden.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bit]] / BTC China || Market || n/a || n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitfunnel]] || Credit Card payment exchange/brokering services || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin-otc|#bitcoin-otc]] || [http://bitcoin-otc.com/vieworderbook.php Order Book] || Varies (person to person) || IRC trading marketplace will usually have people willing to deal for small and larger amounts using various payment methods, including [[PayPal]], [[Dwolla]], [[Linden Dollars]], etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Lilion Transfer]] || Fixed Rate || Bank Transfer: USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK&amp;lt;br /&amp;gt; Liberty Reserve&amp;lt;br /&amp;gt;Perfect Money&amp;lt;br /&amp;gt;Monetto&amp;lt;br /&amp;gt;OK Pay&amp;lt;br /&amp;gt;Cosmic Pay&amp;lt;br /&amp;gt;Pecunix&amp;lt;br /&amp;gt;C-Gold&amp;lt;br /&amp;gt;E-Pay Payments&amp;lt;br /&amp;gt;PayPal|| 122 accounts worldwide.&amp;lt;br /&amp;gt; Support in 30 languages&lt;br /&gt;
|-&lt;br /&gt;
| [[Nanaimo Gold]] || Fixed Rate || USD (Liberty Reserve)&amp;lt;br /&amp;gt;Western Union money transfer&amp;lt;br /&amp;gt;Moneygram money transfer&amp;lt;br /&amp;gt;Cash in the mail || LR &amp;lt;--&amp;gt; Bitcoin exchange is automated&amp;lt;br /&amp;gt;For cash in the mail send USD, EUR, CAD, or GBP.  Canada mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Argentina]] || Fixed Rate || Cash: ARS, BRL, USD &amp;lt;br /&amp;gt; Bank transfer: ARS || No exchange fees!&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin.com.es]] || Fixed Rate || EUR (bank deposit) || Bank transfer or cash deposits at OpenBank in Spain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bahtcoin]] || Fixed Rate || Cash, Webmoney&amp;lt;br /&amp;gt;Liberty Reserve USD || Will cash out to Thai mobile and gaming prepaid cards as well.&lt;br /&gt;
|-&lt;br /&gt;
| [[DialCoin]] || Fixed Rate || EUR || Purchased using SMS. Charges made to mobile carrier.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Brasil]] || Fixed Rate || BRL (Brazilian Real)&amp;lt;br /&amp;gt;USD || Cash exchange&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPiggy]] || Fixed Rate || AUD (Australian Dollar)|| Payment via bank transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[GetBitcoin]] || Fixed Rate || USD (Dwolla)&amp;lt;BR /&amp;gt;USD (Cash deposit)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;BR /&amp;gt;USD (Cash in the mail)&amp;lt;BR /&amp;gt;USD (Money Order)&amp;lt;BR /&amp;gt;USD (Cashier&#039;s Check/Certified Check)&amp;lt;BR /&amp;gt;USD (Western Union)&amp;lt;BR /&amp;gt;USD (Traveler&#039;s Check)&amp;lt;BR /&amp;gt;USD (Prepaid Debit Card)&amp;lt;BR /&amp;gt; || For cash in mail, send USD.  U.S. mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.local]] || Directory || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[bcchanger.com]] || Directory || Enables person to person purchases and sales via PayPal, MoneyBookers and other e-currency platforms ||&lt;br /&gt;
|-&lt;br /&gt;
| [[SimpleCoin]] || Fixed Rate || USD|| Payment via credit or debit card.&lt;br /&gt;
|-&lt;br /&gt;
| [[YouTipIt]] || Fixed Rate || USD&amp;lt;br /&amp;gt;EUR&amp;lt;br /&amp;gt;GBP || Purchase bitcoins to add to your balance with YouTipIt using credit card through ClickAndBuy.&lt;br /&gt;
|-&lt;br /&gt;
| [[Ubitex]] || In person exchange || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoil]] || Fixed Rate || ILS (bank transfer) ||&lt;br /&gt;
|- &lt;br /&gt;
|[[btcnow]] || Market || USD (OKPay, Dwolla) ||  bitcoins transferred instantly&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.Btc-Direct.fr Btc-Direct] || Market ||  Paid by phone or SMS&amp;lt;br /&amp;gt;USD&amp;lt;br /&amp;gt;EUR&amp;lt;br /&amp;gt;GBP  || Incredible: Purchase your Bitcoins with your phone !!. We are the first to offer you the easiest way to buy Bitcoins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Financial Services==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Settled || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [https://Bitcoinica.com Bitcoinica] || BTC/USD Contract for Difference (CFD) trading || BTC, USD, EUR, GBP || BTC, USD || Leveraged trading from 2.5X and higher.&lt;br /&gt;
|-&lt;br /&gt;
| [http://polimedia.us/bitcoin/options.php Derivatives] || Buy / Sell / Exercise CALLs / PUTs, American style.&amp;lt;br /&amp;gt;52 strikes offered (by .5), current month + 2.&amp;lt;br /&amp;gt; No shorting available yet.|| BTC || BTC || Transactions encoded via amt.&amp;lt;br /&amp;gt; Must use non-rounding client&amp;lt;br /&amp;gt;(0.3.24 or later)&lt;br /&gt;
|-&lt;br /&gt;
| [https://vircurex.com Vircurex] || Buy / Sell Options&amp;lt;br/&amp;gt;Loan / Borrow || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Physical Bitcoins==&lt;br /&gt;
&lt;br /&gt;
Physical Bitcoins are bearer tokens that have an embedded redeemable digital bitcoin value if torn open.  While they are somewhat expensive if bought purely for the digital bitcoins, they are relatively easy to get, because they can be purchased with PayPal or credit card - payment methods not typically not accepted for pure digital bitcoin purchases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.memorydealers.com Memory Dealers] || Casascius Physical Bitcoins || USD (PayPal/Credit Card) || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.casascius.com Casascius.com] || Casascius Physical Bitcoins || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.giftcoin.net/card Bitcoin Gift Card] || Bitcioin Gift Card Physical Bitcoin Issued By GiftCoin || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bitbills.com Bitbills] || Bitbills cards || BTC || Not taking orders as of Nov 2011.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Digital_currencies|Digital Currencies]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Secure Trading]]&lt;br /&gt;
* [[:Category:Local|Local]] exchanges&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[zh-cn:购买bitcoins]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=24900</id>
		<title>Buying bitcoins</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=24900"/>
		<updated>2012-03-27T16:45:32Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Fixed Rate Exchanges &amp;amp; Others */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are various methods available for buying bitcoins.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: Please be careful with your money.  When sending money to an exchange or seller you are trusting that the operator will not abscond with your funds and that the operator maintains secure systems that protect against theft -- internal or external.  It is recommended that you obtain the real-world identity of the operator and ensure that sufficient recourse is available.  Exchanging or storing significant funds with exchanges is not recommended.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Major Exchanges==&lt;br /&gt;
&lt;br /&gt;
The least expensive methods for buying bitcoins involve transferring funds using a bank wire, ACH, bank transfer (ACH, EUR / SEPA).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Exchange || Type || Adding Funds || Withdrawing Funds || [[eWallet]] || Notes&lt;br /&gt;
|-&lt;br /&gt;
|  [[MtGox]] || Market || BTC&amp;lt;br/&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;USD (Wire to [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;GBP (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Wire via [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || {{Table Value Yes}} || Oldest running exchange. Higest daily volume. Respecting AML laws, Restrictions and limits on withdrawals.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Britcoin]]&amp;lt;br/&amp;gt;&amp;amp;amp;&amp;lt;br/&amp;gt;[[Intersango]] || Market || BTC&amp;lt;br /&amp;gt;GBP (bank deposit)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Domestic bank wire)&amp;lt;br /&amp;gt;USD (ACH)&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || BTC&amp;lt;br /&amp;gt;GBP (bank transfer)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || {{Table Value Yes}} || Operated by the [https://bitcoinconsultancy.com/ BitcoinConsultancy] &amp;lt;br/&amp;gt; [https://intersango.com Intersango] is a completely custom trading platform built from the ground up with security, scalability and extensibility in mind. [https://bitcointalk.org/index.php?topic=43745.0 More Information]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Boasts an [https://bitcoinconsultancy.com/wiki/index.php/Intersango/API ever expanding API]&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirWoX]] || Market || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br/&amp;gt;USD,EUR,GBP (Credit &amp;amp; Debit cards via [[Moneybookers]])&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (DIRECTebanking / Sofortüberweisung)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[paysafecard]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br /&amp;gt;USD,EUR,GBP ([[Moneybookers]])&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || {{Table Value Yes}} || Trading through Second Life Linden Dollars.&amp;lt;br/&amp;gt;Variable limits on PayPal and Credit Card deposits. &lt;br /&gt;
|-&lt;br /&gt;
|  [[BTC-E]] || Market || BTC&amp;lt;br/&amp;gt;USD ([[Liberty Reserve]])&amp;lt;br /&amp;gt;USD (Interkassa) || BTC&amp;lt;br/&amp;gt;USD (Webmoney) || {{Table Value Yes}} || Language: Russian.  Interkassa can be funded from Webmoney and many other methods.&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirtEx]] || Market || BTC&amp;lt;br/&amp;gt;CAD (online bill pay)&amp;lt;br /&amp;gt;CAD (cash at TDBank) || BTC&amp;lt;br/&amp;gt;CAD (direct deposit) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[Camp BX]] (CBX) || Market || BTC &amp;lt;br/&amp;gt;USD (Check / ACH Direct Deposit)&amp;lt;br /&amp;gt;USPS Postal Money Order &amp;lt;br/&amp;gt; USD ([[Dwolla]]) &amp;lt;br/&amp;gt; USD Bill Pay &amp;lt;br/&amp;gt; Walmart MoneyGram || BTC &amp;lt;br /&amp;gt;USD (Check / ACH Direct Deposit)&amp;lt;br /&amp;gt;USPS Postal Money Order &amp;lt;br/&amp;gt; USD ([[Dwolla]])&amp;lt;br/&amp;gt; USD (Domestic bank wire)&amp;lt;br/&amp;gt;USD (International bank wire) || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Security certification from McAfee&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Advanced trading options with AON/FOK/Market&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;STOPLOSS and Short-Selling in Pipeline&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Trading API available&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Wallet API available &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; CBX Instant Bitcoin Transfers Feature &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Stoploss / Custom Order Expiry Date/Time &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; SMS (Text Message) Notifications &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Two-Factor Authentication &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Based in USA - Atlanta &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[Mercado Bitcoin]] || Market || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer)&amp;lt;br /&amp;gt;BRL (Bank transfer - MoIP)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-Central]] || Market || BTC&amp;lt;br /&amp;gt;CAD (Interac)&amp;lt;br /&amp;gt;CAD (Bank wire)&amp;lt;br /&amp;gt;CAD (Cash deposit)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;INR (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;PGAU [[Pecunix]] Gold || BTC&amp;lt;br /&amp;gt;CAD (Interac)&amp;lt;br /&amp;gt;CAD (Bank wire)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;INR (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;[[Pecunix]] Gold || {{Table Value Yes}} || [https://github.com/davout/bitcoin-central Open-source], community reviewed platform&amp;lt;br /&amp;gt;Available in French and English languages&lt;br /&gt;
|-&lt;br /&gt;
|  [[HelloBitcoin]] || Market || BTC&amp;lt;br/&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;br /&amp;gt;USD (Check) || BTC&amp;lt;br/&amp;gt;USD (Check)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;br /&amp;gt;USD (ACH) || {{Table Value Yes}} || Offers margin trading and shorting.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Brasil Bitcoin Market]] || Market || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[Australian Bitcoin Exchange]] || Market || BTC&amp;lt;br /&amp;gt;AUD (Electronic funds deposit)&amp;lt;br /&amp;gt;AUD (Mtgox Redeemable code) || BTC&amp;lt;br /&amp;gt;AUD (Electronic funds transfer) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[BitStamp]] || Market || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || {{Table Value Yes}} || EUR and CHF deposits converted to/from USD for trading&lt;br /&gt;
|-&lt;br /&gt;
|  [[Rock Currency Exchange]] || Market || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla) || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla)  || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[CryptoXchange]]  || Market || BTC&amp;lt;br/&amp;gt;NMC&amp;lt;br/&amp;gt;LTC&amp;lt;br/&amp;gt;USD&amp;lt;br/&amp;gt;AUD (Bank Transfer)&amp;lt;br/&amp;gt;GBP || BTC&amp;lt;br/&amp;gt;NMC&amp;lt;br/&amp;gt;LTC&amp;lt;br/&amp;gt;USD&amp;lt;br/&amp;gt;AUD (Bank Transfer)&amp;lt;br/&amp;gt;GBP  || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Buy Gold,Silver,Palladium and Casascius physical bitcoins plus other items in the store.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Affiliate program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Mining Pool integration program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Bitcoin, Namecoin and Litecoin &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Multiple Authentication Levels&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; API &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Free Yubikey&#039;s to High Volume Traders &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; An Australian Owned and Operated Registered Company.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&lt;br /&gt;
Inquiries: contact@cryptoxchanger.com or Phone: +61280050602 &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[WM-Center]] || Exchanger || BTC&amp;lt;br/&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP || BTC&amp;lt;br /&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP&amp;lt;br /&amp;gt; PayPal USD/EUR, Moneybookers, Neteller || {{Table Value No}} || 24/7/365 support in english, spanish and russian!&lt;br /&gt;
|-&lt;br /&gt;
|  [[bitNZ]] || Market || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitfloor]] || Market || BTC&amp;lt;br/&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;USD (Mt. Gox Redeemable Code) || BTC&amp;lt;br/&amp;gt;USD (Dwolla) || {{Table Value Yes}} || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fixed Rate Exchanges &amp;amp; Others==&lt;br /&gt;
&lt;br /&gt;
For smaller amounts, the options are limited due to bank transfer fees, conversion fees and transaction size restrictions. Options include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[https://blockchain.info/wallet/sms-phone-deposits Blockchain.info]] || Fixed Rate || USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK || Purchased using SMS or premium phone call.&lt;br /&gt;
|-&lt;br /&gt;
| [http://au.spendbitcoins.com au.spendbitcoins.com] || Fixed Rate || AUD || cash deposit at NAB &lt;br /&gt;
|-&lt;br /&gt;
| [http://buybitcoin.com BuyBitcoin] || Market || USD (Cash)&amp;lt;BR /&amp;gt;USD (Western Union)&amp;lt;BR /&amp;gt;USD (PayPal)&amp;lt;BR /&amp;gt;USD (Credit Card)&amp;lt;BR /&amp;gt;USD (Dwolla)&amp;lt;BR /&amp;gt;USD (Cash deposit)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;BR /&amp;gt;USD (Cash in the mail)&amp;lt;BR /&amp;gt;USD (Money Order)&amp;lt;BR /&amp;gt;USD (Cashier&#039;s Check/Certified Check)&amp;lt;BR /&amp;gt;USD (Traveler&#039;s Check)&amp;lt;BR /&amp;gt;USD (Prepaid Debit Card)&amp;lt;BR /&amp;gt; || Instant Bitcoin delivery over the phone.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Public office address: 290 5th Ave, 5th floor, New York, NY  10001&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Telephone or SMS text message 24 hours: +1 646-580-0044&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.de]] || Market || EUR (bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Liberty Reserve)&amp;lt;br /&amp;gt;EUR (MoneyBookers) || Varies (person to person)&amp;lt;br /&amp;gt;0.01 free Bitcoins for every new user&amp;lt;br /&amp;gt;eWallet&amp;lt;br /&amp;gt;Affiliate program&amp;lt;br /&amp;gt;Language: German, Englisch&amp;lt;br/&amp;gt; News&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoinmarket24.com]] || Fixed Rate || EUR (SEPA bank transfer) || Instant Bitcoin purchases via SEPA. No registration needed!&lt;br /&gt;
|-&lt;br /&gt;
| [[Blizzcoin]] || Fixed Rate || EUR (SEPA bank transfer) || Buy Bitcoins within minutes. Instant exchange. &amp;lt;br /&amp;gt;No registration.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Market]] || Market || USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD (MoneyBookers)&amp;lt;br /&amp;gt;GAU (Pecunix) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.eu]] || Market || EUR (Euro)&amp;lt;br /&amp;gt;GBP (British Sterling Pound)&amp;lt;br /&amp;gt;USD (U.S. Dollar)&amp;lt;br&amp;gt;PLN (Polish złoty)&amp;lt;br /&amp;gt;AUD (Australian Dollar)&amp;lt;br /&amp;gt;CAD (Canadian Dollar)&amp;lt;br /&amp;gt;ZAR (South African Rand)&amp;lt;br /&amp;gt;ILS (Israeli Shekel)&amp;lt;br /&amp;gt;CHF (Swiss Franc)&amp;lt;br&amp;gt;RUB (Russian Ruble) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoiny.cz]] || Market || CZK || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCX.se]] || Fixed Rate || SEK || Transfer to and banks in Sweden.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bit]] / BTC China || Market || n/a || n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitfunnel]] || Credit Card payment exchange/brokering services || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin-otc|#bitcoin-otc]] || [http://bitcoin-otc.com/vieworderbook.php Order Book] || Varies (person to person) || IRC trading marketplace will usually have people willing to deal for small and larger amounts using various payment methods, including [[PayPal]], [[Dwolla]], [[Linden Dollars]], etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Lilion Transfer]] || Fixed Rate || Bank Transfer: USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK&amp;lt;br /&amp;gt; Liberty Reserve&amp;lt;br /&amp;gt;Perfect Money&amp;lt;br /&amp;gt;Monetto&amp;lt;br /&amp;gt;OK Pay&amp;lt;br /&amp;gt;Cosmic Pay&amp;lt;br /&amp;gt;Pecunix&amp;lt;br /&amp;gt;C-Gold&amp;lt;br /&amp;gt;E-Pay Payments&amp;lt;br /&amp;gt;PayPal|| 122 accounts worldwide.&amp;lt;br /&amp;gt; Support in 30 languages&lt;br /&gt;
|-&lt;br /&gt;
| [[Nanaimo Gold]] || Fixed Rate || USD (Liberty Reserve)&amp;lt;br /&amp;gt;Western Union money transfer&amp;lt;br /&amp;gt;Moneygram money transfer&amp;lt;br /&amp;gt;Cash in the mail || LR &amp;lt;--&amp;gt; Bitcoin exchange is automated&amp;lt;br /&amp;gt;For cash in the mail send USD, EUR, CAD, or GBP.  Canada mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Argentina]] || Fixed Rate || Cash: ARS, BRL, USD &amp;lt;br /&amp;gt; Bank transfer: ARS || No exchange fees!&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin.com.es]] || Fixed Rate || EUR (bank deposit) || Bank transfer or cash deposits at OpenBank in Spain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bahtcoin]] || Fixed Rate || Cash, Webmoney&amp;lt;br /&amp;gt;Liberty Reserve USD || Will cash out to Thai mobile and gaming prepaid cards as well.&lt;br /&gt;
|-&lt;br /&gt;
| [[DialCoin]] || Fixed Rate || EUR || Purchased using SMS. Charges made to mobile carrier.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Brasil]] || Fixed Rate || BRL (Brazilian Real)&amp;lt;br /&amp;gt;USD || Cash exchange&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPiggy]] || Fixed Rate || AUD (Australian Dollar)|| Payment via bank transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[GetBitcoin]] || Fixed Rate || USD (Dwolla)&amp;lt;BR /&amp;gt;USD (Cash deposit)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;BR /&amp;gt;USD (Cash in the mail)&amp;lt;BR /&amp;gt;USD (Money Order)&amp;lt;BR /&amp;gt;USD (Cashier&#039;s Check/Certified Check)&amp;lt;BR /&amp;gt;USD (Western Union)&amp;lt;BR /&amp;gt;USD (Traveler&#039;s Check)&amp;lt;BR /&amp;gt;USD (Prepaid Debit Card)&amp;lt;BR /&amp;gt; || For cash in mail, send USD.  U.S. mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.local]] || Directory || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[bcchanger.com]] || Directory || Enables person to person purchases and sales via PayPal, MoneyBookers and other e-currency platforms ||&lt;br /&gt;
|-&lt;br /&gt;
| [[SimpleCoin]] || Fixed Rate || USD|| Payment via credit or debit card.&lt;br /&gt;
|-&lt;br /&gt;
| [[YouTipIt]] || Fixed Rate || USD&amp;lt;br /&amp;gt;EUR&amp;lt;br /&amp;gt;GBP || Purchase bitcoins to add to your balance with YouTipIt using credit card through ClickAndBuy.&lt;br /&gt;
|-&lt;br /&gt;
| [[Ubitex]] || In person exchange || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoil]] || Fixed Rate || ILS (bank transfer) ||&lt;br /&gt;
|- &lt;br /&gt;
|[[btcnow]] || Market || USD (OKPay, Dwolla) ||  bitcoins transferred instantly&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.Btc-Direct.fr Btc-Direct] || Market ||  Paid by phone or SMS&amp;lt;br /&amp;gt;USD&amp;lt;br /&amp;gt;EUR&amp;lt;br /&amp;gt;GBP  || Incredible: Purchase your Bitcoins with your phone !!. We are the first to offer you the easiest way to buy Bitcoins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Financial Services==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Settled || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [https://Bitcoinica.com Bitcoinica] || BTC/USD Contract for Difference (CFD) trading || BTC, USD, EUR, GBP || BTC, USD || Leveraged trading from 2.5X and higher.&lt;br /&gt;
|-&lt;br /&gt;
| [http://polimedia.us/bitcoin/options.php Derivatives] || Buy / Sell / Exercise CALLs / PUTs, American style.&amp;lt;br /&amp;gt;52 strikes offered (by .5), current month + 2.&amp;lt;br /&amp;gt; No shorting available yet.|| BTC || BTC || Transactions encoded via amt.&amp;lt;br /&amp;gt; Must use non-rounding client&amp;lt;br /&amp;gt;(0.3.24 or later)&lt;br /&gt;
|-&lt;br /&gt;
| [https://vircurex.com Vircurex] || Buy / Sell Options&amp;lt;br/&amp;gt;Loan / Borrow || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Physical Bitcoins==&lt;br /&gt;
&lt;br /&gt;
Physical Bitcoins are bearer tokens that have an embedded redeemable digital bitcoin value if torn open.  While they are somewhat expensive if bought purely for the digital bitcoins, they are relatively easy to get, because they can be purchased with PayPal or credit card - payment methods not typically not accepted for pure digital bitcoin purchases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.memorydealers.com Memory Dealers] || Casascius Physical Bitcoins || USD (PayPal/Credit Card) || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.casascius.com Casascius.com] || Casascius Physical Bitcoins || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.giftcoin.net/card Bitcoin Gift Card] || Bitcioin Gift Card Physical Bitcoin Issued By GiftCoin || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bitbills.com Bitbills] || Bitbills cards || BTC || Not taking orders as of Nov 2011.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Digital_currencies|Digital Currencies]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Secure Trading]]&lt;br /&gt;
* [[:Category:Local|Local]] exchanges&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[zh-cn:购买bitcoins]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=24899</id>
		<title>Buying bitcoins</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=24899"/>
		<updated>2012-03-27T16:45:08Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Fixed Rate Exchanges &amp;amp; Others */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are various methods available for buying bitcoins.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: Please be careful with your money.  When sending money to an exchange or seller you are trusting that the operator will not abscond with your funds and that the operator maintains secure systems that protect against theft -- internal or external.  It is recommended that you obtain the real-world identity of the operator and ensure that sufficient recourse is available.  Exchanging or storing significant funds with exchanges is not recommended.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Major Exchanges==&lt;br /&gt;
&lt;br /&gt;
The least expensive methods for buying bitcoins involve transferring funds using a bank wire, ACH, bank transfer (ACH, EUR / SEPA).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Exchange || Type || Adding Funds || Withdrawing Funds || [[eWallet]] || Notes&lt;br /&gt;
|-&lt;br /&gt;
|  [[MtGox]] || Market || BTC&amp;lt;br/&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;USD (Wire to [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;GBP (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Wire via [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || {{Table Value Yes}} || Oldest running exchange. Higest daily volume. Respecting AML laws, Restrictions and limits on withdrawals.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Britcoin]]&amp;lt;br/&amp;gt;&amp;amp;amp;&amp;lt;br/&amp;gt;[[Intersango]] || Market || BTC&amp;lt;br /&amp;gt;GBP (bank deposit)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Domestic bank wire)&amp;lt;br /&amp;gt;USD (ACH)&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || BTC&amp;lt;br /&amp;gt;GBP (bank transfer)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || {{Table Value Yes}} || Operated by the [https://bitcoinconsultancy.com/ BitcoinConsultancy] &amp;lt;br/&amp;gt; [https://intersango.com Intersango] is a completely custom trading platform built from the ground up with security, scalability and extensibility in mind. [https://bitcointalk.org/index.php?topic=43745.0 More Information]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Boasts an [https://bitcoinconsultancy.com/wiki/index.php/Intersango/API ever expanding API]&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirWoX]] || Market || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br/&amp;gt;USD,EUR,GBP (Credit &amp;amp; Debit cards via [[Moneybookers]])&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (DIRECTebanking / Sofortüberweisung)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[paysafecard]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br /&amp;gt;USD,EUR,GBP ([[Moneybookers]])&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || {{Table Value Yes}} || Trading through Second Life Linden Dollars.&amp;lt;br/&amp;gt;Variable limits on PayPal and Credit Card deposits. &lt;br /&gt;
|-&lt;br /&gt;
|  [[BTC-E]] || Market || BTC&amp;lt;br/&amp;gt;USD ([[Liberty Reserve]])&amp;lt;br /&amp;gt;USD (Interkassa) || BTC&amp;lt;br/&amp;gt;USD (Webmoney) || {{Table Value Yes}} || Language: Russian.  Interkassa can be funded from Webmoney and many other methods.&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirtEx]] || Market || BTC&amp;lt;br/&amp;gt;CAD (online bill pay)&amp;lt;br /&amp;gt;CAD (cash at TDBank) || BTC&amp;lt;br/&amp;gt;CAD (direct deposit) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[Camp BX]] (CBX) || Market || BTC &amp;lt;br/&amp;gt;USD (Check / ACH Direct Deposit)&amp;lt;br /&amp;gt;USPS Postal Money Order &amp;lt;br/&amp;gt; USD ([[Dwolla]]) &amp;lt;br/&amp;gt; USD Bill Pay &amp;lt;br/&amp;gt; Walmart MoneyGram || BTC &amp;lt;br /&amp;gt;USD (Check / ACH Direct Deposit)&amp;lt;br /&amp;gt;USPS Postal Money Order &amp;lt;br/&amp;gt; USD ([[Dwolla]])&amp;lt;br/&amp;gt; USD (Domestic bank wire)&amp;lt;br/&amp;gt;USD (International bank wire) || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Security certification from McAfee&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Advanced trading options with AON/FOK/Market&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;STOPLOSS and Short-Selling in Pipeline&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Trading API available&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Wallet API available &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; CBX Instant Bitcoin Transfers Feature &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Stoploss / Custom Order Expiry Date/Time &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; SMS (Text Message) Notifications &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Two-Factor Authentication &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Based in USA - Atlanta &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[Mercado Bitcoin]] || Market || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer)&amp;lt;br /&amp;gt;BRL (Bank transfer - MoIP)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-Central]] || Market || BTC&amp;lt;br /&amp;gt;CAD (Interac)&amp;lt;br /&amp;gt;CAD (Bank wire)&amp;lt;br /&amp;gt;CAD (Cash deposit)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;INR (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;PGAU [[Pecunix]] Gold || BTC&amp;lt;br /&amp;gt;CAD (Interac)&amp;lt;br /&amp;gt;CAD (Bank wire)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;INR (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;[[Pecunix]] Gold || {{Table Value Yes}} || [https://github.com/davout/bitcoin-central Open-source], community reviewed platform&amp;lt;br /&amp;gt;Available in French and English languages&lt;br /&gt;
|-&lt;br /&gt;
|  [[HelloBitcoin]] || Market || BTC&amp;lt;br/&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;br /&amp;gt;USD (Check) || BTC&amp;lt;br/&amp;gt;USD (Check)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;br /&amp;gt;USD (ACH) || {{Table Value Yes}} || Offers margin trading and shorting.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Brasil Bitcoin Market]] || Market || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[Australian Bitcoin Exchange]] || Market || BTC&amp;lt;br /&amp;gt;AUD (Electronic funds deposit)&amp;lt;br /&amp;gt;AUD (Mtgox Redeemable code) || BTC&amp;lt;br /&amp;gt;AUD (Electronic funds transfer) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[BitStamp]] || Market || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || {{Table Value Yes}} || EUR and CHF deposits converted to/from USD for trading&lt;br /&gt;
|-&lt;br /&gt;
|  [[Rock Currency Exchange]] || Market || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla) || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla)  || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[CryptoXchange]]  || Market || BTC&amp;lt;br/&amp;gt;NMC&amp;lt;br/&amp;gt;LTC&amp;lt;br/&amp;gt;USD&amp;lt;br/&amp;gt;AUD (Bank Transfer)&amp;lt;br/&amp;gt;GBP || BTC&amp;lt;br/&amp;gt;NMC&amp;lt;br/&amp;gt;LTC&amp;lt;br/&amp;gt;USD&amp;lt;br/&amp;gt;AUD (Bank Transfer)&amp;lt;br/&amp;gt;GBP  || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Buy Gold,Silver,Palladium and Casascius physical bitcoins plus other items in the store.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Affiliate program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Mining Pool integration program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Bitcoin, Namecoin and Litecoin &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Multiple Authentication Levels&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; API &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Free Yubikey&#039;s to High Volume Traders &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; An Australian Owned and Operated Registered Company.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&lt;br /&gt;
Inquiries: contact@cryptoxchanger.com or Phone: +61280050602 &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[WM-Center]] || Exchanger || BTC&amp;lt;br/&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP || BTC&amp;lt;br /&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP&amp;lt;br /&amp;gt; PayPal USD/EUR, Moneybookers, Neteller || {{Table Value No}} || 24/7/365 support in english, spanish and russian!&lt;br /&gt;
|-&lt;br /&gt;
|  [[bitNZ]] || Market || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitfloor]] || Market || BTC&amp;lt;br/&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;USD (Mt. Gox Redeemable Code) || BTC&amp;lt;br/&amp;gt;USD (Dwolla) || {{Table Value Yes}} || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fixed Rate Exchanges &amp;amp; Others==&lt;br /&gt;
&lt;br /&gt;
For smaller amounts, the options are limited due to bank transfer fees, conversion fees and transaction size restrictions. Options include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[https://blockchain.info/wallet/sms-phone-deposits]] || Fixed Rate || USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK || Purchased using SMS or premium phone call.&lt;br /&gt;
|-&lt;br /&gt;
| [http://au.spendbitcoins.com au.spendbitcoins.com] || Fixed Rate || AUD || cash deposit at NAB &lt;br /&gt;
|-&lt;br /&gt;
| [http://buybitcoin.com BuyBitcoin] || Market || USD (Cash)&amp;lt;BR /&amp;gt;USD (Western Union)&amp;lt;BR /&amp;gt;USD (PayPal)&amp;lt;BR /&amp;gt;USD (Credit Card)&amp;lt;BR /&amp;gt;USD (Dwolla)&amp;lt;BR /&amp;gt;USD (Cash deposit)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;BR /&amp;gt;USD (Cash in the mail)&amp;lt;BR /&amp;gt;USD (Money Order)&amp;lt;BR /&amp;gt;USD (Cashier&#039;s Check/Certified Check)&amp;lt;BR /&amp;gt;USD (Traveler&#039;s Check)&amp;lt;BR /&amp;gt;USD (Prepaid Debit Card)&amp;lt;BR /&amp;gt; || Instant Bitcoin delivery over the phone.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Public office address: 290 5th Ave, 5th floor, New York, NY  10001&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Telephone or SMS text message 24 hours: +1 646-580-0044&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.de]] || Market || EUR (bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Liberty Reserve)&amp;lt;br /&amp;gt;EUR (MoneyBookers) || Varies (person to person)&amp;lt;br /&amp;gt;0.01 free Bitcoins for every new user&amp;lt;br /&amp;gt;eWallet&amp;lt;br /&amp;gt;Affiliate program&amp;lt;br /&amp;gt;Language: German, Englisch&amp;lt;br/&amp;gt; News&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoinmarket24.com]] || Fixed Rate || EUR (SEPA bank transfer) || Instant Bitcoin purchases via SEPA. No registration needed!&lt;br /&gt;
|-&lt;br /&gt;
| [[Blizzcoin]] || Fixed Rate || EUR (SEPA bank transfer) || Buy Bitcoins within minutes. Instant exchange. &amp;lt;br /&amp;gt;No registration.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Market]] || Market || USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD (MoneyBookers)&amp;lt;br /&amp;gt;GAU (Pecunix) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.eu]] || Market || EUR (Euro)&amp;lt;br /&amp;gt;GBP (British Sterling Pound)&amp;lt;br /&amp;gt;USD (U.S. Dollar)&amp;lt;br&amp;gt;PLN (Polish złoty)&amp;lt;br /&amp;gt;AUD (Australian Dollar)&amp;lt;br /&amp;gt;CAD (Canadian Dollar)&amp;lt;br /&amp;gt;ZAR (South African Rand)&amp;lt;br /&amp;gt;ILS (Israeli Shekel)&amp;lt;br /&amp;gt;CHF (Swiss Franc)&amp;lt;br&amp;gt;RUB (Russian Ruble) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoiny.cz]] || Market || CZK || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCX.se]] || Fixed Rate || SEK || Transfer to and banks in Sweden.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bit]] / BTC China || Market || n/a || n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitfunnel]] || Credit Card payment exchange/brokering services || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin-otc|#bitcoin-otc]] || [http://bitcoin-otc.com/vieworderbook.php Order Book] || Varies (person to person) || IRC trading marketplace will usually have people willing to deal for small and larger amounts using various payment methods, including [[PayPal]], [[Dwolla]], [[Linden Dollars]], etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Lilion Transfer]] || Fixed Rate || Bank Transfer: USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK&amp;lt;br /&amp;gt; Liberty Reserve&amp;lt;br /&amp;gt;Perfect Money&amp;lt;br /&amp;gt;Monetto&amp;lt;br /&amp;gt;OK Pay&amp;lt;br /&amp;gt;Cosmic Pay&amp;lt;br /&amp;gt;Pecunix&amp;lt;br /&amp;gt;C-Gold&amp;lt;br /&amp;gt;E-Pay Payments&amp;lt;br /&amp;gt;PayPal|| 122 accounts worldwide.&amp;lt;br /&amp;gt; Support in 30 languages&lt;br /&gt;
|-&lt;br /&gt;
| [[Nanaimo Gold]] || Fixed Rate || USD (Liberty Reserve)&amp;lt;br /&amp;gt;Western Union money transfer&amp;lt;br /&amp;gt;Moneygram money transfer&amp;lt;br /&amp;gt;Cash in the mail || LR &amp;lt;--&amp;gt; Bitcoin exchange is automated&amp;lt;br /&amp;gt;For cash in the mail send USD, EUR, CAD, or GBP.  Canada mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Argentina]] || Fixed Rate || Cash: ARS, BRL, USD &amp;lt;br /&amp;gt; Bank transfer: ARS || No exchange fees!&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin.com.es]] || Fixed Rate || EUR (bank deposit) || Bank transfer or cash deposits at OpenBank in Spain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bahtcoin]] || Fixed Rate || Cash, Webmoney&amp;lt;br /&amp;gt;Liberty Reserve USD || Will cash out to Thai mobile and gaming prepaid cards as well.&lt;br /&gt;
|-&lt;br /&gt;
| [[DialCoin]] || Fixed Rate || EUR || Purchased using SMS. Charges made to mobile carrier.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Brasil]] || Fixed Rate || BRL (Brazilian Real)&amp;lt;br /&amp;gt;USD || Cash exchange&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPiggy]] || Fixed Rate || AUD (Australian Dollar)|| Payment via bank transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[GetBitcoin]] || Fixed Rate || USD (Dwolla)&amp;lt;BR /&amp;gt;USD (Cash deposit)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;BR /&amp;gt;USD (Cash in the mail)&amp;lt;BR /&amp;gt;USD (Money Order)&amp;lt;BR /&amp;gt;USD (Cashier&#039;s Check/Certified Check)&amp;lt;BR /&amp;gt;USD (Western Union)&amp;lt;BR /&amp;gt;USD (Traveler&#039;s Check)&amp;lt;BR /&amp;gt;USD (Prepaid Debit Card)&amp;lt;BR /&amp;gt; || For cash in mail, send USD.  U.S. mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.local]] || Directory || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[bcchanger.com]] || Directory || Enables person to person purchases and sales via PayPal, MoneyBookers and other e-currency platforms ||&lt;br /&gt;
|-&lt;br /&gt;
| [[SimpleCoin]] || Fixed Rate || USD|| Payment via credit or debit card.&lt;br /&gt;
|-&lt;br /&gt;
| [[YouTipIt]] || Fixed Rate || USD&amp;lt;br /&amp;gt;EUR&amp;lt;br /&amp;gt;GBP || Purchase bitcoins to add to your balance with YouTipIt using credit card through ClickAndBuy.&lt;br /&gt;
|-&lt;br /&gt;
| [[Ubitex]] || In person exchange || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoil]] || Fixed Rate || ILS (bank transfer) ||&lt;br /&gt;
|- &lt;br /&gt;
|[[btcnow]] || Market || USD (OKPay, Dwolla) ||  bitcoins transferred instantly&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.Btc-Direct.fr Btc-Direct] || Market ||  Paid by phone or SMS&amp;lt;br /&amp;gt;USD&amp;lt;br /&amp;gt;EUR&amp;lt;br /&amp;gt;GBP  || Incredible: Purchase your Bitcoins with your phone !!. We are the first to offer you the easiest way to buy Bitcoins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Financial Services==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Settled || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [https://Bitcoinica.com Bitcoinica] || BTC/USD Contract for Difference (CFD) trading || BTC, USD, EUR, GBP || BTC, USD || Leveraged trading from 2.5X and higher.&lt;br /&gt;
|-&lt;br /&gt;
| [http://polimedia.us/bitcoin/options.php Derivatives] || Buy / Sell / Exercise CALLs / PUTs, American style.&amp;lt;br /&amp;gt;52 strikes offered (by .5), current month + 2.&amp;lt;br /&amp;gt; No shorting available yet.|| BTC || BTC || Transactions encoded via amt.&amp;lt;br /&amp;gt; Must use non-rounding client&amp;lt;br /&amp;gt;(0.3.24 or later)&lt;br /&gt;
|-&lt;br /&gt;
| [https://vircurex.com Vircurex] || Buy / Sell Options&amp;lt;br/&amp;gt;Loan / Borrow || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Physical Bitcoins==&lt;br /&gt;
&lt;br /&gt;
Physical Bitcoins are bearer tokens that have an embedded redeemable digital bitcoin value if torn open.  While they are somewhat expensive if bought purely for the digital bitcoins, they are relatively easy to get, because they can be purchased with PayPal or credit card - payment methods not typically not accepted for pure digital bitcoin purchases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.memorydealers.com Memory Dealers] || Casascius Physical Bitcoins || USD (PayPal/Credit Card) || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.casascius.com Casascius.com] || Casascius Physical Bitcoins || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.giftcoin.net/card Bitcoin Gift Card] || Bitcioin Gift Card Physical Bitcoin Issued By GiftCoin || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bitbills.com Bitbills] || Bitbills cards || BTC || Not taking orders as of Nov 2011.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Digital_currencies|Digital Currencies]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Secure Trading]]&lt;br /&gt;
* [[:Category:Local|Local]] exchanges&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[zh-cn:购买bitcoins]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=24898</id>
		<title>Buying bitcoins</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Buying_bitcoins&amp;diff=24898"/>
		<updated>2012-03-27T16:44:28Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are various methods available for buying bitcoins.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: Please be careful with your money.  When sending money to an exchange or seller you are trusting that the operator will not abscond with your funds and that the operator maintains secure systems that protect against theft -- internal or external.  It is recommended that you obtain the real-world identity of the operator and ensure that sufficient recourse is available.  Exchanging or storing significant funds with exchanges is not recommended.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Major Exchanges==&lt;br /&gt;
&lt;br /&gt;
The least expensive methods for buying bitcoins involve transferring funds using a bank wire, ACH, bank transfer (ACH, EUR / SEPA).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Exchange || Type || Adding Funds || Withdrawing Funds || [[eWallet]] || Notes&lt;br /&gt;
|-&lt;br /&gt;
|  [[MtGox]] || Market || BTC&amp;lt;br/&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (International bank wire)&amp;lt;br /&amp;gt;USD (Wire to [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;GBP (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Wire via [[AurumXChange Company|AurumXChange]])&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve USD (via AurumXChange) || {{Table Value Yes}} || Oldest running exchange. Higest daily volume. Respecting AML laws, Restrictions and limits on withdrawals.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Britcoin]]&amp;lt;br/&amp;gt;&amp;amp;amp;&amp;lt;br/&amp;gt;[[Intersango]] || Market || BTC&amp;lt;br /&amp;gt;GBP (bank deposit)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;USD (Domestic bank wire)&amp;lt;br /&amp;gt;USD (ACH)&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || BTC&amp;lt;br /&amp;gt;GBP (bank transfer)&amp;lt;br/&amp;gt;USD ([[Dwolla]])&amp;lt;br /&amp;gt;EUR (SEPA bank wire)&amp;lt;br /&amp;gt;PLN (Bank Wire) || {{Table Value Yes}} || Operated by the [https://bitcoinconsultancy.com/ BitcoinConsultancy] &amp;lt;br/&amp;gt; [https://intersango.com Intersango] is a completely custom trading platform built from the ground up with security, scalability and extensibility in mind. [https://bitcointalk.org/index.php?topic=43745.0 More Information]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Boasts an [https://bitcoinconsultancy.com/wiki/index.php/Intersango/API ever expanding API]&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirWoX]] || Market || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br/&amp;gt;USD,EUR,GBP (Credit &amp;amp; Debit cards via [[Moneybookers]])&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (DIRECTebanking / Sofortüberweisung)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[paysafecard]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || BTC&amp;lt;br/&amp;gt;SLL (Second Life)&amp;lt;br/&amp;gt;ACD (Avination)&amp;lt;br/&amp;gt;OMC (OpenSim)&amp;lt;br/&amp;gt;USD,EUR,GBP,CHF ([[PayPal]])&amp;lt;br /&amp;gt;USD,EUR,GBP ([[Moneybookers]])&amp;lt;br/&amp;gt;USD,EUR,GBP ([[NETELLER]])&amp;lt;br/&amp;gt;EUR (SEPA bank transfer) || {{Table Value Yes}} || Trading through Second Life Linden Dollars.&amp;lt;br/&amp;gt;Variable limits on PayPal and Credit Card deposits. &lt;br /&gt;
|-&lt;br /&gt;
|  [[BTC-E]] || Market || BTC&amp;lt;br/&amp;gt;USD ([[Liberty Reserve]])&amp;lt;br /&amp;gt;USD (Interkassa) || BTC&amp;lt;br/&amp;gt;USD (Webmoney) || {{Table Value Yes}} || Language: Russian.  Interkassa can be funded from Webmoney and many other methods.&lt;br /&gt;
|-&lt;br /&gt;
|  [[VirtEx]] || Market || BTC&amp;lt;br/&amp;gt;CAD (online bill pay)&amp;lt;br /&amp;gt;CAD (cash at TDBank) || BTC&amp;lt;br/&amp;gt;CAD (direct deposit) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[Camp BX]] (CBX) || Market || BTC &amp;lt;br/&amp;gt;USD (Check / ACH Direct Deposit)&amp;lt;br /&amp;gt;USPS Postal Money Order &amp;lt;br/&amp;gt; USD ([[Dwolla]]) &amp;lt;br/&amp;gt; USD Bill Pay &amp;lt;br/&amp;gt; Walmart MoneyGram || BTC &amp;lt;br /&amp;gt;USD (Check / ACH Direct Deposit)&amp;lt;br /&amp;gt;USPS Postal Money Order &amp;lt;br/&amp;gt; USD ([[Dwolla]])&amp;lt;br/&amp;gt; USD (Domestic bank wire)&amp;lt;br/&amp;gt;USD (International bank wire) || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Security certification from McAfee&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Advanced trading options with AON/FOK/Market&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;STOPLOSS and Short-Selling in Pipeline&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Trading API available&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Wallet API available &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; CBX Instant Bitcoin Transfers Feature &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Stoploss / Custom Order Expiry Date/Time &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; SMS (Text Message) Notifications &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Two-Factor Authentication &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Based in USA - Atlanta &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;   &lt;br /&gt;
|-&lt;br /&gt;
|  [[Mercado Bitcoin]] || Market || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer)&amp;lt;br /&amp;gt;BRL (Bank transfer - MoIP)&amp;lt;br /&amp;gt;Liberty Reserve USD || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitcoin-Central]] || Market || BTC&amp;lt;br /&amp;gt;CAD (Interac)&amp;lt;br /&amp;gt;CAD (Bank wire)&amp;lt;br /&amp;gt;CAD (Cash deposit)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;INR (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;PGAU [[Pecunix]] Gold || BTC&amp;lt;br /&amp;gt;CAD (Interac)&amp;lt;br /&amp;gt;CAD (Bank wire)&amp;lt;br /&amp;gt;EUR (SEPA)&amp;lt;br /&amp;gt;INR (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD&amp;lt;br /&amp;gt;Liberty Reserve EUR&amp;lt;br /&amp;gt;[[Pecunix]] Gold || {{Table Value Yes}} || [https://github.com/davout/bitcoin-central Open-source], community reviewed platform&amp;lt;br /&amp;gt;Available in French and English languages&lt;br /&gt;
|-&lt;br /&gt;
|  [[HelloBitcoin]] || Market || BTC&amp;lt;br/&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;br /&amp;gt;USD (Check) || BTC&amp;lt;br/&amp;gt;USD (Check)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;br /&amp;gt;USD (ACH) || {{Table Value Yes}} || Offers margin trading and shorting.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Brasil Bitcoin Market]] || Market || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || BTC&amp;lt;br/&amp;gt;BRL (Bank transfer - MoIP) || {{Table Value Yes}} || Language: Portugese&lt;br /&gt;
|-&lt;br /&gt;
|  [[Australian Bitcoin Exchange]] || Market || BTC&amp;lt;br /&amp;gt;AUD (Electronic funds deposit)&amp;lt;br /&amp;gt;AUD (Mtgox Redeemable code) || BTC&amp;lt;br /&amp;gt;AUD (Electronic funds transfer) || {{Table Value Yes}} ||&lt;br /&gt;
|-&lt;br /&gt;
|  [[BitStamp]] || Market || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || BTC&amp;lt;br /&amp;gt;BTC (Redeemable code)&amp;lt;br /&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;USD (Intl wire)&amp;lt;br /&amp;gt;USD (Redeemable code)&amp;lt;br /&amp;gt;CHF || {{Table Value Yes}} || EUR and CHF deposits converted to/from USD for trading&lt;br /&gt;
|-&lt;br /&gt;
|  [[Rock Currency Exchange]] || Market || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla) || BTC&amp;lt;br/&amp;gt;EUR (SEPA transfer)&amp;lt;br /&amp;gt;SLL (Second Life)&amp;lt;br /&amp;gt;USD (Dwolla)  || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[CryptoXchange]]  || Market || BTC&amp;lt;br/&amp;gt;NMC&amp;lt;br/&amp;gt;LTC&amp;lt;br/&amp;gt;USD&amp;lt;br/&amp;gt;AUD (Bank Transfer)&amp;lt;br/&amp;gt;GBP || BTC&amp;lt;br/&amp;gt;NMC&amp;lt;br/&amp;gt;LTC&amp;lt;br/&amp;gt;USD&amp;lt;br/&amp;gt;AUD (Bank Transfer)&amp;lt;br/&amp;gt;GBP  || {{Table Value Yes}} || &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt; Buy Gold,Silver,Palladium and Casascius physical bitcoins plus other items in the store.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Affiliate program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Mining Pool integration program.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Bitcoin, Namecoin and Litecoin &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Multiple Authentication Levels&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; API &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; Free Yubikey&#039;s to High Volume Traders &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; An Australian Owned and Operated Registered Company.&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&lt;br /&gt;
Inquiries: contact@cryptoxchanger.com or Phone: +61280050602 &amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[WM-Center]] || Exchanger || BTC&amp;lt;br/&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP || BTC&amp;lt;br /&amp;gt;USD (International bank wire, Western Unon, Moneygram, Xoom etc, cash)&amp;lt;br /&amp;gt;EUR (IBAN bank wire)&amp;lt;br /&amp;gt;RUB (bank wire, WU, Anelik and etc, cash)&amp;lt;br /&amp;gt;AUD (Bank wire)&amp;lt;br /&amp;gt;Liberty Reserve USD/EUR, Perfect Money USD/EUR, Pecunix, Paxum, c-gold, Hoopay, GDP&amp;lt;br /&amp;gt; PayPal USD/EUR, Moneybookers, Neteller || {{Table Value No}} || 24/7/365 support in english, spanish and russian!&lt;br /&gt;
|-&lt;br /&gt;
|  [[bitNZ]] || Market || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || BTC&amp;lt;br/&amp;gt;NZD (Domestic bank transfer) || {{Table Value Yes}} || &lt;br /&gt;
|-&lt;br /&gt;
|  [[Bitfloor]] || Market || BTC&amp;lt;br/&amp;gt;USD (Dwolla)&amp;lt;br /&amp;gt;USD (Mt. Gox Redeemable Code) || BTC&amp;lt;br/&amp;gt;USD (Dwolla) || {{Table Value Yes}} || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fixed Rate Exchanges &amp;amp; Others==&lt;br /&gt;
&lt;br /&gt;
For smaller amounts, the options are limited due to bank transfer fees, conversion fees and transaction size restrictions. Options include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment Method || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[Blockchain.info]] || Fixed Rate || USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK || Purchased using SMS or premium phone call.&lt;br /&gt;
|-&lt;br /&gt;
| [http://au.spendbitcoins.com au.spendbitcoins.com] || Fixed Rate || AUD || cash deposit at NAB &lt;br /&gt;
|-&lt;br /&gt;
| [http://buybitcoin.com BuyBitcoin] || Market || USD (Cash)&amp;lt;BR /&amp;gt;USD (Western Union)&amp;lt;BR /&amp;gt;USD (PayPal)&amp;lt;BR /&amp;gt;USD (Credit Card)&amp;lt;BR /&amp;gt;USD (Dwolla)&amp;lt;BR /&amp;gt;USD (Cash deposit)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;BR /&amp;gt;USD (Cash in the mail)&amp;lt;BR /&amp;gt;USD (Money Order)&amp;lt;BR /&amp;gt;USD (Cashier&#039;s Check/Certified Check)&amp;lt;BR /&amp;gt;USD (Traveler&#039;s Check)&amp;lt;BR /&amp;gt;USD (Prepaid Debit Card)&amp;lt;BR /&amp;gt; || Instant Bitcoin delivery over the phone.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Public office address: 290 5th Ave, 5th floor, New York, NY  10001&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Telephone or SMS text message 24 hours: +1 646-580-0044&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.de]] || Market || EUR (bank wire)&amp;lt;br /&amp;gt;EUR (SEPA bank transfer)&amp;lt;br /&amp;gt;EUR (Liberty Reserve)&amp;lt;br /&amp;gt;EUR (MoneyBookers) || Varies (person to person)&amp;lt;br /&amp;gt;0.01 free Bitcoins for every new user&amp;lt;br /&amp;gt;eWallet&amp;lt;br /&amp;gt;Affiliate program&amp;lt;br /&amp;gt;Language: German, Englisch&amp;lt;br/&amp;gt; News&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoinmarket24.com]] || Fixed Rate || EUR (SEPA bank transfer) || Instant Bitcoin purchases via SEPA. No registration needed!&lt;br /&gt;
|-&lt;br /&gt;
| [[Blizzcoin]] || Fixed Rate || EUR (SEPA bank transfer) || Buy Bitcoins within minutes. Instant exchange. &amp;lt;br /&amp;gt;No registration.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Market]] || Market || USD (Liberty Reserve)&amp;lt;br /&amp;gt;USD (MoneyBookers)&amp;lt;br /&amp;gt;GAU (Pecunix) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[BitMarket.eu]] || Market || EUR (Euro)&amp;lt;br /&amp;gt;GBP (British Sterling Pound)&amp;lt;br /&amp;gt;USD (U.S. Dollar)&amp;lt;br&amp;gt;PLN (Polish złoty)&amp;lt;br /&amp;gt;AUD (Australian Dollar)&amp;lt;br /&amp;gt;CAD (Canadian Dollar)&amp;lt;br /&amp;gt;ZAR (South African Rand)&amp;lt;br /&amp;gt;ILS (Israeli Shekel)&amp;lt;br /&amp;gt;CHF (Swiss Franc)&amp;lt;br&amp;gt;RUB (Russian Ruble) || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoiny.cz]] || Market || CZK || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCX.se]] || Fixed Rate || SEK || Transfer to and banks in Sweden.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bit]] / BTC China || Market || n/a || n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitfunnel]] || Credit Card payment exchange/brokering services || Varies (person to person)&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin-otc|#bitcoin-otc]] || [http://bitcoin-otc.com/vieworderbook.php Order Book] || Varies (person to person) || IRC trading marketplace will usually have people willing to deal for small and larger amounts using various payment methods, including [[PayPal]], [[Dwolla]], [[Linden Dollars]], etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Lilion Transfer]] || Fixed Rate || Bank Transfer: USD, AUD, CAD, JPY, EUR, CHF, GBP, PLN, CZK, RON, RUB, SEK, NOK, DKK&amp;lt;br /&amp;gt; Liberty Reserve&amp;lt;br /&amp;gt;Perfect Money&amp;lt;br /&amp;gt;Monetto&amp;lt;br /&amp;gt;OK Pay&amp;lt;br /&amp;gt;Cosmic Pay&amp;lt;br /&amp;gt;Pecunix&amp;lt;br /&amp;gt;C-Gold&amp;lt;br /&amp;gt;E-Pay Payments&amp;lt;br /&amp;gt;PayPal|| 122 accounts worldwide.&amp;lt;br /&amp;gt; Support in 30 languages&lt;br /&gt;
|-&lt;br /&gt;
| [[Nanaimo Gold]] || Fixed Rate || USD (Liberty Reserve)&amp;lt;br /&amp;gt;Western Union money transfer&amp;lt;br /&amp;gt;Moneygram money transfer&amp;lt;br /&amp;gt;Cash in the mail || LR &amp;lt;--&amp;gt; Bitcoin exchange is automated&amp;lt;br /&amp;gt;For cash in the mail send USD, EUR, CAD, or GBP.  Canada mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Argentina]] || Fixed Rate || Cash: ARS, BRL, USD &amp;lt;br /&amp;gt; Bank transfer: ARS || No exchange fees!&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin.com.es]] || Fixed Rate || EUR (bank deposit) || Bank transfer or cash deposits at OpenBank in Spain.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bahtcoin]] || Fixed Rate || Cash, Webmoney&amp;lt;br /&amp;gt;Liberty Reserve USD || Will cash out to Thai mobile and gaming prepaid cards as well.&lt;br /&gt;
|-&lt;br /&gt;
| [[DialCoin]] || Fixed Rate || EUR || Purchased using SMS. Charges made to mobile carrier.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin Brasil]] || Fixed Rate || BRL (Brazilian Real)&amp;lt;br /&amp;gt;USD || Cash exchange&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPiggy]] || Fixed Rate || AUD (Australian Dollar)|| Payment via bank transfer.&lt;br /&gt;
|-&lt;br /&gt;
| [[GetBitcoin]] || Fixed Rate || USD (Dwolla)&amp;lt;BR /&amp;gt;USD (Cash deposit)&amp;lt;br /&amp;gt;USD (Bank wire)&amp;lt;BR /&amp;gt;USD (Cash in the mail)&amp;lt;BR /&amp;gt;USD (Money Order)&amp;lt;BR /&amp;gt;USD (Cashier&#039;s Check/Certified Check)&amp;lt;BR /&amp;gt;USD (Western Union)&amp;lt;BR /&amp;gt;USD (Traveler&#039;s Check)&amp;lt;BR /&amp;gt;USD (Prepaid Debit Card)&amp;lt;BR /&amp;gt; || For cash in mail, send USD.  U.S. mailing address.&lt;br /&gt;
|-&lt;br /&gt;
| [[bitcoin.local]] || Directory || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[bcchanger.com]] || Directory || Enables person to person purchases and sales via PayPal, MoneyBookers and other e-currency platforms ||&lt;br /&gt;
|-&lt;br /&gt;
| [[SimpleCoin]] || Fixed Rate || USD|| Payment via credit or debit card.&lt;br /&gt;
|-&lt;br /&gt;
| [[YouTipIt]] || Fixed Rate || USD&amp;lt;br /&amp;gt;EUR&amp;lt;br /&amp;gt;GBP || Purchase bitcoins to add to your balance with YouTipIt using credit card through ClickAndBuy.&lt;br /&gt;
|-&lt;br /&gt;
| [[Ubitex]] || In person exchange || Varies (person to person) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoil]] || Fixed Rate || ILS (bank transfer) ||&lt;br /&gt;
|- &lt;br /&gt;
|[[btcnow]] || Market || USD (OKPay, Dwolla) ||  bitcoins transferred instantly&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.Btc-Direct.fr Btc-Direct] || Market ||  Paid by phone or SMS&amp;lt;br /&amp;gt;USD&amp;lt;br /&amp;gt;EUR&amp;lt;br /&amp;gt;GBP  || Incredible: Purchase your Bitcoins with your phone !!. We are the first to offer you the easiest way to buy Bitcoins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Financial Services==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Settled || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [https://Bitcoinica.com Bitcoinica] || BTC/USD Contract for Difference (CFD) trading || BTC, USD, EUR, GBP || BTC, USD || Leveraged trading from 2.5X and higher.&lt;br /&gt;
|-&lt;br /&gt;
| [http://polimedia.us/bitcoin/options.php Derivatives] || Buy / Sell / Exercise CALLs / PUTs, American style.&amp;lt;br /&amp;gt;52 strikes offered (by .5), current month + 2.&amp;lt;br /&amp;gt; No shorting available yet.|| BTC || BTC || Transactions encoded via amt.&amp;lt;br /&amp;gt; Must use non-rounding client&amp;lt;br /&amp;gt;(0.3.24 or later)&lt;br /&gt;
|-&lt;br /&gt;
| [https://vircurex.com Vircurex] || Buy / Sell Options&amp;lt;br/&amp;gt;Loan / Borrow || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC || BTC, NMC, LTC, DVC, GG, I0C, IXC, SC ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Physical Bitcoins==&lt;br /&gt;
&lt;br /&gt;
Physical Bitcoins are bearer tokens that have an embedded redeemable digital bitcoin value if torn open.  While they are somewhat expensive if bought purely for the digital bitcoins, they are relatively easy to get, because they can be purchased with PayPal or credit card - payment methods not typically not accepted for pure digital bitcoin purchases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Type || Payment || Notes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.memorydealers.com Memory Dealers] || Casascius Physical Bitcoins || USD (PayPal/Credit Card) || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.casascius.com Casascius.com] || Casascius Physical Bitcoins || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [https://www.giftcoin.net/card Bitcoin Gift Card] || Bitcioin Gift Card Physical Bitcoin Issued By GiftCoin || BTC || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bitbills.com Bitbills] || Bitbills cards || BTC || Not taking orders as of Nov 2011.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Digital_currencies|Digital Currencies]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Secure Trading]]&lt;br /&gt;
* [[:Category:Local|Local]] exchanges&lt;br /&gt;
&lt;br /&gt;
[[Category:Exchanges]]&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[zh-cn:购买bitcoins]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Help:Introduction&amp;diff=23547</id>
		<title>Help:Introduction</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Help:Introduction&amp;diff=23547"/>
		<updated>2012-02-07T16:01:45Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Where to see and explore */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose of this page is to provide a general overview of the Bitcoin system and economy.&lt;br /&gt;
&lt;br /&gt;
==Basic Concepts==&lt;br /&gt;
&lt;br /&gt;
===Currency===&lt;br /&gt;
&lt;br /&gt;
Alice is far away from Bob and wants to buy his [http://www.grasshillalpacas.com/alpacaproductsforbitcoinoffer.html Alpaca socks]. In return, she wants to send him a dollar. A dollar bill is a piece of paper which is very easy to create (by those who can), but which is accepted by people in exchange for valuable products and services in the real world, such as the socks Alice wants to buy. One simple thing Alice can do is put a dollar bill in an envelope, mail it to Bob, and then wait for Bob to send the socks to her.&lt;br /&gt;
&lt;br /&gt;
===Banks===&lt;br /&gt;
&lt;br /&gt;
Another thing Alice can do is to &amp;quot;wire&amp;quot; the money to Bob. She can do that by first giving her dollar bills to an institution called a bank, the job of which is to safe-keep Alice&#039;s dollar bills and, in return, to give Alice a written promise (called a &amp;quot;bank statement&amp;quot;) that, whenever she wishes, she can come to the bank to take back the same number of dollar bills that she deposited. Since the money is still Alice&#039;s, she is entitled to do with it whatever she pleases, and the bank (like most banks), for a small fee, will do Alice the service of &amp;quot;giving&amp;quot; the dollar bills to Bob instead of her. This could be done by sending a person to Bob&#039;s door, with Alice&#039;s dollar bills in hand but usually it is done by Alice&#039;s bank by giving the dollar bills to Bob&#039;s bank and informing them that the money is for Bob, who will then see the amount in his next statement, or, if he is in a hurry, the next time he contacts his bank asking about how much money they have for him.&lt;br /&gt;
&lt;br /&gt;
Since banks have many customers, and bank employees require money for doing the job of talking to people and signing documents, banks in recent times have been using machines such as ATMs and web servers that do the job of interacting with customers instead of paid bank employees. The job of these machines is to learn what each customer wants to do with his money and, to the extent that it is possible, act on what the customer wants (for example, ATMs can hand cash). The people can always know how much money they have in their account and they are confident that the numbers they see in their bank statements and on their computer screens accurately reflect the number of dollars that they can get from the bank on demand. They can be so sure of that that they can accept those numbers in the same way they accept paper dollars (this is similar to the way people started accepting paper dollars as they accepted gold or silver).&lt;br /&gt;
&lt;br /&gt;
Such a system has several disadvantages:&lt;br /&gt;
* It is costly. EFTs in Europe can cost 25 euros. Credit transactions can cost several percent of the transaction.&lt;br /&gt;
* It is slow. Checking services take days to complete.&lt;br /&gt;
* In most cases, it cannot be anonymous.&lt;br /&gt;
* Accounts can be frozen. &lt;br /&gt;
* Banks and other payment processors like PayPal, Visa, and Mastercard can and sometimes do refuse to process payments for legal entities. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a system of owning and voluntarily transferring amounts of so-called bitcoins, in a manner similar to an on-line banking interface, but anonymously and without reliance on a central authority to maintain account balances. These bitcoins are valuable because they are useful and because they are limited in supply.&lt;br /&gt;
&lt;br /&gt;
==Bitcoin Basics==&lt;br /&gt;
&lt;br /&gt;
===Creation of coins===&lt;br /&gt;
The creation of coins must be limited for the currency to have any value. &lt;br /&gt;
&lt;br /&gt;
New coins are slowly [[Mining|mined]] into existence by following a mutually agreed-upon set of rules. A user [[Mining|mining]] bitcoins is running a program that searches tirelessly for a solution to a very difficult math problem whose difficulty is precisely known. The difficulty is automatically adjusted regularly so that the number of solutions found globally, by everyone, is constant: an average of 6 per hour. When a solution is found, the user may tell everyone of the existence of this new found solution, along with other information, packaged together in what is called a &amp;quot;[[Block|block]]&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Blocks contain 50 bitcoins at present. This amount is an incentive for people to perform the computation work required for block generation. Roughly every 4 years, the number of bitcoins that can be &amp;quot;mined&amp;quot; in a block reduces by 50%. Any blocks that are created by a malicious user that do not follow this rule (or any other rules) will be rejected by everyone else. The result is that no more than 21 million bitcoins will ever exist. &lt;br /&gt;
&lt;br /&gt;
Because the mining incentive to put forth the computational power to create blocks will eventually diminish, miners will some day pay for their hardware and electricity costs by collecting [[Transaction_fee|transaction fees]]. The sender of money may voluntarily pay a small transaction fee which will be kept by whoever finds the next block. Paying this fee will encourage the miner to include the transaction in a block more quickly.&lt;br /&gt;
&lt;br /&gt;
===Transferring a coin===&lt;br /&gt;
To guarantee that an eavesdropper, Eve, cannot access other people&#039;s bitcoins by creating transactions in their names we use a [[Wikipedia:Public-key_cryptography|public key system]] to make digital signatures. In this system, each person, such as Alice and Bob, has a pair of public and private keys which he/she stores in a safe [[Wallet|wallet]]. Only the user with his secret private key can sign a document, such as the transaction to give some of his bitcoins to somebody else, but any one can validate the signature using the user’s public key.&lt;br /&gt;
&lt;br /&gt;
Suppose Alice wants to send a bitcoin to Bob.&lt;br /&gt;
* Bob sends his public key to Alice.&lt;br /&gt;
* Alice adds Bob’s public key along with the amount she wants to transfer to a message: a &#039;transaction&#039; message.&lt;br /&gt;
* Alice signs the transaction with her secret private key.&lt;br /&gt;
* Alice broadcasts the transaction out over the bitcoin network for all to see.&lt;br /&gt;
&lt;br /&gt;
(Only the first step is actually completed by a human. The rest is done by the bitcoin client software.)&lt;br /&gt;
&lt;br /&gt;
As a result, anyone who knows the public keys of both Alice and Bob can now see that Alice agreed to transfer the amount to Bob, because nobody other than Alice has Alice&#039;s private key. Alice would be foolish to give her private key to other people, as this would allow them to sign transactions in her name, removing funds from her control.&lt;br /&gt;
&lt;br /&gt;
Later on, when Bob wishes to transfer the same bitcoin to Charley, he will do the same thing:&lt;br /&gt;
* Charlie sends Bob his public key.&lt;br /&gt;
* Bob adds Charlie&#039;s public key along with the amount he wants to transfer to a message: a &#039;transaction&#039; message.&lt;br /&gt;
* Bob signs the transaction with his private key.&lt;br /&gt;
* Bob broadcasts the transaction out over the bitcoin network for all to see. &lt;br /&gt;
&lt;br /&gt;
Only Bob can do this because only Bob has the private key that corresponds to the public key Alice included in the previous transaction. &lt;br /&gt;
&lt;br /&gt;
Eve cannot change who the coins belong to by replacing Bob’s public key with her public key, because Alice signed the transfer to Bob using her private key, declaring that the coins which belonged to her now belong to Bob, and Alice&#039;s private key is kept secret from Eve. So if Charley accepts that the original coin was in the hands of Alice he will also accept the fact that this coin was later passed to Bob and now Bob is passing this same coin to him.&lt;br /&gt;
&lt;br /&gt;
===Preventing double-spending===&lt;br /&gt;
The process described above does not prevent Alice from using a coin in more than one transaction. The following process does. This is the primary innovation behind Bitcoin.&lt;br /&gt;
&lt;br /&gt;
* Details about the [[Transactions|transaction]] are [[Network|sent and forwarded]] to all or as many other computers as possible.&lt;br /&gt;
* A constantly growing chain of [[Blocks|blocks]] that contains a record of all transactions is collectively maintained by all computers (each has a full copy).&lt;br /&gt;
* To be accepted in the chain, transaction blocks must be valid and must include [[proof of work]] (one block generated by the network every 10 minutes).&lt;br /&gt;
* Blocks are chained in a way so that, if any one is modified, all following blocks will have to be recomputed.&lt;br /&gt;
* When multiple valid continuations to this chain appear, only the longest such branch is accepted and it is then extended further.&lt;br /&gt;
&lt;br /&gt;
When Bob sees that his transaction has been included in a block, which has been made part of the single longest and fastest-growing block chain (extended with significant computational effort), he can be confident that the transaction by Alice has been accepted by the computers in the network and is permanently recorded, preventing Alice from creating a second transaction with the same coin. In order for Alice to thwart this system and double-spend her coins, she would need to muster more computing power than all other bitcoin users combined.&lt;br /&gt;
&lt;br /&gt;
===Anonymity===&lt;br /&gt;
There are no bitcoin &amp;quot;accounts&amp;quot; to set up, no e-mail addresses and no user-names and passwords to give, just for owning bitcoins. Each balance is simply associated with a randomly generated public-private key pair and the money &amp;quot;belongs&amp;quot; to whoever has the private key and can sign transactions with it. Moreover, those keys do not have to be registered anywhere in advance, as they are only actually used if and when there is a transaction involving them. Transacting parties do not need to know each other&#039;s identity in the same way that a store owner does not know Bob&#039;s name is Bob when Bob goes and buys groceries with cash.&lt;br /&gt;
&lt;br /&gt;
A [[Address|Bitcoin address]] mathematically corresponds to a public key and looks like this:&lt;br /&gt;
&lt;br /&gt;
:15VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC&lt;br /&gt;
&lt;br /&gt;
Each person can have many such addresses, each with its own balance, which makes it very difficult to know which person owns what amount. In order to protect his [[Anonymity|privacy]], Bob can even generate a new public-private key pair for each individual transaction. The Bitcoin software encourages this behavior by default. Continuing the example from above, when Charlie receives the bitcoin from Bob, Charlie will not be able to identify who owned the coin before Bob (not without asking Bob).&lt;br /&gt;
&lt;br /&gt;
You have completed reading our Bitcoin introduction!&lt;br /&gt;
&lt;br /&gt;
==Where to see and explore==&lt;br /&gt;
You can directly explore the system in action by visiting [http://blockchain.info/ Blockchain.info] or [http://blockexplorer.com/ Bitcoin Block Explorer].&lt;br /&gt;
The site shows you the latest blocks in the block chain. The [[Block_chain|block chain]] contains the agreed history of all transactions that took place in the system.&lt;br /&gt;
Note how many blocks were generated in the last hour which on average will be 6. Also notice the number of transactions and the total amount transferred in the last hour (last time I checked it was about 64 and 15K).&lt;br /&gt;
This should give you an indication of how active the system is.&lt;br /&gt;
&lt;br /&gt;
Next, drill into one of these blocks.&lt;br /&gt;
Start by noticing that the block&#039;s [[hash|hash]] begins with a run of zeros. This what made making it so difficult; a hash that begins with many zeros is much more difficult to find than a hash with few or no zeros. The computer that generated this block had to try many &#039;&#039;Nonce&#039;&#039; values (also listed on the block&#039;s page) until it found one that generated this run of zeros.&lt;br /&gt;
Next notice the line titled &#039;&#039;Previous block&#039;&#039;, each block contains the hash of the block that came before it, this is what forms the chain of blocks.&lt;br /&gt;
Now notice all the transactions the block contains. The first transaction is the income earned by the computer that generated this block. It includes a fixed amount of coins created out of thin air and possibly fee collected from other transactions in the same block.&lt;br /&gt;
&lt;br /&gt;
Drill into any of the transactions and you will see how it is made from one or more amounts coming in and out.&lt;br /&gt;
The fact that there can be more than one incoming and outgoing amounts, allow the system to join and break amounts in any possible way allowing for any fractional amount needed. Each incoming amount is a transaction from the past (which you can also drill to) coming from an address of someone and each outgoing amount is addressed to someone and will be part of a future transaction (which you can also drill too if it also had already taken place.)&lt;br /&gt;
&lt;br /&gt;
Finally you can drill into any of the  [[Address|addresses]] and see what public information is available.&lt;br /&gt;
&lt;br /&gt;
To get an impression of the amount of activity on the Bitcoin network, you might like to visit the monitoring websites [[Bitcoin Monitor]] and [[Bitcoin Watch]]. The first shows a real-time visualization of events on the Bitcoin network and the second lists general statistics on the amount and size of recent transactions.&lt;br /&gt;
&lt;br /&gt;
===How many people use Bitcoin?===&lt;br /&gt;
&lt;br /&gt;
This is quite a difficult question to answer accurately. The best estimation is to count how many bitcoin clients connected to the network in the last 24 hours. We can do this as the client transmits its address to the other members of the network periodically. The estimate as of Sept 2011 is about 60,000 users. To get a more current estimate see [http://bitcoinstatus.rowit.co.uk/ Bitcoin Network Status Charts]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=Um63OQz3bjo What is Bitcoin?] video introduction&lt;br /&gt;
* Installing Bitcoin [[getting started]] &lt;br /&gt;
* [[How bitcoin works]]&lt;br /&gt;
* [[Using Bitcoin]]&lt;br /&gt;
* A gentle introduction to Bitcoin - [[BitcoinMe]]&lt;br /&gt;
* [http://coinlab.com/2011/12/bitcoin-primer Bitcoin Primer] from CoinLab&lt;br /&gt;
* Another introduction, &#039;&#039;The Rebooting Of Money&#039;&#039; podcast is found at [[Bitcoin Money]]&lt;br /&gt;
* A beginner&#039;s step-by-step guide to using Bitcoin, use of alternative wallets, and generally keeping your money and computer secure - [http://BitcoinIntro.com BitcoinIntro.com]&lt;br /&gt;
&lt;br /&gt;
[[zh-cn:简介]]&lt;br /&gt;
&lt;br /&gt;
[[de:Einführung]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Help:Introduction&amp;diff=23546</id>
		<title>Help:Introduction</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Help:Introduction&amp;diff=23546"/>
		<updated>2012-02-07T16:01:22Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose of this page is to provide a general overview of the Bitcoin system and economy.&lt;br /&gt;
&lt;br /&gt;
==Basic Concepts==&lt;br /&gt;
&lt;br /&gt;
===Currency===&lt;br /&gt;
&lt;br /&gt;
Alice is far away from Bob and wants to buy his [http://www.grasshillalpacas.com/alpacaproductsforbitcoinoffer.html Alpaca socks]. In return, she wants to send him a dollar. A dollar bill is a piece of paper which is very easy to create (by those who can), but which is accepted by people in exchange for valuable products and services in the real world, such as the socks Alice wants to buy. One simple thing Alice can do is put a dollar bill in an envelope, mail it to Bob, and then wait for Bob to send the socks to her.&lt;br /&gt;
&lt;br /&gt;
===Banks===&lt;br /&gt;
&lt;br /&gt;
Another thing Alice can do is to &amp;quot;wire&amp;quot; the money to Bob. She can do that by first giving her dollar bills to an institution called a bank, the job of which is to safe-keep Alice&#039;s dollar bills and, in return, to give Alice a written promise (called a &amp;quot;bank statement&amp;quot;) that, whenever she wishes, she can come to the bank to take back the same number of dollar bills that she deposited. Since the money is still Alice&#039;s, she is entitled to do with it whatever she pleases, and the bank (like most banks), for a small fee, will do Alice the service of &amp;quot;giving&amp;quot; the dollar bills to Bob instead of her. This could be done by sending a person to Bob&#039;s door, with Alice&#039;s dollar bills in hand but usually it is done by Alice&#039;s bank by giving the dollar bills to Bob&#039;s bank and informing them that the money is for Bob, who will then see the amount in his next statement, or, if he is in a hurry, the next time he contacts his bank asking about how much money they have for him.&lt;br /&gt;
&lt;br /&gt;
Since banks have many customers, and bank employees require money for doing the job of talking to people and signing documents, banks in recent times have been using machines such as ATMs and web servers that do the job of interacting with customers instead of paid bank employees. The job of these machines is to learn what each customer wants to do with his money and, to the extent that it is possible, act on what the customer wants (for example, ATMs can hand cash). The people can always know how much money they have in their account and they are confident that the numbers they see in their bank statements and on their computer screens accurately reflect the number of dollars that they can get from the bank on demand. They can be so sure of that that they can accept those numbers in the same way they accept paper dollars (this is similar to the way people started accepting paper dollars as they accepted gold or silver).&lt;br /&gt;
&lt;br /&gt;
Such a system has several disadvantages:&lt;br /&gt;
* It is costly. EFTs in Europe can cost 25 euros. Credit transactions can cost several percent of the transaction.&lt;br /&gt;
* It is slow. Checking services take days to complete.&lt;br /&gt;
* In most cases, it cannot be anonymous.&lt;br /&gt;
* Accounts can be frozen. &lt;br /&gt;
* Banks and other payment processors like PayPal, Visa, and Mastercard can and sometimes do refuse to process payments for legal entities. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a system of owning and voluntarily transferring amounts of so-called bitcoins, in a manner similar to an on-line banking interface, but anonymously and without reliance on a central authority to maintain account balances. These bitcoins are valuable because they are useful and because they are limited in supply.&lt;br /&gt;
&lt;br /&gt;
==Bitcoin Basics==&lt;br /&gt;
&lt;br /&gt;
===Creation of coins===&lt;br /&gt;
The creation of coins must be limited for the currency to have any value. &lt;br /&gt;
&lt;br /&gt;
New coins are slowly [[Mining|mined]] into existence by following a mutually agreed-upon set of rules. A user [[Mining|mining]] bitcoins is running a program that searches tirelessly for a solution to a very difficult math problem whose difficulty is precisely known. The difficulty is automatically adjusted regularly so that the number of solutions found globally, by everyone, is constant: an average of 6 per hour. When a solution is found, the user may tell everyone of the existence of this new found solution, along with other information, packaged together in what is called a &amp;quot;[[Block|block]]&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Blocks contain 50 bitcoins at present. This amount is an incentive for people to perform the computation work required for block generation. Roughly every 4 years, the number of bitcoins that can be &amp;quot;mined&amp;quot; in a block reduces by 50%. Any blocks that are created by a malicious user that do not follow this rule (or any other rules) will be rejected by everyone else. The result is that no more than 21 million bitcoins will ever exist. &lt;br /&gt;
&lt;br /&gt;
Because the mining incentive to put forth the computational power to create blocks will eventually diminish, miners will some day pay for their hardware and electricity costs by collecting [[Transaction_fee|transaction fees]]. The sender of money may voluntarily pay a small transaction fee which will be kept by whoever finds the next block. Paying this fee will encourage the miner to include the transaction in a block more quickly.&lt;br /&gt;
&lt;br /&gt;
===Transferring a coin===&lt;br /&gt;
To guarantee that an eavesdropper, Eve, cannot access other people&#039;s bitcoins by creating transactions in their names we use a [[Wikipedia:Public-key_cryptography|public key system]] to make digital signatures. In this system, each person, such as Alice and Bob, has a pair of public and private keys which he/she stores in a safe [[Wallet|wallet]]. Only the user with his secret private key can sign a document, such as the transaction to give some of his bitcoins to somebody else, but any one can validate the signature using the user’s public key.&lt;br /&gt;
&lt;br /&gt;
Suppose Alice wants to send a bitcoin to Bob.&lt;br /&gt;
* Bob sends his public key to Alice.&lt;br /&gt;
* Alice adds Bob’s public key along with the amount she wants to transfer to a message: a &#039;transaction&#039; message.&lt;br /&gt;
* Alice signs the transaction with her secret private key.&lt;br /&gt;
* Alice broadcasts the transaction out over the bitcoin network for all to see.&lt;br /&gt;
&lt;br /&gt;
(Only the first step is actually completed by a human. The rest is done by the bitcoin client software.)&lt;br /&gt;
&lt;br /&gt;
As a result, anyone who knows the public keys of both Alice and Bob can now see that Alice agreed to transfer the amount to Bob, because nobody other than Alice has Alice&#039;s private key. Alice would be foolish to give her private key to other people, as this would allow them to sign transactions in her name, removing funds from her control.&lt;br /&gt;
&lt;br /&gt;
Later on, when Bob wishes to transfer the same bitcoin to Charley, he will do the same thing:&lt;br /&gt;
* Charlie sends Bob his public key.&lt;br /&gt;
* Bob adds Charlie&#039;s public key along with the amount he wants to transfer to a message: a &#039;transaction&#039; message.&lt;br /&gt;
* Bob signs the transaction with his private key.&lt;br /&gt;
* Bob broadcasts the transaction out over the bitcoin network for all to see. &lt;br /&gt;
&lt;br /&gt;
Only Bob can do this because only Bob has the private key that corresponds to the public key Alice included in the previous transaction. &lt;br /&gt;
&lt;br /&gt;
Eve cannot change who the coins belong to by replacing Bob’s public key with her public key, because Alice signed the transfer to Bob using her private key, declaring that the coins which belonged to her now belong to Bob, and Alice&#039;s private key is kept secret from Eve. So if Charley accepts that the original coin was in the hands of Alice he will also accept the fact that this coin was later passed to Bob and now Bob is passing this same coin to him.&lt;br /&gt;
&lt;br /&gt;
===Preventing double-spending===&lt;br /&gt;
The process described above does not prevent Alice from using a coin in more than one transaction. The following process does. This is the primary innovation behind Bitcoin.&lt;br /&gt;
&lt;br /&gt;
* Details about the [[Transactions|transaction]] are [[Network|sent and forwarded]] to all or as many other computers as possible.&lt;br /&gt;
* A constantly growing chain of [[Blocks|blocks]] that contains a record of all transactions is collectively maintained by all computers (each has a full copy).&lt;br /&gt;
* To be accepted in the chain, transaction blocks must be valid and must include [[proof of work]] (one block generated by the network every 10 minutes).&lt;br /&gt;
* Blocks are chained in a way so that, if any one is modified, all following blocks will have to be recomputed.&lt;br /&gt;
* When multiple valid continuations to this chain appear, only the longest such branch is accepted and it is then extended further.&lt;br /&gt;
&lt;br /&gt;
When Bob sees that his transaction has been included in a block, which has been made part of the single longest and fastest-growing block chain (extended with significant computational effort), he can be confident that the transaction by Alice has been accepted by the computers in the network and is permanently recorded, preventing Alice from creating a second transaction with the same coin. In order for Alice to thwart this system and double-spend her coins, she would need to muster more computing power than all other bitcoin users combined.&lt;br /&gt;
&lt;br /&gt;
===Anonymity===&lt;br /&gt;
There are no bitcoin &amp;quot;accounts&amp;quot; to set up, no e-mail addresses and no user-names and passwords to give, just for owning bitcoins. Each balance is simply associated with a randomly generated public-private key pair and the money &amp;quot;belongs&amp;quot; to whoever has the private key and can sign transactions with it. Moreover, those keys do not have to be registered anywhere in advance, as they are only actually used if and when there is a transaction involving them. Transacting parties do not need to know each other&#039;s identity in the same way that a store owner does not know Bob&#039;s name is Bob when Bob goes and buys groceries with cash.&lt;br /&gt;
&lt;br /&gt;
A [[Address|Bitcoin address]] mathematically corresponds to a public key and looks like this:&lt;br /&gt;
&lt;br /&gt;
:15VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC&lt;br /&gt;
&lt;br /&gt;
Each person can have many such addresses, each with its own balance, which makes it very difficult to know which person owns what amount. In order to protect his [[Anonymity|privacy]], Bob can even generate a new public-private key pair for each individual transaction. The Bitcoin software encourages this behavior by default. Continuing the example from above, when Charlie receives the bitcoin from Bob, Charlie will not be able to identify who owned the coin before Bob (not without asking Bob).&lt;br /&gt;
&lt;br /&gt;
You have completed reading our Bitcoin introduction!&lt;br /&gt;
&lt;br /&gt;
==Where to see and explore==&lt;br /&gt;
You can directly explore the system in action by visiting [http://blockchain.info/ blockchain.info] or [http://blockexplorer.com/ Bitcoin Block Explorer].&lt;br /&gt;
The site shows you the latest blocks in the block chain. The [[Block_chain|block chain]] contains the agreed history of all transactions that took place in the system.&lt;br /&gt;
Note how many blocks were generated in the last hour which on average will be 6. Also notice the number of transactions and the total amount transferred in the last hour (last time I checked it was about 64 and 15K).&lt;br /&gt;
This should give you an indication of how active the system is.&lt;br /&gt;
&lt;br /&gt;
Next, drill into one of these blocks.&lt;br /&gt;
Start by noticing that the block&#039;s [[hash|hash]] begins with a run of zeros. This what made making it so difficult; a hash that begins with many zeros is much more difficult to find than a hash with few or no zeros. The computer that generated this block had to try many &#039;&#039;Nonce&#039;&#039; values (also listed on the block&#039;s page) until it found one that generated this run of zeros.&lt;br /&gt;
Next notice the line titled &#039;&#039;Previous block&#039;&#039;, each block contains the hash of the block that came before it, this is what forms the chain of blocks.&lt;br /&gt;
Now notice all the transactions the block contains. The first transaction is the income earned by the computer that generated this block. It includes a fixed amount of coins created out of thin air and possibly fee collected from other transactions in the same block.&lt;br /&gt;
&lt;br /&gt;
Drill into any of the transactions and you will see how it is made from one or more amounts coming in and out.&lt;br /&gt;
The fact that there can be more than one incoming and outgoing amounts, allow the system to join and break amounts in any possible way allowing for any fractional amount needed. Each incoming amount is a transaction from the past (which you can also drill to) coming from an address of someone and each outgoing amount is addressed to someone and will be part of a future transaction (which you can also drill too if it also had already taken place.)&lt;br /&gt;
&lt;br /&gt;
Finally you can drill into any of the  [[Address|addresses]] and see what public information is available.&lt;br /&gt;
&lt;br /&gt;
To get an impression of the amount of activity on the Bitcoin network, you might like to visit the monitoring websites [[Bitcoin Monitor]] and [[Bitcoin Watch]]. The first shows a real-time visualization of events on the Bitcoin network and the second lists general statistics on the amount and size of recent transactions.&lt;br /&gt;
&lt;br /&gt;
===How many people use Bitcoin?===&lt;br /&gt;
&lt;br /&gt;
This is quite a difficult question to answer accurately. The best estimation is to count how many bitcoin clients connected to the network in the last 24 hours. We can do this as the client transmits its address to the other members of the network periodically. The estimate as of Sept 2011 is about 60,000 users. To get a more current estimate see [http://bitcoinstatus.rowit.co.uk/ Bitcoin Network Status Charts]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=Um63OQz3bjo What is Bitcoin?] video introduction&lt;br /&gt;
* Installing Bitcoin [[getting started]] &lt;br /&gt;
* [[How bitcoin works]]&lt;br /&gt;
* [[Using Bitcoin]]&lt;br /&gt;
* A gentle introduction to Bitcoin - [[BitcoinMe]]&lt;br /&gt;
* [http://coinlab.com/2011/12/bitcoin-primer Bitcoin Primer] from CoinLab&lt;br /&gt;
* Another introduction, &#039;&#039;The Rebooting Of Money&#039;&#039; podcast is found at [[Bitcoin Money]]&lt;br /&gt;
* A beginner&#039;s step-by-step guide to using Bitcoin, use of alternative wallets, and generally keeping your money and computer secure - [http://BitcoinIntro.com BitcoinIntro.com]&lt;br /&gt;
&lt;br /&gt;
[[zh-cn:简介]]&lt;br /&gt;
&lt;br /&gt;
[[de:Einführung]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Comparison_of_mining_pools&amp;diff=23542</id>
		<title>Comparison of mining pools</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Comparison_of_mining_pools&amp;diff=23542"/>
		<updated>2012-02-07T15:56:34Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Reward types &amp;amp; explanation:&lt;br /&gt;
* &#039;&#039;&#039;DGM&#039;&#039;&#039; - Double Geometric Method.  A hybrid between PPLNS and Geometric reward types that enables to operator to absorb some of the variance risk.  Operator receives portion of payout on short rounds and returns it on longer rounds to normalize payments. [https://bitcointalk.org/index.php?topic=39497.0]&lt;br /&gt;
* &#039;&#039;&#039;Prop.&#039;&#039;&#039; - Proportional. When block is found, the reward is distributed among all workers proportionally to how much shares each of them has found.&lt;br /&gt;
* &#039;&#039;&#039;PPLNS&#039;&#039;&#039; - Pay Per Last N Shares. Similar to proportional, but instead of looking at the number of shares in the round, instead looks at the last N shares, regardless of round boundaries.&lt;br /&gt;
* &#039;&#039;&#039;PPS&#039;&#039;&#039; - Pay Per Share. Each submitted share is worth certain amount of BC. Since finding a block requires &amp;lt;current difficulty&amp;gt; shares &#039;&#039;on average&#039;&#039;, a PPS method with 0% fee would be 50 BTC divided by &amp;lt;current difficulty&amp;gt;. It is risky for pool operators, hence the fee is highest.&lt;br /&gt;
* &#039;&#039;&#039;SMPPS&#039;&#039;&#039; - Shared Maximum Pay Per Share. Like Pay Per Share, but never pays more than the pool earns. [http://eligius.st/wiki/index.php/Shared_Maximum_PPS]&lt;br /&gt;
* &#039;&#039;&#039;ESMPPS&#039;&#039;&#039; - Equalized Shared Maximum Pay Per Share. Like SMPPS, but equalizes payments fairly among all those who are owed. [http://forum.bitcoin.org/index.php?topic=12181.msg378851#msg378851]&lt;br /&gt;
* &#039;&#039;&#039;CPPSRB&#039;&#039;&#039; - Capped Pay Per Share with Recent Backpay.&lt;br /&gt;
* &#039;&#039;&#039;Score&#039;&#039;&#039; - Score based system: a proportional reward, but weighed by time submitted. Each submitted share is worth more in the function of time &#039;&#039;t&#039;&#039; since start of current round. For each share score is updated by: score += exp(t/C). This makes later shares worth much more than earlier shares, thus the miner&#039;s score quickly diminishes when they stop mining on the pool. Rewards are calculated proportionally to scores (and not to shares). (at slush&#039;s pool C=300 seconds, and every hour scores are normalized)&lt;br /&gt;
[http://eligius.st/~luke-jr/samples/800MH-3/ Visual examples of the various payout methods]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! GH/s&amp;lt;ref name=&amp;quot;hashrate2&amp;quot;&amp;gt;Note that pool hashrate is largely irrelevant but can be seen as a popularity measurement. Note however that it is a theoretical security issue if one pool gains above 50% of the total computational power of the network, thus consider joining a pool based on other metrics.&amp;lt;/ref&amp;gt; !! Merged Mining&amp;lt;ref name=&amp;quot;merged&amp;quot;&amp;gt;Merged mining allows miners to mine on multiple [[block chains]] at the same time with the same hashing.&amp;lt;/ref&amp;gt; !! Reward Type !! Transaction fees !! Fee PPS !! Fee Prop / Score !! Protocol !! Launched !! Forum !! Website&lt;br /&gt;
|-&lt;br /&gt;
| [[21bitcoin|21bitcoin]] || CN, HK || 2 || ? || Prop. || kept by pool || || 0% || RPC+LP || 2011-06-20 || [https://bitcointalk.org/index.php?topic=33586.0 Link] || [http://21bitcoin.com/pool/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[50BTC]] || Germany || 130 || No || PPS+stales&amp;lt;ref name=&amp;quot;stales&amp;quot;&amp;gt;Pool also rewards stale shares&amp;lt;/ref&amp;gt; || kept by pool || 3% || || RPC+LP || 2011-11-11 || [http://bitcointalk.org/index.php?topic=54673.0 Link] || [http://50btc.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[ABCPool.co|ABCPool.co]] || USA || 430 || ? || PPS&amp;lt;ref name=&amp;quot;stales&amp;quot;&amp;gt;&amp;lt;/ref&amp;gt; || kept by pool || 4%&amp;lt;ref name=&amp;quot;donations&amp;quot;&amp;gt;Donations are possible&amp;lt;/ref&amp;gt; ||  || RPC+LP || 2011-08-02 || [http://bitcointalk.org/index.php?topic=33586.0 Link] || [http://www.ABCPool.co/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[ArsBitcoin|ArsBitcoin]] || USA || 274 || No || SMPPS || kept by pool || 0%&amp;lt;ref name=&amp;quot;donations&amp;quot;&amp;gt;Donations are possible&amp;lt;/ref&amp;gt; ||  || RPC+LP || 2011-06-15 || [http://forum.bitcoin.org/index.php?topic=18567.0 Link] || [https://arsbitcoin.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcash.cz|Bitcash.cz]] || Czech Republic || 10 || ? || Prop. || kept by pool ||  || 0% || RPC+LP || 2011-07-21 || [http://bitcash.cz/forum/ Link] || &lt;br /&gt;
[http://bitcash.cz/pool/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin-Station|Bitcoin-Station]] || Germany || 5 || ? || Prop. || kept by pool ||  || 2% || RPC+LP || 2011-09-11 ||  || [https://bitcoin-station.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Betcoin.co_Pool|Betcoin.co Pool]] || USA || 5.9 || ? || PPLNS || kept by pool || || 0% || RPC+LP || 2011-07-07 || [http://forum.bitcoin.org/index.php?topic=26439.0 Link] || [http://pool.betcoin.co/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitarama|Bitarama.com]] || USA || 0.021 || ? || Prop || kept by pool ||  ||  || RPC+LP || 2011-08-02 ||  || [http://www.bitarama.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitclockers|BitClockers]] || USA, EU || 325 || ? || Prop. || kept by pool || || 2% || RPC+LP || 2011-05-27 || [http://forum.bitcoin.org/index.php?topic=10127.0 Link] || [http://bitclockers.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin_Pool|Bitcoin Mining Pool]] || USA || 51 || ? || Prop. || kept by pool || || 0%&amp;lt;ref name=&amp;quot;donations&amp;quot;&amp;gt;Donations are possible&amp;lt;/ref&amp;gt; || RPC+LP || Unknown || [http://bitcoinpool.com/forum/ Link] || [http://www.bitcoinpool.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoin_Pooled_Mining|Bitcoin Pooled Mining (Slush)]] || EU/London || 1454 || [[NMC]] || Score || kept by pool || || 2% || RPC+LP || 2010-11-27 || [http://forum.bitcoin.org/index.php?topic=1976.0 Link] || [http://mining.bitcoin.cz/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitcoinitalia]] || Italy || 0.45 || ? || Prop. || kept by pool || || 0% || RPC+LP || 2011-07-12 || [http://forum.bitcoin.org/index.php?topic=26634.0 Link] || [http://www.btcfarm.us/ Link]&lt;br /&gt;
|- &lt;br /&gt;
| [[Bitcoins.lc]] || EU || 167 || ? || Prop. || kept by pool || || 0% || RPC+LP || 2011-05-27 || [http://forum.bitcoin.org/index.php?topic=10121.0 Link] || [http://www.bitcoins.lc/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[BitLotto Pool]] || Los Angeles || 0.4 || ? || Prop || kept by pool || || || RPC+LP || 2011-06-08 || [http://forum.bitcoin.org/index.php?topic=13794.0 Link] || [http://www.bitlottopool.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[BitMinter]] || Germany || 120 || [[NMC]] || PPLNS || shared || || 0% || RPC+LP || 2011-06-18 || [https://bitcointalk.org/index.php?topic=27062.0 Link] || [https://bitminter.com Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bitp.it]] || USA || 20 || ? || ESMPPS || kept by pool || || 0% || RPC+LP || 2011-06-08 || [http://forum.bitcoin.org/index.php?topic=12181.0 Link] || [https://pool.bitp.it Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[BitPenny]] || USA || 10 || No || CPPSRB || 97% shared || 3% || || Proprietary&amp;lt;ref name=&amp;quot;local&amp;quot;&amp;gt;Proprietary-protocol pools (BitPenny and p2pool) provide JSON-RPC to miners locally.&amp;lt;/ref&amp;gt; || 2011-02-08 || [https://bitcointalk.org/index.php?topic=36371.0 Link] || [http://bitpenny.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[BTC Guild]] || USA, EU || 1410 || [[NMC]] || PPS || kept by pool || 5% || || RPC+LP || 2011-05-09 || [http://forum.bitcoin.org/index.php?topic=7760.0 Link] || [http://www.btcguild.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[BTCMine]] || UK || 175 || ? || Score || kept by pool || || 2% || RPC+LP || 2011-03-11 || [http://forum.bitcoin.org/index.php?topic=4251.0 Link] || [http://www.btcmine.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[btcmp.com]] || Germany || 18 || ? || PPS || kept by pool || || 0% || RPC+LP || 2011-06-28 ||  || [http://www.btcmp.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Btcserv|BTCServ]] || Germany || 71 || Converted to BC || PPS || kept by pool || 0% ||  || RPC+LP || 2011-07-09 || [http://forum.bitcoin.org/index.php?topic=27101.0 Link] || [http://btcserv.net/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Btcworld.de]] || Germany || 2.5 || ? || Prop || kept by pool || || ? || RPC+LP || 2011-06-18 ||  || [http://btcworld.de/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [http://chwpool.kr105.com/ CHWpool] || Chile || 0 || ? || Prop || kept by pool || || 1% || RPC+LP || 2011-06-30 ||  || [http://chwpool.kr105.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Coinotron|Coinotron]] || Poland || 7 || ? || Prop || kept by pool ||  || 0% || RPC+LP || 2011-07-06 || [http://forum.bitcoin.org/index.php?topic=26727.0 Link] || [http://www.coinotron.com Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[DeepBit]] || Germany || 3673 || No || PPS / Prop. || kept by pool || 10% || 3% || RPC+LP || 2011-02-26 || [http://forum.bitcoin.org/index.php?topic=3889.0 Link] || [http://deepbit.net/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Eclipse Mining Consortium]] || USA / Europe / AU / Asia || 500|| [[NMC]] || DGM || kept by pool || || 0% || RPC+LP || 2011-06-14 || [http://forum.bitcoin.org/index.php?topic=16385.0 Link] || [https://eclipsemc.com Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Eligius]] || Germany || 450 &amp;lt;!-- don&#039;t update this just because you catch us at a low instance; pools have variance just like any other miner --&amp;gt; || [[NMC]] || SMPPS || kept by pool || 0.000001%&amp;lt;ref name=&amp;quot;donations&amp;quot;&amp;gt;Donations are possible&amp;lt;/ref&amp;gt; || || RPC+LP || 2011-04-27 || [https://bitcointalk.org/index.php?topic=6667.0 Link] || [http://eligius.st Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[MasterPool]] || Germany || 20 || [[NMC]] || PPLNS || shared ||  || 1 or 2%&amp;lt;ref name=&amp;quot;payoutfee&amp;quot;&amp;gt;Fee is a payout fee. Instant payout: 2%. Scheduled payout (each night): 1%&amp;lt;/ref&amp;gt; || RPC+LP || 2011-07-18 || [https://bitcointalk.org/index.php?topic=42667.0 Link] || [https://www.masterpool.eu Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Mineco.in]] || UK || 94 || ? || PPLNS || shared || || 0% || RPC+LP || 2011-06-15 || [http://forum.bitcoin.org/index.php?topic=17310.0 Link] || [https://mineco.in/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Mining Team Reddit (MtRed)]] || USA, EU || 95 || [[NMC]] || PPS || kept by pool || 7% || || RPC+LP || 2011-05-25 || [http://forum.bitcoin.org/index.php?topic=15929.0 1] [http://reddit.com/r/mtred/ 2] || [http://www.mtred.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[NoFeeMining]] || USA || 0 (closed) || ? || RSMPPS || shared || || 0% || RPC+LP || 2011-06-17 || [http://forum.bitcoin.org/index.php?topic=18301.0 Link] || [http://nofeemining.appspot.com/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Ozco.in]] || USA/EU/AUS || 88 || [[NMC]] || DGM || kept by pool || || 0% || RPC+LP || 2011-06-07 || [http://forum.bitcoin.org/index.php?topic=14085.0/ Link] || [http://www.ozco.in Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[P2Pool]] || Earth (P2P) || 150 || Yes/Solo&amp;lt;ref&amp;gt;P2Pool supports merged mining but payouts in the merged chain are not pooled.&amp;lt;/ref&amp;gt; || PPLNS || shared || || &amp;lt;0%&amp;lt;ref&amp;gt;People are donating &#039;&#039;to&#039;&#039; P2Pool miners to encourage people to use it. The P2Pool author also accepts optional donations.&amp;lt;/ref&amp;gt; || Proprietary&amp;lt;ref name=&amp;quot;local&amp;quot;/&amp;gt; || 2011-06-17 || [http://forum.bitcoin.org/index.php?topic=18313.0 Link] || [https://en.bitcoin.it/wiki/P2Pool Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[PolMine]] || Poland || 52 || ? || PPS || shared || 2% ||  || RPC || 2011-06-13 || [http://forum.polmine.pl/ Link] || [https://polmine.pl/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[pool.itzod.ru]] || Russian Federation || 35 || No || RSMPPS || shared || 0% || 0% || RPC+LP || 2011-08-01 || [https://bitcointalk.org/index.php?topic=25127.0 Link] [https://bitcointalk.org/index.php?topic=44024.0 Link] || [http://pool.itzod.ru/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[rfcpool]] || UK, EU || 60 || No || PPLNS || shared || 0%&amp;lt;ref name=&amp;quot;donations&amp;quot;&amp;gt;Donations are possible&amp;lt;/ref&amp;gt; || 0%&amp;lt;ref name=&amp;quot;donations&amp;quot;&amp;gt;Donations are possible&amp;lt;/ref&amp;gt; || RPC+LP || 2011-07-05 || [http://forum.bitcoin.org/index.php?topic=26164.0/ Link] || [https://www.rfcpool.com Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Simplecoin|Simplecoin.us]] || US || 25 || [[NMC]] || SMPPS / PPLNS / Prop || kept by pool || 0%&amp;lt;ref name=&amp;quot;donations&amp;quot;&amp;gt;Donations are possible&amp;lt;/ref&amp;gt; || 0%&amp;lt;ref name=&amp;quot;donations&amp;quot;&amp;gt;Donations are possible&amp;lt;/ref&amp;gt; || RPC+LP || 2011-06-02 || [http://forum.bitcoin.org/index.php?topic=11186.0 Link] || [http://simplecoin.us/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Triplemining]] || Europe || 20.6 || ? || PPLNS || kept by pool || || 1% &amp;lt;ref name=&amp;quot;jackpot&amp;quot;&amp;gt;Triplemining&#039;s 1% fee is redistributed using a weekly jackpot&amp;lt;/ref&amp;gt; || RPC+LP || 2011-06-28 || [http://forum.bitcoin.org/index.php?topic=23664.0 Link] || [http://tinyurl.com/triplemining Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[UnitedMiners]] || US || 2 || ? || Prop || kept by pool || || 0% || RPC+LP || 2011-06-28 || [http://forum.bitcoin.org/index.php?topic=23664.0 Link] || [http://www.unitedminers.com Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[yourbtc.net]] || Germany || 18 || [[NMC]] || DGM || shared || || 0% || RPC+LP || 2011-09-10 || [http://bitcointalk.org/index.php?topic=42631.0 Link] || [http://yourbtc.net/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[pool.mkalinin.ru]] || Russia || 16 || No || PPLNS || kept by pool || || 0% || RPC+LP || 2011-07-20 || [https://bitcointalk.org/index.php?topic=30703.0 Link] || [http://pool.mkalinin.ru/ Link]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Pooled mining]]&lt;br /&gt;
*[http://bcx.me/ Bitcoin Mining Pool Tracker]&lt;br /&gt;
*[http://blockchain.info/pools Hashrate distribution pie chart]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mining]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Controlled_supply&amp;diff=23540</id>
		<title>Controlled supply</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Controlled_supply&amp;diff=23540"/>
		<updated>2012-02-07T15:35:06Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
In a centralized economy, currency is issued by a central bank at a rate &lt;br /&gt;
that is supposed to match the growth of the amount of goods that &lt;br /&gt;
are exchanged so that these goods can be traded with stable prices. The &lt;br /&gt;
&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikipedia.org/wiki/Monetary_base monetary base]&amp;lt;/span&amp;gt; is controlled by a central bank. In the United States, the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikipedia.org/wiki/Federal_Reserve_System Fed]&amp;lt;/span&amp;gt; increases the monetary base by issuing currency, increasing the amount banks have on reserve, and more recently, printing money electronically in a process called &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikipedia.org/wiki/Quantitative_easing Quantitative Easing]&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In a fully decentralized monetary system, there is no central authority that regulates the monetary base. Instead, currency is created by the nodes of a peer-to-peer network. The Bitcoin generation algorithm defines, in advance, how currency will be created and at what rate. Any currency that is generated by a malicious user that does not follow the rules will be rejected by the network and thus is worthless.&lt;br /&gt;
&lt;br /&gt;
==Currency with Finite Supply==&lt;br /&gt;
&lt;br /&gt;
[[File:total_bitcoins_over_time_graph.png|thumb|Number of bitcoins over time]]&lt;br /&gt;
&lt;br /&gt;
Bitcoins are created each time a user discovers a new [[block]]. &lt;br /&gt;
The rate of block creation is approximately constant over time: 6 per hour. The &lt;br /&gt;
number of Bitcoins generated per block is set to decrease geometrically, with a 50% reduction every 4 years. The result is that the number of Bitcoins in existence will &lt;br /&gt;
never exceed 21 million&amp;lt;ref&amp;gt;[http://www.bitcointalk.org/index.php?topic=3366.msg47522#msg47522 21 million cap]&amp;lt;/ref&amp;gt;. This algorithm was chosen because it approximates the rate at which commodities like gold are mined. Users who use their computers to perform calculations to try and discover a block are thus called [[Mining|&#039;&#039;Miners&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Projected Bitcoins Short Term ==&lt;br /&gt;
This chart shows the number of bitcoins that will exist in the near future. The &#039;&#039;Year&#039;&#039; is a forecast and may be slightly off.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!    Block!!Reward Era!!   BTC/block!!    Year!!         Start BTC!!         BTC Added!!           End BTC!!    BTC Increase|| End BTC % of Limit&lt;br /&gt;
|-&lt;br /&gt;
|0||1||50.00||2009||0||2625000||2625000||infinite||12.500%&lt;br /&gt;
|-&lt;br /&gt;
|52500||1||50.00||2010||2625000||2625000||5250000||100.00%||25.000%&lt;br /&gt;
|-&lt;br /&gt;
|105000||1||50.00||2011||5250000||2625000||7875000||50.00%||37.500%&lt;br /&gt;
|-&lt;br /&gt;
|157500||1||50.00||2012||7875000||2625000||10500000||33.33%||50.000%&lt;br /&gt;
|-&lt;br /&gt;
|210000||2||25.00||2013||10500000||1312500||11812500||12.50%||56.250%&lt;br /&gt;
|-&lt;br /&gt;
|262500||2||25.00||2014||11812500||1312500||13125000||11.11%||62.500%&lt;br /&gt;
|-&lt;br /&gt;
|315000||2||25.00||2015||13125000||1312500||14437500||10.00%||68.750%&lt;br /&gt;
|-&lt;br /&gt;
|367500||2||25.00||2016||14437500||1312500||15750000||9.09%||75.000%&lt;br /&gt;
|-&lt;br /&gt;
|420000||3||12.50||2017||15750000||656250||16406250||4.17%||78.125%&lt;br /&gt;
|-&lt;br /&gt;
|472500||3||12.50||2018||16406250||656250||17062500||4.00%||81.250%&lt;br /&gt;
|-&lt;br /&gt;
|525000||3||12.50||2019||17062500||656250||17718750||3.85%||84.375%&lt;br /&gt;
|-&lt;br /&gt;
|577500||3||12.50||2020||17718750||656250||18375000||3.70%||87.500%&lt;br /&gt;
|-&lt;br /&gt;
|630000||4||6.25||2021||18375000||328125||18703125||1.79%||89.063%&lt;br /&gt;
|-&lt;br /&gt;
|682500||4||6.25||2022||18703125||328125||19031250||1.75%||90.625%&lt;br /&gt;
|-&lt;br /&gt;
|735000||4||6.25||2023||19031250||328125||19359375||1.72%||92.188%&lt;br /&gt;
|-&lt;br /&gt;
|787500||4||6.25||2024||19359375||328125||19687500||1.69%||93.750%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Projected Bitcoins Long Term ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!    Block!!Reward Era!!   BTC/block!!    Year!!         Start BTC!!         BTC Added!!           End BTC!!    BTC Increase||  End BTC % of Limit&lt;br /&gt;
|-&lt;br /&gt;
|        0||  1|| 50.00000000||2009.007||        0.00000000|| 10500000.00000000|| 10500000.00000000||        infinite||       50.00000006%&lt;br /&gt;
|-&lt;br /&gt;
|   210000||  2|| 25.00000000||2013.000|| 10500000.00000000||  5250000.00000000|| 15750000.00000000||    50.00000000%||       75.00000008%&lt;br /&gt;
|-&lt;br /&gt;
|   420000||  3|| 12.50000000||2016.993|| 15750000.00000000||  2625000.00000000|| 18375000.00000000||    16.66666667%||       87.50000010%&lt;br /&gt;
|-&lt;br /&gt;
|   630000||  4||  6.25000000||2020.986|| 18375000.00000000||  1312500.00000000|| 19687500.00000000||     7.14285714%||       93.75000010%&lt;br /&gt;
|-&lt;br /&gt;
|   840000||  5||  3.12500000||2024.978|| 19687500.00000000||   656250.00000000|| 20343750.00000000||     3.33333333%||       96.87500011%&lt;br /&gt;
|-&lt;br /&gt;
|  1050000||  6||  1.56250000||2028.971|| 20343750.00000000||   328125.00000000|| 20671875.00000000||     1.61290323%||       98.43750011%&lt;br /&gt;
|-&lt;br /&gt;
|  1260000||  7||  0.78125000||2032.964|| 20671875.00000000||   164062.50000000|| 20835937.50000000||     0.79365079%||       99.21875011%&lt;br /&gt;
|-&lt;br /&gt;
|  1470000||  8||  0.39062500||2036.956|| 20835937.50000000||    82031.25000000|| 20917968.75000000||     0.39370079%||       99.60937511%&lt;br /&gt;
|-&lt;br /&gt;
|  1680000||  9||  0.19531250||2040.949|| 20917968.75000000||    41015.62500000|| 20958984.37500000||     0.19607843%||       99.80468761%&lt;br /&gt;
|-&lt;br /&gt;
|  1890000|| 10||  0.09765625||2044.942|| 20958984.37500000||    20507.81250000|| 20979492.18750000||     0.09784736%||       99.90234386%&lt;br /&gt;
|-&lt;br /&gt;
|  2100000|| 11||  0.04882812||2048.934|| 20979492.18750000||    10253.90520000|| 20989746.09270000||     0.04887585%||       99.95117198%&lt;br /&gt;
|-&lt;br /&gt;
|  2310000|| 12||  0.02441406||2052.927|| 20989746.09270000||     5126.95260000|| 20994873.04530000||     0.02442599%||       99.97558604%&lt;br /&gt;
|-&lt;br /&gt;
|  2520000|| 13||  0.01220703||2056.920|| 20994873.04530000||     2563.47630000|| 20997436.52160000||     0.01221001%||       99.98779307%&lt;br /&gt;
|-&lt;br /&gt;
|  2730000|| 14||  0.00610351||2060.913|| 20997436.52160000||     1281.73710000|| 20998718.25870000||     0.00610426%||       99.99389658%&lt;br /&gt;
|-&lt;br /&gt;
|  2940000|| 15||  0.00305175||2064.905|| 20998718.25870000||      640.86750000|| 20999359.12620000||     0.00305194%||       99.99694833%&lt;br /&gt;
|-&lt;br /&gt;
|  3150000|| 16||  0.00152587||2068.898|| 20999359.12620000||      320.43270000|| 20999679.55890000||     0.00152592%||       99.99847420%&lt;br /&gt;
|-&lt;br /&gt;
|  3360000|| 17||  0.00076293||2072.891|| 20999679.55890000||      160.21530000|| 20999839.77420000||     0.00076294%||       99.99923713%&lt;br /&gt;
|-&lt;br /&gt;
|  3570000|| 18||  0.00038146||2076.883|| 20999839.77420000||       80.10660000|| 20999919.88080001||     0.00038146%||       99.99961859%&lt;br /&gt;
|-&lt;br /&gt;
|  3780000|| 19||  0.00019073||2080.876|| 20999919.88080001||       40.05330000|| 20999959.93410001||     0.00019073%||       99.99980932%&lt;br /&gt;
|-&lt;br /&gt;
|  3990000|| 20||  0.00009536||2084.869|| 20999959.93410001||       20.02560000|| 20999979.95970001||     0.00009536%||       99.99990468%&lt;br /&gt;
|-&lt;br /&gt;
|  4200000|| 21||  0.00004768||2088.861|| 20999979.95970001||       10.01280000|| 20999989.97250001||     0.00004768%||       99.99995236%&lt;br /&gt;
|-&lt;br /&gt;
|  4410000|| 22||  0.00002384||2092.854|| 20999989.97250001||        5.00640000|| 20999994.97890001||     0.00002384%||       99.99997620%&lt;br /&gt;
|-&lt;br /&gt;
|  4620000|| 23||  0.00001192||2096.847|| 20999994.97890001||        2.50320000|| 20999997.48210001||     0.00001192%||       99.99998812%&lt;br /&gt;
|-&lt;br /&gt;
|  4830000|| 24||  0.00000596||2100.840|| 20999997.48210001||        1.25160000|| 20999998.73370001||     0.00000596%||       99.99999408%&lt;br /&gt;
|-&lt;br /&gt;
|  5040000|| 25||  0.00000298||2104.832|| 20999998.73370001||        0.62580000|| 20999999.35950001||     0.00000298%||       99.99999706%&lt;br /&gt;
|-&lt;br /&gt;
|  5250000|| 26||  0.00000149||2108.825|| 20999999.35950001||        0.31290000|| 20999999.67240001||     0.00000149%||       99.99999855%&lt;br /&gt;
|-&lt;br /&gt;
|  5460000|| 27||  0.00000074||2112.818|| 20999999.67240001||        0.15540000|| 20999999.82780001||     0.00000074%||       99.99999929%&lt;br /&gt;
|-&lt;br /&gt;
|  5670000|| 28||  0.00000037||2116.810|| 20999999.82780001||        0.07770000|| 20999999.90550001||     0.00000037%||       99.99999966%&lt;br /&gt;
|-&lt;br /&gt;
|  5880000|| 29||  0.00000018||2120.803|| 20999999.90550001||        0.03780000|| 20999999.94330001||     0.00000018%||       99.99999984%&lt;br /&gt;
|-&lt;br /&gt;
|  6090000|| 30||  0.00000009||2124.796|| 20999999.94330001||        0.01890000|| 20999999.96220000||     0.00000009%||       99.99999993%&lt;br /&gt;
|-&lt;br /&gt;
|  6300000|| 31||  0.00000004||2128.788|| 20999999.96220000||        0.00840000|| 20999999.97060001||     0.00000004%||       99.99999997%&lt;br /&gt;
|-&lt;br /&gt;
|  6510000|| 32||  0.00000002||2132.781|| 20999999.97060001||        0.00420000|| 20999999.97480001||     0.00000002%||       99.99999999%&lt;br /&gt;
|-&lt;br /&gt;
|  6720000|| 33||  0.00000001||2136.774|| 20999999.97480001||        0.00210000|| 20999999.97690000||     0.00000001%||      100.00000000%&lt;br /&gt;
|-&lt;br /&gt;
|  6930000|| 34||  0.00000000||2140.767|| 20999999.97690000||        0.00000000|| 20999999.97690000||     0.00000000%||      100.00000000%&lt;br /&gt;
|}&lt;br /&gt;
==Money Supply==&lt;br /&gt;
&lt;br /&gt;
While the number of bitcoins in existence will never exceed 21 million, the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikipedia.org/wiki/Money_supply money supply]&amp;lt;/span&amp;gt; of bitcoins can exceed 21 million due to &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikipedia.org/wiki/Fractional-reserve_banking Fractional-reserve Banking]. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Deflation==&lt;br /&gt;
&lt;br /&gt;
Because the monetary base of Bitcoins cannot be expanded, the currency would be subject to severe deflation if it becomes widely used. &lt;br /&gt;
Keynesian economists argue that [[Deflationary spiral|deflation]] is bad for an economy because it incentivises individuals and businesses to save money rather than invest in businesses and create jobs. The &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://en.wikipedia.org/wiki/Austrian_School Austrian school]&amp;lt;/span&amp;gt; of thought counters this criticism, claiming that as deflation occurs in all stages of production, entrepreneurs who invest benefit from it. As a result, profit ratios tend to stay the same and only their magnitudes change. In other words, in a deflationary environment, goods and services decrease in price, but at the same time the cost for the production of these goods and services tend to decrease proportionally, effectively not affecting profits. Price deflation encourages an increase in hoarding - hence savings - which in turn tends to lower interest rates and increase the incentive for entrepreneurs to invest in projects of longer term.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [http://www.econlib.org/library/Columns/y2006/Friedmantranscript.html Milton Friedman interview], where he proposed to replace the central bank with a computer, and to fix the money supply growth at 4% annually&lt;br /&gt;
* [[Deflationary spiral]]&lt;br /&gt;
* [http://blockchain.info/charts/total-bitcoins Chart of total bitcoins in circulation]&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Economics]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Browser-based_wallet&amp;diff=23412</id>
		<title>Browser-based wallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Browser-based_wallet&amp;diff=23412"/>
		<updated>2012-02-05T14:48:50Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;browser-based wallet&#039;&#039;&#039; or &#039;&#039;&#039;wallet service&#039;&#039;&#039; is an online account with an external provider where bitcoins can be stored.  Examples include accounts on currency exchange [[:Category:Markets|Markets]], online [[:Category:Services|Services]] and with ecommerce transaction processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Warning: When storing your bitcoins with a browser-based wallet on a third-party website, you are trusting that the operator will not abscond with your bitcoins, and that the bitcoins will not be stolen by a hacker or the operator&#039;s employee or agent, beyond the website operator&#039;s control.  It is recommended that you ensure that sufficient recourse is available and that you can obtain the real-world identity of the website operator.  Also recommended is to consider whether the operator is in a financial position to cover any losses that might occur, and what percentage of holdings are kept offline in [[cold storage]] as a safety measure from hackers.  Storing significant quantities of bitcoins on third party websites is not recommended.&amp;lt;/span&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
==Benefits==&lt;br /&gt;
* Use of a browser-based wallet provider may help improve [[anonymity]] against third-parties who watch your IP address use.&lt;br /&gt;
* An account with a wallet service can generally be established in just minutes.&lt;br /&gt;
* Some bitcoin users store some or all of their bitcoins in a browser-based wallet to avoid having to worry about keeping a local wallet [[Securing_your_wallet|secure]].&lt;br /&gt;
* Since withdrawals can be made to any Bitcoin address, simply using the withdrawal feature to withdraw to an address that is not yours is functionally equivalent to sending a Bitcoin payment when running the Bitcoin client locally.&lt;br /&gt;
* Some services offer instant, internal transfers. This allows transactions to complete without having to wait for block confirmations.&lt;br /&gt;
&lt;br /&gt;
==Things to be aware of==&lt;br /&gt;
&lt;br /&gt;
When bitcoins are stored online, the provider retains full control of those amounts.  You are trusting a third party to maintain your Bitcoin balance on your behalf.  In comparison, if you run the Bitcoin software yourself, you are in full control of your coins so long as the wallet file stored on your computer is kept secret and secure.&lt;br /&gt;
&lt;br /&gt;
Other relevant things:&lt;br /&gt;
&lt;br /&gt;
* You typically have less anonymity with respect to those who run the online wallet site.&lt;br /&gt;
* If a payment is made from an online wallet, the transaction&#039;s &amp;quot;from&amp;quot; [[address]] is an address for the wallet provider and not an address reserved specifically for the sender.  This is because the wallet service provider may service the payment from any coins in its possession - your balance is not associated with any particular coins, any more than your balance at your local bank is associated with any specific bills.  Thus if the recipient were to &amp;quot;return&amp;quot; any bitcoins to the same address they were sent from, the sender would not receive those bitcoins.&lt;br /&gt;
&lt;br /&gt;
* Not all wallet providers reserve a bitcoin address for the account holder indefinitely.  Bitcoin addresses generally work best when one is assigned for each use.  There is the risk of showing an address from a wallet provider in a directory or on a web page (for donations, as an example) as there is the possibility that at the future date when those bitcoins are sent that the intended recipient still has the wallet account.  The same concern applies should the wallet provider cease operations.&lt;br /&gt;
&lt;br /&gt;
* There is no trivial way to guarantee that the amount of bitcoins showing for the account holder&#039;s balance are truly being held in reserve by the wallet provider.&lt;br /&gt;
&lt;br /&gt;
* Transactions to a Bitcoin address from the same wallet provider are usually completed internally and, if so, will not be processed on the Bitcoin P2P network.  Auditing tools such as the [[Block Explorer]] will not show any activity for this transaction.&lt;br /&gt;
** Some wallet providers allow amounts below 0.01 BTC to be sent if the transaction is to another account holder on the same service.  This allows an inexpensive and immediate method to detect if the recipient is using the same wallet provider. &lt;br /&gt;
&lt;br /&gt;
* The wallet service provider&#039;s wallet may be vulnerable to security breaches, loss, or theft.  Because Bitcoin transactions are irreversible, there may be limited or no recovery if a provider&#039;s master wallet is compromised.  Wallet providers who implement preventative controls - such as keeping their reserves in an [[offline wallet]] - are likely to be safer.&lt;br /&gt;
&lt;br /&gt;
==Javascript based online wallets==&lt;br /&gt;
&lt;br /&gt;
Javascript based e-wallets differ from traditional online wallet services because the user actually owns the private keys inside their wallet. This approach has several advantages:&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;from&amp;quot; address of a transaction originates from the actual bitcoin address of the user.&lt;br /&gt;
* The user can lookup their account balance in the blockchain and which guarantees their account balance is correct.&lt;br /&gt;
* Users can easily export their private keys out of a wallet to use with another bitcoin client or wallet provider.&lt;br /&gt;
* The users keys are stored encrypted on the server offering some protection for security breaches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Buying bitcoins]]&lt;br /&gt;
* [[Selling bitcoins]]&lt;br /&gt;
* [[Bitcoin faucet]]&lt;br /&gt;
* List of [[:Category:eWallets|eWallets]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Block_chain&amp;diff=23409</id>
		<title>Block chain</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Block_chain&amp;diff=23409"/>
		<updated>2012-02-05T14:17:48Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:blockchain.png|thumb|Blocks in the main chain (black) are the longest series of blocks that go from the genesis block (green) to the current block. Orphan blocks (purple) are blocks that are not in the longest chain.]]&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;block chain&#039;&#039;&#039; is a transaction database shared by all [[Node|nodes]] participating in a [[crypto-currency]] such as Bitcoin.  A full copy of a currency&#039;s block chain contains every [[transaction]] ever executed in the currency.  With this information, one can find out how much value belonged to each [[address]] at any point in history.&lt;br /&gt;
&lt;br /&gt;
Every [[block]] contains a [[hash]] of the previous block. This has the effect of creating a chain of blocks from the [[genesis block]] to the current block. Each block is guaranteed to come after the previous block chronologically because the previous block&#039;s hash would otherwise not be known. Each block is also computationally impractical to modify once it has been in the chain for a while because every block after it would also have to be regenerated. These properties are what make double-spending of bitcoins very difficult. The block chain is the main innovation of Bitcoin.&lt;br /&gt;
&lt;br /&gt;
Honest generators only build onto a block (by referencing it in blocks they create) if it is the latest block in the longest valid chain. &amp;quot;Length&amp;quot; is calculated as total combined difficulty of that chain, not number of blocks, though this distinction is only important in the context of a few potential attacks. A chain is valid if all of the blocks and transactions within it are valid, and only if it starts with the genesis block.&lt;br /&gt;
&lt;br /&gt;
For any block on the chain, there is only one path to the genesis block. Coming from the genesis block, however, there can be forks. One-block forks are created from time to time when two blocks are created just a few seconds apart. When that happens, generating nodes build onto whichever one of the blocks they received first. Whichever block ends up being included in the next block becomes part of the main chain because that chain is longer. More serious forks have occurred after fixing bugs that required backward-incompatible changes.&lt;br /&gt;
&lt;br /&gt;
Blocks in shorter chains (or invalid chains) are called &amp;quot;orphan blocks&amp;quot;, and while they are stored, they are not used for anything. When a block becomes an orphan block, all of its valid transactions are re-added to the pool of queued transactions and will be included in another block. The 50 BTC reward for the orphan block will be lost, which is why a network-enforced 100-block maturation time for generations exists.&lt;br /&gt;
&lt;br /&gt;
Because a block can only reference one previous block, it is impossible for two forked chains to merge.&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to use the block chain algorithm for non-financial purposes: see [[Alternative Chains]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Vocabulary]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[BlockChain.info]] - Utility site of similar name&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Script&amp;diff=22401</id>
		<title>Script</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Script&amp;diff=22401"/>
		<updated>2012-01-17T15:10:04Z</updated>

		<summary type="html">&lt;p&gt;Piuk: Undo revision 22399 by Piuk (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin uses a scripting system for [[transactions]]. [[Wikipedia:FORTH|Forth]]-like, Script is simple, stack-based, and processed from left to right. It is purposefully not Turing-complete, with no loops.&lt;br /&gt;
&lt;br /&gt;
A script is essentially a list of instructions recorded with each transaction that describe how the next person wanting to spend the Bitcoins being transferred can gain access to them.  The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide&lt;br /&gt;
# a public key that, when hashed, yields destination address D embedded in the script, and&lt;br /&gt;
# a signature to show evidence of the private key corresponding to the public key just provided.&lt;br /&gt;
&lt;br /&gt;
Scripting provides the flexibility to change the parameters of what&#039;s needed to spend transferred Bitcoins.  For example, the scripting system could be used to require two private keys, or a combination of several, or even no keys at all.&lt;br /&gt;
&lt;br /&gt;
A transaction is valid if nothing in the combined script triggers failure and the top stack item is true (non-zero).  The party who originally &#039;&#039;sent&#039;&#039; the Bitcoins now being spent, dictates the script operations that will occur &#039;&#039;last&#039;&#039; in order to release them for use in another transaction.  The party wanting to spend them must provide the input(s) to the previously recorded script that results in those operations occurring last leaving behind true (non-zero).&lt;br /&gt;
&lt;br /&gt;
Scripts are big-endian.&lt;br /&gt;
&lt;br /&gt;
The stacks hold byte vectors.  Byte vectors are interpreted as little-endian integers with the most significant bit determining the sign of the integer.  Thus 0x81 represents -1.  0x80 is another representation of zero (so called negative 0).  Byte vectors are interpreted as Booleans where False is represented by any representation of zero, and True is represented by any representation of non-zero.&lt;br /&gt;
&lt;br /&gt;
== Words ==&lt;br /&gt;
This is a list of all Script words (commands/functions). Some are currently disabled for security reasons.&lt;br /&gt;
&lt;br /&gt;
True=1 and False=0.&lt;br /&gt;
&lt;br /&gt;
=== Constants ===&lt;br /&gt;
When talking about scripts, these value-pushing words are usually omitted.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_0, OP_FALSE&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|Nothing.&lt;br /&gt;
|(empty value)&lt;br /&gt;
|An empty array of bytes is pushed onto the stack. (This is not a no-op: an item is added to the stack.)&lt;br /&gt;
|-&lt;br /&gt;
|N/A&lt;br /&gt;
|1-75&lt;br /&gt;
|0x01-0x4b&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next &#039;&#039;opcode&#039;&#039; bytes is data to be pushed onto the stack&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA1&lt;br /&gt;
|76&lt;br /&gt;
|0x4c&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next byte contains the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA2&lt;br /&gt;
|77&lt;br /&gt;
|0x4d&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next two bytes contain the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA4&lt;br /&gt;
|78&lt;br /&gt;
|0x4e&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next four bytes contain the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1NEGATE&lt;br /&gt;
|79&lt;br /&gt;
|0x4f&lt;br /&gt;
|Nothing.&lt;br /&gt;
| -1&lt;br /&gt;
|The number -1 is pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1, OP_TRUE&lt;br /&gt;
|81&lt;br /&gt;
|0x51&lt;br /&gt;
|Nothing.&lt;br /&gt;
|1&lt;br /&gt;
|The number 1 is pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2-OP_16&lt;br /&gt;
|82-96&lt;br /&gt;
|0x52-0x60&lt;br /&gt;
|Nothing.&lt;br /&gt;
|2-16&lt;br /&gt;
|The number in the word name (2-16) is pushed onto the stack.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flow control ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOP&lt;br /&gt;
|97&lt;br /&gt;
|0x61&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|OP_IF&lt;br /&gt;
|99&lt;br /&gt;
|0x63&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the top stack value is not 0, the statements are executed. The top stack value is removed.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOTIF&lt;br /&gt;
|100&lt;br /&gt;
|0x64&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the top stack value is 0, the statements are executed. The top stack value is removed.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ELSE&lt;br /&gt;
|103&lt;br /&gt;
|0x67&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the preceding OP_IF or OP_NOTIF or OP_ELSE was not executed then these statements are and if the preceding OP_IF or OP_NOTIF or OP_ELSE was executed then these statements are not. &lt;br /&gt;
|-&lt;br /&gt;
|OP_ENDIF&lt;br /&gt;
|104&lt;br /&gt;
|0x68&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|Ends an if/else block.&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERIFY&lt;br /&gt;
|105&lt;br /&gt;
|0x69&lt;br /&gt;
|True / false&lt;br /&gt;
|Nothing / False&lt;br /&gt;
|&#039;&#039;&#039;Marks transaction as invalid&#039;&#039;&#039; if top stack value is not true. True is removed, but false is not.&lt;br /&gt;
|-&lt;br /&gt;
|OP_RETURN&lt;br /&gt;
|106&lt;br /&gt;
|0x6a&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|&#039;&#039;&#039;Marks transaction as invalid&#039;&#039;&#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stack ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_TOALTSTACK&lt;br /&gt;
|107&lt;br /&gt;
|0x6b&lt;br /&gt;
|x1&lt;br /&gt;
|(alt)x1&lt;br /&gt;
|Puts the input onto the top of the alt stack. Removes it from the main stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_FROMALTSTACK&lt;br /&gt;
|108&lt;br /&gt;
|0x6c&lt;br /&gt;
|(alt)x1&lt;br /&gt;
|x1&lt;br /&gt;
|Puts the input onto the top of the main stack. Removes it from the alt stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_IFDUP&lt;br /&gt;
|115&lt;br /&gt;
|0x73&lt;br /&gt;
|x&lt;br /&gt;
|x / x x&lt;br /&gt;
|If the input is true or false, duplicate it.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DEPTH&lt;br /&gt;
|116&lt;br /&gt;
|0x74&lt;br /&gt;
|Nothing&lt;br /&gt;
|&amp;lt;Stack size&amp;gt;&lt;br /&gt;
|Puts the number of stack items onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DROP&lt;br /&gt;
|117&lt;br /&gt;
|0x75&lt;br /&gt;
|x&lt;br /&gt;
|Nothing&lt;br /&gt;
|Removes the top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DUP&lt;br /&gt;
|118&lt;br /&gt;
|0x76&lt;br /&gt;
|x&lt;br /&gt;
|x x&lt;br /&gt;
|Duplicates the top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NIP&lt;br /&gt;
|119&lt;br /&gt;
|0x77&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2&lt;br /&gt;
|Removes the second-to-top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_OVER&lt;br /&gt;
|120&lt;br /&gt;
|0x78&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x1 x2 x1&lt;br /&gt;
|Copies the second-to-top stack item to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PICK&lt;br /&gt;
|121&lt;br /&gt;
|0x79&lt;br /&gt;
|xn ... x2 x1 x0 &amp;lt;n&amp;gt;&lt;br /&gt;
|xn ... x2 x1 x0 xn&lt;br /&gt;
|The item &#039;&#039;n&#039;&#039; back in the stack is copied to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ROLL&lt;br /&gt;
|122&lt;br /&gt;
|0x7a&lt;br /&gt;
|xn ... x2 x1 x0 &amp;lt;n&amp;gt;&lt;br /&gt;
|... x2 x1 x0 xn&lt;br /&gt;
|The item &#039;&#039;n&#039;&#039; back in the stack is moved to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ROT&lt;br /&gt;
|123&lt;br /&gt;
|0x7b&lt;br /&gt;
|x1 x2 x3&lt;br /&gt;
|x2 x3 x1&lt;br /&gt;
|The top three items on the stack are rotated to the left.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SWAP&lt;br /&gt;
|124&lt;br /&gt;
|0x7c&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2 x1&lt;br /&gt;
|The top two items on the stack are swapped.&lt;br /&gt;
|-&lt;br /&gt;
|OP_TUCK&lt;br /&gt;
|125&lt;br /&gt;
|0x7d&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2 x1 x2&lt;br /&gt;
|The item at the top of the stack is copied and inserted before the second-to-top item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DROP&lt;br /&gt;
|109&lt;br /&gt;
|0x6d&lt;br /&gt;
|x1 x2&lt;br /&gt;
|Nothing&lt;br /&gt;
|Removes the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DUP&lt;br /&gt;
|110&lt;br /&gt;
|0x6e&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x1 x2 x1 x2&lt;br /&gt;
|Duplicates the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_3DUP&lt;br /&gt;
|111&lt;br /&gt;
|0x6f&lt;br /&gt;
|x1 x2 x3&lt;br /&gt;
|x1 x2 x3 x1 x2 x3&lt;br /&gt;
|Duplicates the top three stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2OVER&lt;br /&gt;
|112&lt;br /&gt;
|0x70&lt;br /&gt;
|x1 x2 x3 x4&lt;br /&gt;
|x1 x2 x3 x4 x1 x2&lt;br /&gt;
|Copies the pair of items two spaces back in the stack to the front.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2ROT&lt;br /&gt;
|113&lt;br /&gt;
|0x71&lt;br /&gt;
|x1 x2 x3 x4 x5 x6&lt;br /&gt;
|x3 x4 x5 x6 x1 x2&lt;br /&gt;
|The fifth and sixth items back are moved to the top of the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2SWAP&lt;br /&gt;
|114&lt;br /&gt;
|0x72&lt;br /&gt;
|x1 x2 x3 x4&lt;br /&gt;
|x3 x4 x1 x2&lt;br /&gt;
|Swaps the top two pairs of items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Splice ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_CAT&lt;br /&gt;
|126&lt;br /&gt;
|0x7e&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Concatenates two strings. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_SUBSTR&lt;br /&gt;
|127&lt;br /&gt;
|0x7f&lt;br /&gt;
|in begin size&lt;br /&gt;
|out&lt;br /&gt;
|Returns a section of a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_LEFT&lt;br /&gt;
|128&lt;br /&gt;
|0x80&lt;br /&gt;
|in size&lt;br /&gt;
|out&lt;br /&gt;
|Keeps only characters left of the specified point in a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_RIGHT&lt;br /&gt;
|129&lt;br /&gt;
|0x81&lt;br /&gt;
|in size&lt;br /&gt;
|out&lt;br /&gt;
|Keeps only characters right of the specified point in a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_SIZE&lt;br /&gt;
|130&lt;br /&gt;
|0x82&lt;br /&gt;
|in&lt;br /&gt;
|in size&lt;br /&gt;
|Returns the length of the input string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Bitwise logic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_INVERT&lt;br /&gt;
|131&lt;br /&gt;
|0x83&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|Flips all of the bits in the input. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_AND&lt;br /&gt;
|132&lt;br /&gt;
|0x84&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;and&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_OR&lt;br /&gt;
|133&lt;br /&gt;
|0x85&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;or&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_XOR&lt;br /&gt;
|134&lt;br /&gt;
|0x86&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;exclusive or&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_EQUAL&lt;br /&gt;
|135&lt;br /&gt;
|0x87&lt;br /&gt;
|x1 x2&lt;br /&gt;
|True / false&lt;br /&gt;
|Returns 1 if the inputs are exactly equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_EQUALVERIFY&lt;br /&gt;
|136&lt;br /&gt;
|0x88&lt;br /&gt;
|x1 x2&lt;br /&gt;
|True / false&lt;br /&gt;
|Same as OP_EQUAL, but runs OP_VERIFY afterward.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Arithmetic ===&lt;br /&gt;
&lt;br /&gt;
Arithmetic is limited to max 4 byte integers&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_1ADD&lt;br /&gt;
|139&lt;br /&gt;
|0x8b&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|1 is added to the input.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1SUB&lt;br /&gt;
|140&lt;br /&gt;
|0x8c&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|1 is subtracted from the input.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2MUL&lt;br /&gt;
|141&lt;br /&gt;
|0x8d&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is multiplied by 2. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DIV&lt;br /&gt;
|142&lt;br /&gt;
|0x8e&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is divided by 2. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_NEGATE&lt;br /&gt;
|143&lt;br /&gt;
|0x8f&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The sign of the input is flipped.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ABS&lt;br /&gt;
|144&lt;br /&gt;
|0x90&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is made positive.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOT&lt;br /&gt;
|145&lt;br /&gt;
|0x91&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|If the input is 0 or 1, it is flipped. Otherwise the output will be 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_0NOTEQUAL&lt;br /&gt;
|146&lt;br /&gt;
|0x92&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|Returns 0 if the input is 0. 1 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ADD&lt;br /&gt;
|147&lt;br /&gt;
|0x93&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is added to b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SUB&lt;br /&gt;
|148&lt;br /&gt;
|0x94&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|b is subtracted from a.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MUL&lt;br /&gt;
|149&lt;br /&gt;
|0x95&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is multiplied by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_DIV&lt;br /&gt;
|150&lt;br /&gt;
|0x96&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is divided by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_MOD&lt;br /&gt;
|151&lt;br /&gt;
|0x97&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the remainder after dividing a by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_LSHIFT&lt;br /&gt;
|152&lt;br /&gt;
|0x98&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Shifts a left b bits, preserving sign. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_RSHIFT&lt;br /&gt;
|153&lt;br /&gt;
|0x99&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Shifts a right b bits, preserving sign. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_BOOLAND&lt;br /&gt;
|154&lt;br /&gt;
|0x9a&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|If both a and b are not 0, the output is 1. Otherwise 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_BOOLOR&lt;br /&gt;
|155&lt;br /&gt;
|0x9b&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|If a or b is not 0, the output is 1. Otherwise 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMEQUAL&lt;br /&gt;
|156&lt;br /&gt;
|0x9c&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if the numbers are equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMEQUALVERIFY&lt;br /&gt;
|157&lt;br /&gt;
|0x9d&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Same as OP_NUMEQUAL, but runs OP_VERIFY afterward.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMNOTEQUAL&lt;br /&gt;
|158&lt;br /&gt;
|0x9e&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if the numbers are not equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_LESSTHAN&lt;br /&gt;
|159&lt;br /&gt;
|0x9f&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is less than b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_GREATERTHAN&lt;br /&gt;
|160&lt;br /&gt;
|0xa0&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is greater than b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_LESSTHANOREQUAL&lt;br /&gt;
|161&lt;br /&gt;
|0xa1&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is less than or equal to b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_GREATERTHANOREQUAL&lt;br /&gt;
|162&lt;br /&gt;
|0xa2&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is greater than or equal to b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MIN&lt;br /&gt;
|163&lt;br /&gt;
|0xa3&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the smaller of a and b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MAX&lt;br /&gt;
|164&lt;br /&gt;
|0xa4&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the larger of a and b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_WITHIN&lt;br /&gt;
|165&lt;br /&gt;
|0xa5&lt;br /&gt;
|x min max&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if x is within the specified range (left-inclusive), 0 otherwise.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_RIPEMD160&lt;br /&gt;
|166&lt;br /&gt;
|0xa6&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using RIPEMD-160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SHA1&lt;br /&gt;
|167&lt;br /&gt;
|0xa7&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using SHA-1.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SHA256&lt;br /&gt;
|168&lt;br /&gt;
|0xa8&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using SHA-256.&lt;br /&gt;
|-&lt;br /&gt;
|OP_HASH160&lt;br /&gt;
|169&lt;br /&gt;
|0xa9&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed twice: first with SHA-256 and then with RIPEMD-160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_HASH256&lt;br /&gt;
|170&lt;br /&gt;
|0xaa&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed two times with SHA-256.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CODESEPARATOR&lt;br /&gt;
|171&lt;br /&gt;
|0xab&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|All of the signature checking words will only match signatures to the data after the most recently-executed OP_CODESEPARATOR.&lt;br /&gt;
|-&lt;br /&gt;
|[[OP_CHECKSIG]]&lt;br /&gt;
|172&lt;br /&gt;
|0xac&lt;br /&gt;
|sig pubkey&lt;br /&gt;
|True / false&lt;br /&gt;
|The entire transaction&#039;s outputs, inputs, and script (from the most recently-executed OP_CODESEPARATOR to the end) are hashed. The signature used by OP_CHECKSIG must be a valid signature for this hash and public key. If it is, 1 is returned, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKSIGVERIFY&lt;br /&gt;
|173&lt;br /&gt;
|0xad&lt;br /&gt;
|sig pubkey&lt;br /&gt;
|True / false&lt;br /&gt;
|Same as OP_CHECKSIG, but OP_VERIFY is executed afterward.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKMULTISIG&lt;br /&gt;
|174&lt;br /&gt;
|0xae&lt;br /&gt;
|x sig1 sig2 ... &amp;lt;number of signatures&amp;gt; pub1 pub2 &amp;lt;number of public keys&amp;gt;&lt;br /&gt;
|True / False&lt;br /&gt;
|For each signature and public key pair, OP_CHECKSIG is executed. If more public keys than signatures are listed, some key/sig pairs can fail. All signatures need to match a public key. If all signatures are valid, 1 is returned, 0 otherwise. Due to a bug, one extra unused value is removed from the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKMULTISIGVERIFY&lt;br /&gt;
|175&lt;br /&gt;
|0xaf&lt;br /&gt;
|x sig1 sig2 ... &amp;lt;number of signatures&amp;gt; pub1 pub2 ... &amp;lt;number of public keys&amp;gt;&lt;br /&gt;
|True / False&lt;br /&gt;
|Same as OP_CHECKMULTISIG, but OP_VERIFY is executed afterward.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Pseudo-words===&lt;br /&gt;
These words are used internally for assisting with transaction matching. They are invalid if used in actual scripts.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUBKEYHASH&lt;br /&gt;
|253&lt;br /&gt;
|0xfd&lt;br /&gt;
|Represents a public key hashed with OP_HASH160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUBKEY&lt;br /&gt;
|254&lt;br /&gt;
|0xfe&lt;br /&gt;
|Represents a public key compatible with OP_CHECKSIG.&lt;br /&gt;
|-&lt;br /&gt;
|OP_INVALIDOPCODE&lt;br /&gt;
|255&lt;br /&gt;
|0xff&lt;br /&gt;
|Matches any opcode that is not yet assigned.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Reserved words ===&lt;br /&gt;
Any opcode not assigned is also reserved. Using an unassigned opcode makes the transaction invalid.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!When used...&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED&lt;br /&gt;
|80&lt;br /&gt;
|0x50&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VER&lt;br /&gt;
|98&lt;br /&gt;
|0x62&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERIF&lt;br /&gt;
|101&lt;br /&gt;
|0x65&lt;br /&gt;
|Transaction is invalid even when occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERNOTIF&lt;br /&gt;
|102&lt;br /&gt;
|0x66&lt;br /&gt;
|Transaction is invalid even when occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED1&lt;br /&gt;
|137&lt;br /&gt;
|0x89&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED2&lt;br /&gt;
|138&lt;br /&gt;
|0x8a&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOP1-OP_NOP10&lt;br /&gt;
|176-185&lt;br /&gt;
|0xb0-0xb9&lt;br /&gt;
|The word is ignored.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Scripts ==&lt;br /&gt;
This is a list of interesting scripts. Keep in mind that all constants actually use the data-pushing commands above.&lt;br /&gt;
&lt;br /&gt;
=== Standard Transaction to Bitcoin address ===&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To demonstrate how scripts look on the wire, here is a raw scriptPubKey:&lt;br /&gt;
&amp;lt;pre&amp;gt;  76       A9             14&lt;br /&gt;
OP_DUP OP_HASH160    Bytes to push&lt;br /&gt;
&lt;br /&gt;
89 AB CD EF AB BA AB BA AB BA AB BA AB BA AB BA AB BA AB BA   88         AC&lt;br /&gt;
                      Data to push                     OP_EQUALVERIFY OP_CHECKSIG&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: scriptSig is in the input of the spending transaction and scriptPubKey is in the output of the previously unspent i.e. &amp;quot;available&amp;quot; transaction.&lt;br /&gt;
&lt;br /&gt;
Here is how each word is processed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
| &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Top stack item is duplicated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt;&lt;br /&gt;
|&amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Top stack item is hashed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt; &amp;lt;pubKeyHash&amp;gt;&lt;br /&gt;
|OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Constant added.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
| Equality is checked between the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Standard Generation / transaction to IP address ===&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_CHECKSIG&lt;br /&gt;
|Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Transaction with a message ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to add arbitrary data to any transaction by just adding some data along with OP_DROP. Scripts are limited to 10,000 bytes and 201 instructions/values, and each individual instruction/value is limited to 520 bytes.&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: &amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt;&lt;br /&gt;
|&amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|scriptSig added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;message&amp;gt;&lt;br /&gt;
|OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|The message has been put.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt;&lt;br /&gt;
|&amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|Top stack item has been removed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
|Checking signature against the public key.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Stack holds the value of signature check now.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example non standard transaction on Testnet ===&lt;br /&gt;
&lt;br /&gt;
These 2 links below show a non standard transaction. It just prepends the hex of &amp;quot;bob&amp;quot; and the operation OP_DROP&lt;br /&gt;
which just removes it. As you can see they can be spent as normal.&lt;br /&gt;
&lt;br /&gt;
Input non-std transaction:&lt;br /&gt;
http://blockexplorer.com/testnet/t/6ttfeb55B1&lt;br /&gt;
&lt;br /&gt;
Spent by:&lt;br /&gt;
http://blockexplorer.com/testnet/t/AFdRB1CHS3&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Contracts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Vocabulary]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Script&amp;diff=22399</id>
		<title>Script</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Script&amp;diff=22399"/>
		<updated>2012-01-17T14:53:55Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Arithmetic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin uses a scripting system for [[transactions]]. [[Wikipedia:FORTH|Forth]]-like, Script is simple, stack-based, and processed from left to right. It is purposefully not Turing-complete, with no loops.&lt;br /&gt;
&lt;br /&gt;
A script is essentially a list of instructions recorded with each transaction that describe how the next person wanting to spend the Bitcoins being transferred can gain access to them.  The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide&lt;br /&gt;
# a public key that, when hashed, yields destination address D embedded in the script, and&lt;br /&gt;
# a signature to show evidence of the private key corresponding to the public key just provided.&lt;br /&gt;
&lt;br /&gt;
Scripting provides the flexibility to change the parameters of what&#039;s needed to spend transferred Bitcoins.  For example, the scripting system could be used to require two private keys, or a combination of several, or even no keys at all.&lt;br /&gt;
&lt;br /&gt;
A transaction is valid if nothing in the combined script triggers failure and the top stack item is true (non-zero).  The party who originally &#039;&#039;sent&#039;&#039; the Bitcoins now being spent, dictates the script operations that will occur &#039;&#039;last&#039;&#039; in order to release them for use in another transaction.  The party wanting to spend them must provide the input(s) to the previously recorded script that results in those operations occurring last leaving behind true (non-zero).&lt;br /&gt;
&lt;br /&gt;
Scripts are big-endian.&lt;br /&gt;
&lt;br /&gt;
The stacks hold byte vectors.  Byte vectors are interpreted as little-endian integers with the most significant bit determining the sign of the integer.  Thus 0x81 represents -1.  0x80 is another representation of zero (so called negative 0).  Byte vectors are interpreted as Booleans where False is represented by any representation of zero, and True is represented by any representation of non-zero.&lt;br /&gt;
&lt;br /&gt;
== Words ==&lt;br /&gt;
This is a list of all Script words (commands/functions). Some are currently disabled for security reasons.&lt;br /&gt;
&lt;br /&gt;
True=1 and False=0.&lt;br /&gt;
&lt;br /&gt;
=== Constants ===&lt;br /&gt;
When talking about scripts, these value-pushing words are usually omitted.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_0, OP_FALSE&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|Nothing.&lt;br /&gt;
|(empty value)&lt;br /&gt;
|An empty array of bytes is pushed onto the stack. (This is not a no-op: an item is added to the stack.)&lt;br /&gt;
|-&lt;br /&gt;
|N/A&lt;br /&gt;
|1-75&lt;br /&gt;
|0x01-0x4b&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next &#039;&#039;opcode&#039;&#039; bytes is data to be pushed onto the stack&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA1&lt;br /&gt;
|76&lt;br /&gt;
|0x4c&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next byte contains the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA2&lt;br /&gt;
|77&lt;br /&gt;
|0x4d&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next two bytes contain the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA4&lt;br /&gt;
|78&lt;br /&gt;
|0x4e&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next four bytes contain the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1NEGATE&lt;br /&gt;
|79&lt;br /&gt;
|0x4f&lt;br /&gt;
|Nothing.&lt;br /&gt;
| -1&lt;br /&gt;
|The number -1 is pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1, OP_TRUE&lt;br /&gt;
|81&lt;br /&gt;
|0x51&lt;br /&gt;
|Nothing.&lt;br /&gt;
|1&lt;br /&gt;
|The number 1 is pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2-OP_16&lt;br /&gt;
|82-96&lt;br /&gt;
|0x52-0x60&lt;br /&gt;
|Nothing.&lt;br /&gt;
|2-16&lt;br /&gt;
|The number in the word name (2-16) is pushed onto the stack.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flow control ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOP&lt;br /&gt;
|97&lt;br /&gt;
|0x61&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|OP_IF&lt;br /&gt;
|99&lt;br /&gt;
|0x63&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the top stack value is not 0, the statements are executed. The top stack value is removed.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOTIF&lt;br /&gt;
|100&lt;br /&gt;
|0x64&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the top stack value is 0, the statements are executed. The top stack value is removed.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ELSE&lt;br /&gt;
|103&lt;br /&gt;
|0x67&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the preceding OP_IF or OP_NOTIF or OP_ELSE was not executed then these statements are and if the preceding OP_IF or OP_NOTIF or OP_ELSE was executed then these statements are not. &lt;br /&gt;
|-&lt;br /&gt;
|OP_ENDIF&lt;br /&gt;
|104&lt;br /&gt;
|0x68&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|Ends an if/else block.&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERIFY&lt;br /&gt;
|105&lt;br /&gt;
|0x69&lt;br /&gt;
|True / false&lt;br /&gt;
|Nothing / False&lt;br /&gt;
|&#039;&#039;&#039;Marks transaction as invalid&#039;&#039;&#039; if top stack value is not true. True is removed, but false is not.&lt;br /&gt;
|-&lt;br /&gt;
|OP_RETURN&lt;br /&gt;
|106&lt;br /&gt;
|0x6a&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|&#039;&#039;&#039;Marks transaction as invalid&#039;&#039;&#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stack ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_TOALTSTACK&lt;br /&gt;
|107&lt;br /&gt;
|0x6b&lt;br /&gt;
|x1&lt;br /&gt;
|(alt)x1&lt;br /&gt;
|Puts the input onto the top of the alt stack. Removes it from the main stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_FROMALTSTACK&lt;br /&gt;
|108&lt;br /&gt;
|0x6c&lt;br /&gt;
|(alt)x1&lt;br /&gt;
|x1&lt;br /&gt;
|Puts the input onto the top of the main stack. Removes it from the alt stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_IFDUP&lt;br /&gt;
|115&lt;br /&gt;
|0x73&lt;br /&gt;
|x&lt;br /&gt;
|x / x x&lt;br /&gt;
|If the input is true or false, duplicate it.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DEPTH&lt;br /&gt;
|116&lt;br /&gt;
|0x74&lt;br /&gt;
|Nothing&lt;br /&gt;
|&amp;lt;Stack size&amp;gt;&lt;br /&gt;
|Puts the number of stack items onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DROP&lt;br /&gt;
|117&lt;br /&gt;
|0x75&lt;br /&gt;
|x&lt;br /&gt;
|Nothing&lt;br /&gt;
|Removes the top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DUP&lt;br /&gt;
|118&lt;br /&gt;
|0x76&lt;br /&gt;
|x&lt;br /&gt;
|x x&lt;br /&gt;
|Duplicates the top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NIP&lt;br /&gt;
|119&lt;br /&gt;
|0x77&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2&lt;br /&gt;
|Removes the second-to-top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_OVER&lt;br /&gt;
|120&lt;br /&gt;
|0x78&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x1 x2 x1&lt;br /&gt;
|Copies the second-to-top stack item to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PICK&lt;br /&gt;
|121&lt;br /&gt;
|0x79&lt;br /&gt;
|xn ... x2 x1 x0 &amp;lt;n&amp;gt;&lt;br /&gt;
|xn ... x2 x1 x0 xn&lt;br /&gt;
|The item &#039;&#039;n&#039;&#039; back in the stack is copied to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ROLL&lt;br /&gt;
|122&lt;br /&gt;
|0x7a&lt;br /&gt;
|xn ... x2 x1 x0 &amp;lt;n&amp;gt;&lt;br /&gt;
|... x2 x1 x0 xn&lt;br /&gt;
|The item &#039;&#039;n&#039;&#039; back in the stack is moved to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ROT&lt;br /&gt;
|123&lt;br /&gt;
|0x7b&lt;br /&gt;
|x1 x2 x3&lt;br /&gt;
|x2 x3 x1&lt;br /&gt;
|The top three items on the stack are rotated to the left.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SWAP&lt;br /&gt;
|124&lt;br /&gt;
|0x7c&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2 x1&lt;br /&gt;
|The top two items on the stack are swapped.&lt;br /&gt;
|-&lt;br /&gt;
|OP_TUCK&lt;br /&gt;
|125&lt;br /&gt;
|0x7d&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2 x1 x2&lt;br /&gt;
|The item at the top of the stack is copied and inserted before the second-to-top item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DROP&lt;br /&gt;
|109&lt;br /&gt;
|0x6d&lt;br /&gt;
|x1 x2&lt;br /&gt;
|Nothing&lt;br /&gt;
|Removes the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DUP&lt;br /&gt;
|110&lt;br /&gt;
|0x6e&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x1 x2 x1 x2&lt;br /&gt;
|Duplicates the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_3DUP&lt;br /&gt;
|111&lt;br /&gt;
|0x6f&lt;br /&gt;
|x1 x2 x3&lt;br /&gt;
|x1 x2 x3 x1 x2 x3&lt;br /&gt;
|Duplicates the top three stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2OVER&lt;br /&gt;
|112&lt;br /&gt;
|0x70&lt;br /&gt;
|x1 x2 x3 x4&lt;br /&gt;
|x1 x2 x3 x4 x1 x2&lt;br /&gt;
|Copies the pair of items two spaces back in the stack to the front.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2ROT&lt;br /&gt;
|113&lt;br /&gt;
|0x71&lt;br /&gt;
|x1 x2 x3 x4 x5 x6&lt;br /&gt;
|x3 x4 x5 x6 x1 x2&lt;br /&gt;
|The fifth and sixth items back are moved to the top of the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2SWAP&lt;br /&gt;
|114&lt;br /&gt;
|0x72&lt;br /&gt;
|x1 x2 x3 x4&lt;br /&gt;
|x3 x4 x1 x2&lt;br /&gt;
|Swaps the top two pairs of items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Splice ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_CAT&lt;br /&gt;
|126&lt;br /&gt;
|0x7e&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Concatenates two strings. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_SUBSTR&lt;br /&gt;
|127&lt;br /&gt;
|0x7f&lt;br /&gt;
|in begin size&lt;br /&gt;
|out&lt;br /&gt;
|Returns a section of a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_LEFT&lt;br /&gt;
|128&lt;br /&gt;
|0x80&lt;br /&gt;
|in size&lt;br /&gt;
|out&lt;br /&gt;
|Keeps only characters left of the specified point in a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_RIGHT&lt;br /&gt;
|129&lt;br /&gt;
|0x81&lt;br /&gt;
|in size&lt;br /&gt;
|out&lt;br /&gt;
|Keeps only characters right of the specified point in a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_SIZE&lt;br /&gt;
|130&lt;br /&gt;
|0x82&lt;br /&gt;
|in&lt;br /&gt;
|in size&lt;br /&gt;
|Returns the length of the input string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Bitwise logic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_INVERT&lt;br /&gt;
|131&lt;br /&gt;
|0x83&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|Flips all of the bits in the input. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_AND&lt;br /&gt;
|132&lt;br /&gt;
|0x84&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;and&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_OR&lt;br /&gt;
|133&lt;br /&gt;
|0x85&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;or&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_XOR&lt;br /&gt;
|134&lt;br /&gt;
|0x86&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;exclusive or&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_EQUAL&lt;br /&gt;
|135&lt;br /&gt;
|0x87&lt;br /&gt;
|x1 x2&lt;br /&gt;
|True / false&lt;br /&gt;
|Returns 1 if the inputs are exactly equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_EQUALVERIFY&lt;br /&gt;
|136&lt;br /&gt;
|0x88&lt;br /&gt;
|x1 x2&lt;br /&gt;
|True / false&lt;br /&gt;
|Same as OP_EQUAL, but runs OP_VERIFY afterward.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Arithmetic ===&lt;br /&gt;
&lt;br /&gt;
Arithmetic in the mainline bitcoin client is limited to 4 byte integers&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_1ADD&lt;br /&gt;
|139&lt;br /&gt;
|0x8b&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|1 is added to the input.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1SUB&lt;br /&gt;
|140&lt;br /&gt;
|0x8c&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|1 is subtracted from the input.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2MUL&lt;br /&gt;
|141&lt;br /&gt;
|0x8d&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is multiplied by 2. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DIV&lt;br /&gt;
|142&lt;br /&gt;
|0x8e&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is divided by 2. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_NEGATE&lt;br /&gt;
|143&lt;br /&gt;
|0x8f&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The sign of the input is flipped.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ABS&lt;br /&gt;
|144&lt;br /&gt;
|0x90&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is made positive.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOT&lt;br /&gt;
|145&lt;br /&gt;
|0x91&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|If the input is 0 or 1, it is flipped. Otherwise the output will be 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_0NOTEQUAL&lt;br /&gt;
|146&lt;br /&gt;
|0x92&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|Returns 0 if the input is 0. 1 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ADD&lt;br /&gt;
|147&lt;br /&gt;
|0x93&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is added to b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SUB&lt;br /&gt;
|148&lt;br /&gt;
|0x94&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|b is subtracted from a.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MUL&lt;br /&gt;
|149&lt;br /&gt;
|0x95&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is multiplied by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_DIV&lt;br /&gt;
|150&lt;br /&gt;
|0x96&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is divided by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_MOD&lt;br /&gt;
|151&lt;br /&gt;
|0x97&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the remainder after dividing a by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_LSHIFT&lt;br /&gt;
|152&lt;br /&gt;
|0x98&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Shifts a left b bits, preserving sign. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_RSHIFT&lt;br /&gt;
|153&lt;br /&gt;
|0x99&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Shifts a right b bits, preserving sign. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_BOOLAND&lt;br /&gt;
|154&lt;br /&gt;
|0x9a&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|If both a and b are not 0, the output is 1. Otherwise 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_BOOLOR&lt;br /&gt;
|155&lt;br /&gt;
|0x9b&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|If a or b is not 0, the output is 1. Otherwise 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMEQUAL&lt;br /&gt;
|156&lt;br /&gt;
|0x9c&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if the numbers are equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMEQUALVERIFY&lt;br /&gt;
|157&lt;br /&gt;
|0x9d&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Same as OP_NUMEQUAL, but runs OP_VERIFY afterward.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMNOTEQUAL&lt;br /&gt;
|158&lt;br /&gt;
|0x9e&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if the numbers are not equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_LESSTHAN&lt;br /&gt;
|159&lt;br /&gt;
|0x9f&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is less than b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_GREATERTHAN&lt;br /&gt;
|160&lt;br /&gt;
|0xa0&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is greater than b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_LESSTHANOREQUAL&lt;br /&gt;
|161&lt;br /&gt;
|0xa1&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is less than or equal to b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_GREATERTHANOREQUAL&lt;br /&gt;
|162&lt;br /&gt;
|0xa2&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is greater than or equal to b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MIN&lt;br /&gt;
|163&lt;br /&gt;
|0xa3&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the smaller of a and b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MAX&lt;br /&gt;
|164&lt;br /&gt;
|0xa4&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the larger of a and b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_WITHIN&lt;br /&gt;
|165&lt;br /&gt;
|0xa5&lt;br /&gt;
|x min max&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if x is within the specified range (left-inclusive), 0 otherwise.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_RIPEMD160&lt;br /&gt;
|166&lt;br /&gt;
|0xa6&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using RIPEMD-160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SHA1&lt;br /&gt;
|167&lt;br /&gt;
|0xa7&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using SHA-1.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SHA256&lt;br /&gt;
|168&lt;br /&gt;
|0xa8&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using SHA-256.&lt;br /&gt;
|-&lt;br /&gt;
|OP_HASH160&lt;br /&gt;
|169&lt;br /&gt;
|0xa9&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed twice: first with SHA-256 and then with RIPEMD-160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_HASH256&lt;br /&gt;
|170&lt;br /&gt;
|0xaa&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed two times with SHA-256.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CODESEPARATOR&lt;br /&gt;
|171&lt;br /&gt;
|0xab&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|All of the signature checking words will only match signatures to the data after the most recently-executed OP_CODESEPARATOR.&lt;br /&gt;
|-&lt;br /&gt;
|[[OP_CHECKSIG]]&lt;br /&gt;
|172&lt;br /&gt;
|0xac&lt;br /&gt;
|sig pubkey&lt;br /&gt;
|True / false&lt;br /&gt;
|The entire transaction&#039;s outputs, inputs, and script (from the most recently-executed OP_CODESEPARATOR to the end) are hashed. The signature used by OP_CHECKSIG must be a valid signature for this hash and public key. If it is, 1 is returned, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKSIGVERIFY&lt;br /&gt;
|173&lt;br /&gt;
|0xad&lt;br /&gt;
|sig pubkey&lt;br /&gt;
|True / false&lt;br /&gt;
|Same as OP_CHECKSIG, but OP_VERIFY is executed afterward.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKMULTISIG&lt;br /&gt;
|174&lt;br /&gt;
|0xae&lt;br /&gt;
|x sig1 sig2 ... &amp;lt;number of signatures&amp;gt; pub1 pub2 &amp;lt;number of public keys&amp;gt;&lt;br /&gt;
|True / False&lt;br /&gt;
|For each signature and public key pair, OP_CHECKSIG is executed. If more public keys than signatures are listed, some key/sig pairs can fail. All signatures need to match a public key. If all signatures are valid, 1 is returned, 0 otherwise. Due to a bug, one extra unused value is removed from the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKMULTISIGVERIFY&lt;br /&gt;
|175&lt;br /&gt;
|0xaf&lt;br /&gt;
|x sig1 sig2 ... &amp;lt;number of signatures&amp;gt; pub1 pub2 ... &amp;lt;number of public keys&amp;gt;&lt;br /&gt;
|True / False&lt;br /&gt;
|Same as OP_CHECKMULTISIG, but OP_VERIFY is executed afterward.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Pseudo-words===&lt;br /&gt;
These words are used internally for assisting with transaction matching. They are invalid if used in actual scripts.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUBKEYHASH&lt;br /&gt;
|253&lt;br /&gt;
|0xfd&lt;br /&gt;
|Represents a public key hashed with OP_HASH160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUBKEY&lt;br /&gt;
|254&lt;br /&gt;
|0xfe&lt;br /&gt;
|Represents a public key compatible with OP_CHECKSIG.&lt;br /&gt;
|-&lt;br /&gt;
|OP_INVALIDOPCODE&lt;br /&gt;
|255&lt;br /&gt;
|0xff&lt;br /&gt;
|Matches any opcode that is not yet assigned.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Reserved words ===&lt;br /&gt;
Any opcode not assigned is also reserved. Using an unassigned opcode makes the transaction invalid.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!When used...&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED&lt;br /&gt;
|80&lt;br /&gt;
|0x50&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VER&lt;br /&gt;
|98&lt;br /&gt;
|0x62&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERIF&lt;br /&gt;
|101&lt;br /&gt;
|0x65&lt;br /&gt;
|Transaction is invalid even when occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERNOTIF&lt;br /&gt;
|102&lt;br /&gt;
|0x66&lt;br /&gt;
|Transaction is invalid even when occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED1&lt;br /&gt;
|137&lt;br /&gt;
|0x89&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED2&lt;br /&gt;
|138&lt;br /&gt;
|0x8a&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOP1-OP_NOP10&lt;br /&gt;
|176-185&lt;br /&gt;
|0xb0-0xb9&lt;br /&gt;
|The word is ignored.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Scripts ==&lt;br /&gt;
This is a list of interesting scripts. Keep in mind that all constants actually use the data-pushing commands above.&lt;br /&gt;
&lt;br /&gt;
=== Standard Transaction to Bitcoin address ===&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To demonstrate how scripts look on the wire, here is a raw scriptPubKey:&lt;br /&gt;
&amp;lt;pre&amp;gt;  76       A9             14&lt;br /&gt;
OP_DUP OP_HASH160    Bytes to push&lt;br /&gt;
&lt;br /&gt;
89 AB CD EF AB BA AB BA AB BA AB BA AB BA AB BA AB BA AB BA   88         AC&lt;br /&gt;
                      Data to push                     OP_EQUALVERIFY OP_CHECKSIG&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: scriptSig is in the input of the spending transaction and scriptPubKey is in the output of the previously unspent i.e. &amp;quot;available&amp;quot; transaction.&lt;br /&gt;
&lt;br /&gt;
Here is how each word is processed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
| &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Top stack item is duplicated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt;&lt;br /&gt;
|&amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Top stack item is hashed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt; &amp;lt;pubKeyHash&amp;gt;&lt;br /&gt;
|OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Constant added.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
| Equality is checked between the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Standard Generation / transaction to IP address ===&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_CHECKSIG&lt;br /&gt;
|Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Transaction with a message ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to add arbitrary data to any transaction by just adding some data along with OP_DROP. Scripts are limited to 10,000 bytes and 201 instructions/values, and each individual instruction/value is limited to 520 bytes.&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: &amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt;&lt;br /&gt;
|&amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|scriptSig added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;message&amp;gt;&lt;br /&gt;
|OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|The message has been put.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt;&lt;br /&gt;
|&amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|Top stack item has been removed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
|Checking signature against the public key.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Stack holds the value of signature check now.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example non standard transaction on Testnet ===&lt;br /&gt;
&lt;br /&gt;
These 2 links below show a non standard transaction. It just prepends the hex of &amp;quot;bob&amp;quot; and the operation OP_DROP&lt;br /&gt;
which just removes it. As you can see they can be spent as normal.&lt;br /&gt;
&lt;br /&gt;
Input non-std transaction:&lt;br /&gt;
http://blockexplorer.com/testnet/t/6ttfeb55B1&lt;br /&gt;
&lt;br /&gt;
Spent by:&lt;br /&gt;
http://blockexplorer.com/testnet/t/AFdRB1CHS3&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Contracts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Vocabulary]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Script&amp;diff=22370</id>
		<title>Script</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Script&amp;diff=22370"/>
		<updated>2012-01-16T17:50:06Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Arithmetic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin uses a scripting system for [[transactions]]. [[Wikipedia:FORTH|Forth]]-like, Script is simple, stack-based, and processed from left to right. It is purposefully not Turing-complete, with no loops.&lt;br /&gt;
&lt;br /&gt;
A script is essentially a list of instructions recorded with each transaction that describe how the next person wanting to spend the Bitcoins being transferred can gain access to them.  The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide&lt;br /&gt;
# a public key that, when hashed, yields destination address D embedded in the script, and&lt;br /&gt;
# a signature to show evidence of the private key corresponding to the public key just provided.&lt;br /&gt;
&lt;br /&gt;
Scripting provides the flexibility to change the parameters of what&#039;s needed to spend transferred Bitcoins.  For example, the scripting system could be used to require two private keys, or a combination of several, or even no keys at all.&lt;br /&gt;
&lt;br /&gt;
A transaction is valid if nothing in the combined script triggers failure and the top stack item is true (non-zero).  The party who originally &#039;&#039;sent&#039;&#039; the Bitcoins now being spent, dictates the script operations that will occur &#039;&#039;last&#039;&#039; in order to release them for use in another transaction.  The party wanting to spend them must provide the input(s) to the previously recorded script that results in those operations occurring last leaving behind true (non-zero).&lt;br /&gt;
&lt;br /&gt;
Scripts are big-endian.&lt;br /&gt;
&lt;br /&gt;
The stacks hold byte vectors.  Byte vectors are interpreted as little-endian integers with the most significant bit determining the sign of the integer.  Thus 0x81 represents -1.  0x80 is another representation of zero (so called negative 0).  Byte vectors are interpreted as Booleans where False is represented by any representation of zero, and True is represented by any representation of non-zero.&lt;br /&gt;
&lt;br /&gt;
== Words ==&lt;br /&gt;
This is a list of all Script words (commands/functions). Some are currently disabled for security reasons.&lt;br /&gt;
&lt;br /&gt;
True=1 and False=0.&lt;br /&gt;
&lt;br /&gt;
=== Constants ===&lt;br /&gt;
When talking about scripts, these value-pushing words are usually omitted.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_0, OP_FALSE&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|Nothing.&lt;br /&gt;
|(empty value)&lt;br /&gt;
|An empty array of bytes is pushed onto the stack. (This is not a no-op: an item is added to the stack.)&lt;br /&gt;
|-&lt;br /&gt;
|N/A&lt;br /&gt;
|1-75&lt;br /&gt;
|0x01-0x4b&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next &#039;&#039;opcode&#039;&#039; bytes is data to be pushed onto the stack&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA1&lt;br /&gt;
|76&lt;br /&gt;
|0x4c&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next byte contains the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA2&lt;br /&gt;
|77&lt;br /&gt;
|0x4d&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next two bytes contain the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA4&lt;br /&gt;
|78&lt;br /&gt;
|0x4e&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next four bytes contain the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1NEGATE&lt;br /&gt;
|79&lt;br /&gt;
|0x4f&lt;br /&gt;
|Nothing.&lt;br /&gt;
| -1&lt;br /&gt;
|The number -1 is pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1, OP_TRUE&lt;br /&gt;
|81&lt;br /&gt;
|0x51&lt;br /&gt;
|Nothing.&lt;br /&gt;
|1&lt;br /&gt;
|The number 1 is pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2-OP_16&lt;br /&gt;
|82-96&lt;br /&gt;
|0x52-0x60&lt;br /&gt;
|Nothing.&lt;br /&gt;
|2-16&lt;br /&gt;
|The number in the word name (2-16) is pushed onto the stack.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flow control ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOP&lt;br /&gt;
|97&lt;br /&gt;
|0x61&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|OP_IF&lt;br /&gt;
|99&lt;br /&gt;
|0x63&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the top stack value is not 0, the statements are executed. The top stack value is removed.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOTIF&lt;br /&gt;
|100&lt;br /&gt;
|0x64&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the top stack value is 0, the statements are executed. The top stack value is removed.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ELSE&lt;br /&gt;
|103&lt;br /&gt;
|0x67&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the preceding OP_IF or OP_NOTIF or OP_ELSE was not executed then these statements are and if the preceding OP_IF or OP_NOTIF or OP_ELSE was executed then these statements are not. &lt;br /&gt;
|-&lt;br /&gt;
|OP_ENDIF&lt;br /&gt;
|104&lt;br /&gt;
|0x68&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|Ends an if/else block.&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERIFY&lt;br /&gt;
|105&lt;br /&gt;
|0x69&lt;br /&gt;
|True / false&lt;br /&gt;
|Nothing / False&lt;br /&gt;
|&#039;&#039;&#039;Marks transaction as invalid&#039;&#039;&#039; if top stack value is not true. True is removed, but false is not.&lt;br /&gt;
|-&lt;br /&gt;
|OP_RETURN&lt;br /&gt;
|106&lt;br /&gt;
|0x6a&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|&#039;&#039;&#039;Marks transaction as invalid&#039;&#039;&#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stack ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_TOALTSTACK&lt;br /&gt;
|107&lt;br /&gt;
|0x6b&lt;br /&gt;
|x1&lt;br /&gt;
|(alt)x1&lt;br /&gt;
|Puts the input onto the top of the alt stack. Removes it from the main stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_FROMALTSTACK&lt;br /&gt;
|108&lt;br /&gt;
|0x6c&lt;br /&gt;
|(alt)x1&lt;br /&gt;
|x1&lt;br /&gt;
|Puts the input onto the top of the main stack. Removes it from the alt stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_IFDUP&lt;br /&gt;
|115&lt;br /&gt;
|0x73&lt;br /&gt;
|x&lt;br /&gt;
|x / x x&lt;br /&gt;
|If the input is true or false, duplicate it.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DEPTH&lt;br /&gt;
|116&lt;br /&gt;
|0x74&lt;br /&gt;
|Nothing&lt;br /&gt;
|&amp;lt;Stack size&amp;gt;&lt;br /&gt;
|Puts the number of stack items onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DROP&lt;br /&gt;
|117&lt;br /&gt;
|0x75&lt;br /&gt;
|x&lt;br /&gt;
|Nothing&lt;br /&gt;
|Removes the top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DUP&lt;br /&gt;
|118&lt;br /&gt;
|0x76&lt;br /&gt;
|x&lt;br /&gt;
|x x&lt;br /&gt;
|Duplicates the top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NIP&lt;br /&gt;
|119&lt;br /&gt;
|0x77&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2&lt;br /&gt;
|Removes the second-to-top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_OVER&lt;br /&gt;
|120&lt;br /&gt;
|0x78&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x1 x2 x1&lt;br /&gt;
|Copies the second-to-top stack item to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PICK&lt;br /&gt;
|121&lt;br /&gt;
|0x79&lt;br /&gt;
|xn ... x2 x1 x0 &amp;lt;n&amp;gt;&lt;br /&gt;
|xn ... x2 x1 x0 xn&lt;br /&gt;
|The item &#039;&#039;n&#039;&#039; back in the stack is copied to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ROLL&lt;br /&gt;
|122&lt;br /&gt;
|0x7a&lt;br /&gt;
|xn ... x2 x1 x0 &amp;lt;n&amp;gt;&lt;br /&gt;
|... x2 x1 x0 xn&lt;br /&gt;
|The item &#039;&#039;n&#039;&#039; back in the stack is moved to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ROT&lt;br /&gt;
|123&lt;br /&gt;
|0x7b&lt;br /&gt;
|x1 x2 x3&lt;br /&gt;
|x2 x3 x1&lt;br /&gt;
|The top three items on the stack are rotated to the left.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SWAP&lt;br /&gt;
|124&lt;br /&gt;
|0x7c&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2 x1&lt;br /&gt;
|The top two items on the stack are swapped.&lt;br /&gt;
|-&lt;br /&gt;
|OP_TUCK&lt;br /&gt;
|125&lt;br /&gt;
|0x7d&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2 x1 x2&lt;br /&gt;
|The item at the top of the stack is copied and inserted before the second-to-top item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DROP&lt;br /&gt;
|109&lt;br /&gt;
|0x6d&lt;br /&gt;
|x1 x2&lt;br /&gt;
|Nothing&lt;br /&gt;
|Removes the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DUP&lt;br /&gt;
|110&lt;br /&gt;
|0x6e&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x1 x2 x1 x2&lt;br /&gt;
|Duplicates the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_3DUP&lt;br /&gt;
|111&lt;br /&gt;
|0x6f&lt;br /&gt;
|x1 x2 x3&lt;br /&gt;
|x1 x2 x3 x1 x2 x3&lt;br /&gt;
|Duplicates the top three stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2OVER&lt;br /&gt;
|112&lt;br /&gt;
|0x70&lt;br /&gt;
|x1 x2 x3 x4&lt;br /&gt;
|x1 x2 x3 x4 x1 x2&lt;br /&gt;
|Copies the pair of items two spaces back in the stack to the front.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2ROT&lt;br /&gt;
|113&lt;br /&gt;
|0x71&lt;br /&gt;
|x1 x2 x3 x4 x5 x6&lt;br /&gt;
|x3 x4 x5 x6 x1 x2&lt;br /&gt;
|The fifth and sixth items back are moved to the top of the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2SWAP&lt;br /&gt;
|114&lt;br /&gt;
|0x72&lt;br /&gt;
|x1 x2 x3 x4&lt;br /&gt;
|x3 x4 x1 x2&lt;br /&gt;
|Swaps the top two pairs of items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Splice ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_CAT&lt;br /&gt;
|126&lt;br /&gt;
|0x7e&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Concatenates two strings. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_SUBSTR&lt;br /&gt;
|127&lt;br /&gt;
|0x7f&lt;br /&gt;
|in begin size&lt;br /&gt;
|out&lt;br /&gt;
|Returns a section of a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_LEFT&lt;br /&gt;
|128&lt;br /&gt;
|0x80&lt;br /&gt;
|in size&lt;br /&gt;
|out&lt;br /&gt;
|Keeps only characters left of the specified point in a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_RIGHT&lt;br /&gt;
|129&lt;br /&gt;
|0x81&lt;br /&gt;
|in size&lt;br /&gt;
|out&lt;br /&gt;
|Keeps only characters right of the specified point in a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_SIZE&lt;br /&gt;
|130&lt;br /&gt;
|0x82&lt;br /&gt;
|in&lt;br /&gt;
|in size&lt;br /&gt;
|Returns the length of the input string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Bitwise logic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_INVERT&lt;br /&gt;
|131&lt;br /&gt;
|0x83&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|Flips all of the bits in the input. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_AND&lt;br /&gt;
|132&lt;br /&gt;
|0x84&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;and&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_OR&lt;br /&gt;
|133&lt;br /&gt;
|0x85&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;or&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_XOR&lt;br /&gt;
|134&lt;br /&gt;
|0x86&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;exclusive or&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_EQUAL&lt;br /&gt;
|135&lt;br /&gt;
|0x87&lt;br /&gt;
|x1 x2&lt;br /&gt;
|True / false&lt;br /&gt;
|Returns 1 if the inputs are exactly equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_EQUALVERIFY&lt;br /&gt;
|136&lt;br /&gt;
|0x88&lt;br /&gt;
|x1 x2&lt;br /&gt;
|True / false&lt;br /&gt;
|Same as OP_EQUAL, but runs OP_VERIFY afterward.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Arithmetic ===&lt;br /&gt;
&lt;br /&gt;
Arithmetic is limited to max 4 byte integers in the mainline bitcoin client (16/01/2012)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_1ADD&lt;br /&gt;
|139&lt;br /&gt;
|0x8b&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|1 is added to the input.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1SUB&lt;br /&gt;
|140&lt;br /&gt;
|0x8c&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|1 is subtracted from the input.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2MUL&lt;br /&gt;
|141&lt;br /&gt;
|0x8d&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is multiplied by 2. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DIV&lt;br /&gt;
|142&lt;br /&gt;
|0x8e&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is divided by 2. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_NEGATE&lt;br /&gt;
|143&lt;br /&gt;
|0x8f&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The sign of the input is flipped.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ABS&lt;br /&gt;
|144&lt;br /&gt;
|0x90&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is made positive.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOT&lt;br /&gt;
|145&lt;br /&gt;
|0x91&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|If the input is 0 or 1, it is flipped. Otherwise the output will be 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_0NOTEQUAL&lt;br /&gt;
|146&lt;br /&gt;
|0x92&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|Returns 0 if the input is 0. 1 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ADD&lt;br /&gt;
|147&lt;br /&gt;
|0x93&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is added to b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SUB&lt;br /&gt;
|148&lt;br /&gt;
|0x94&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|b is subtracted from a.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MUL&lt;br /&gt;
|149&lt;br /&gt;
|0x95&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is multiplied by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_DIV&lt;br /&gt;
|150&lt;br /&gt;
|0x96&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is divided by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_MOD&lt;br /&gt;
|151&lt;br /&gt;
|0x97&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the remainder after dividing a by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_LSHIFT&lt;br /&gt;
|152&lt;br /&gt;
|0x98&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Shifts a left b bits, preserving sign. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_RSHIFT&lt;br /&gt;
|153&lt;br /&gt;
|0x99&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Shifts a right b bits, preserving sign. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_BOOLAND&lt;br /&gt;
|154&lt;br /&gt;
|0x9a&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|If both a and b are not 0, the output is 1. Otherwise 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_BOOLOR&lt;br /&gt;
|155&lt;br /&gt;
|0x9b&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|If a or b is not 0, the output is 1. Otherwise 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMEQUAL&lt;br /&gt;
|156&lt;br /&gt;
|0x9c&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if the numbers are equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMEQUALVERIFY&lt;br /&gt;
|157&lt;br /&gt;
|0x9d&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Same as OP_NUMEQUAL, but runs OP_VERIFY afterward.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMNOTEQUAL&lt;br /&gt;
|158&lt;br /&gt;
|0x9e&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if the numbers are not equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_LESSTHAN&lt;br /&gt;
|159&lt;br /&gt;
|0x9f&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is less than b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_GREATERTHAN&lt;br /&gt;
|160&lt;br /&gt;
|0xa0&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is greater than b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_LESSTHANOREQUAL&lt;br /&gt;
|161&lt;br /&gt;
|0xa1&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is less than or equal to b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_GREATERTHANOREQUAL&lt;br /&gt;
|162&lt;br /&gt;
|0xa2&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is greater than or equal to b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MIN&lt;br /&gt;
|163&lt;br /&gt;
|0xa3&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the smaller of a and b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MAX&lt;br /&gt;
|164&lt;br /&gt;
|0xa4&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the larger of a and b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_WITHIN&lt;br /&gt;
|165&lt;br /&gt;
|0xa5&lt;br /&gt;
|x min max&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if x is within the specified range (left-inclusive), 0 otherwise.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_RIPEMD160&lt;br /&gt;
|166&lt;br /&gt;
|0xa6&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using RIPEMD-160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SHA1&lt;br /&gt;
|167&lt;br /&gt;
|0xa7&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using SHA-1.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SHA256&lt;br /&gt;
|168&lt;br /&gt;
|0xa8&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using SHA-256.&lt;br /&gt;
|-&lt;br /&gt;
|OP_HASH160&lt;br /&gt;
|169&lt;br /&gt;
|0xa9&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed twice: first with SHA-256 and then with RIPEMD-160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_HASH256&lt;br /&gt;
|170&lt;br /&gt;
|0xaa&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed two times with SHA-256.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CODESEPARATOR&lt;br /&gt;
|171&lt;br /&gt;
|0xab&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|All of the signature checking words will only match signatures to the data after the most recently-executed OP_CODESEPARATOR.&lt;br /&gt;
|-&lt;br /&gt;
|[[OP_CHECKSIG]]&lt;br /&gt;
|172&lt;br /&gt;
|0xac&lt;br /&gt;
|sig pubkey&lt;br /&gt;
|True / false&lt;br /&gt;
|The entire transaction&#039;s outputs, inputs, and script (from the most recently-executed OP_CODESEPARATOR to the end) are hashed. The signature used by OP_CHECKSIG must be a valid signature for this hash and public key. If it is, 1 is returned, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKSIGVERIFY&lt;br /&gt;
|173&lt;br /&gt;
|0xad&lt;br /&gt;
|sig pubkey&lt;br /&gt;
|True / false&lt;br /&gt;
|Same as OP_CHECKSIG, but OP_VERIFY is executed afterward.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKMULTISIG&lt;br /&gt;
|174&lt;br /&gt;
|0xae&lt;br /&gt;
|x sig1 sig2 ... &amp;lt;number of signatures&amp;gt; pub1 pub2 &amp;lt;number of public keys&amp;gt;&lt;br /&gt;
|True / False&lt;br /&gt;
|For each signature and public key pair, OP_CHECKSIG is executed. If more public keys than signatures are listed, some key/sig pairs can fail. All signatures need to match a public key. If all signatures are valid, 1 is returned, 0 otherwise. Due to a bug, one extra unused value is removed from the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKMULTISIGVERIFY&lt;br /&gt;
|175&lt;br /&gt;
|0xaf&lt;br /&gt;
|x sig1 sig2 ... &amp;lt;number of signatures&amp;gt; pub1 pub2 ... &amp;lt;number of public keys&amp;gt;&lt;br /&gt;
|True / False&lt;br /&gt;
|Same as OP_CHECKMULTISIG, but OP_VERIFY is executed afterward.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Pseudo-words===&lt;br /&gt;
These words are used internally for assisting with transaction matching. They are invalid if used in actual scripts.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUBKEYHASH&lt;br /&gt;
|253&lt;br /&gt;
|0xfd&lt;br /&gt;
|Represents a public key hashed with OP_HASH160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUBKEY&lt;br /&gt;
|254&lt;br /&gt;
|0xfe&lt;br /&gt;
|Represents a public key compatible with OP_CHECKSIG.&lt;br /&gt;
|-&lt;br /&gt;
|OP_INVALIDOPCODE&lt;br /&gt;
|255&lt;br /&gt;
|0xff&lt;br /&gt;
|Matches any opcode that is not yet assigned.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Reserved words ===&lt;br /&gt;
Any opcode not assigned is also reserved. Using an unassigned opcode makes the transaction invalid.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!When used...&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED&lt;br /&gt;
|80&lt;br /&gt;
|0x50&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VER&lt;br /&gt;
|98&lt;br /&gt;
|0x62&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERIF&lt;br /&gt;
|101&lt;br /&gt;
|0x65&lt;br /&gt;
|Transaction is invalid even when occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERNOTIF&lt;br /&gt;
|102&lt;br /&gt;
|0x66&lt;br /&gt;
|Transaction is invalid even when occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED1&lt;br /&gt;
|137&lt;br /&gt;
|0x89&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED2&lt;br /&gt;
|138&lt;br /&gt;
|0x8a&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOP1-OP_NOP10&lt;br /&gt;
|176-185&lt;br /&gt;
|0xb0-0xb9&lt;br /&gt;
|The word is ignored.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Scripts ==&lt;br /&gt;
This is a list of interesting scripts. Keep in mind that all constants actually use the data-pushing commands above.&lt;br /&gt;
&lt;br /&gt;
=== Standard Transaction to Bitcoin address ===&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To demonstrate how scripts look on the wire, here is a raw scriptPubKey:&lt;br /&gt;
&amp;lt;pre&amp;gt;  76       A9             14&lt;br /&gt;
OP_DUP OP_HASH160    Bytes to push&lt;br /&gt;
&lt;br /&gt;
89 AB CD EF AB BA AB BA AB BA AB BA AB BA AB BA AB BA AB BA   88         AC&lt;br /&gt;
                      Data to push                     OP_EQUALVERIFY OP_CHECKSIG&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: scriptSig is in the input of the spending transaction and scriptPubKey is in the output of the previously unspent i.e. &amp;quot;available&amp;quot; transaction.&lt;br /&gt;
&lt;br /&gt;
Here is how each word is processed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
| &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Top stack item is duplicated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt;&lt;br /&gt;
|&amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Top stack item is hashed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt; &amp;lt;pubKeyHash&amp;gt;&lt;br /&gt;
|OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Constant added.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
| Equality is checked between the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Standard Generation / transaction to IP address ===&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_CHECKSIG&lt;br /&gt;
|Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Transaction with a message ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to add arbitrary data to any transaction by just adding some data along with OP_DROP. Scripts are limited to 10,000 bytes and 201 instructions/values, and each individual instruction/value is limited to 520 bytes.&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: &amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt;&lt;br /&gt;
|&amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|scriptSig added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;message&amp;gt;&lt;br /&gt;
|OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|The message has been put.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt;&lt;br /&gt;
|&amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|Top stack item has been removed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
|Checking signature against the public key.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Stack holds the value of signature check now.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example non standard transaction on Testnet ===&lt;br /&gt;
&lt;br /&gt;
These 2 links below show a non standard transaction. It just prepends the hex of &amp;quot;bob&amp;quot; and the operation OP_DROP&lt;br /&gt;
which just removes it. As you can see they can be spent as normal.&lt;br /&gt;
&lt;br /&gt;
Input non-std transaction:&lt;br /&gt;
http://blockexplorer.com/testnet/t/6ttfeb55B1&lt;br /&gt;
&lt;br /&gt;
Spent by:&lt;br /&gt;
http://blockexplorer.com/testnet/t/AFdRB1CHS3&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Contracts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Vocabulary]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Script&amp;diff=22369</id>
		<title>Script</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Script&amp;diff=22369"/>
		<updated>2012-01-16T17:49:49Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin uses a scripting system for [[transactions]]. [[Wikipedia:FORTH|Forth]]-like, Script is simple, stack-based, and processed from left to right. It is purposefully not Turing-complete, with no loops.&lt;br /&gt;
&lt;br /&gt;
A script is essentially a list of instructions recorded with each transaction that describe how the next person wanting to spend the Bitcoins being transferred can gain access to them.  The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide&lt;br /&gt;
# a public key that, when hashed, yields destination address D embedded in the script, and&lt;br /&gt;
# a signature to show evidence of the private key corresponding to the public key just provided.&lt;br /&gt;
&lt;br /&gt;
Scripting provides the flexibility to change the parameters of what&#039;s needed to spend transferred Bitcoins.  For example, the scripting system could be used to require two private keys, or a combination of several, or even no keys at all.&lt;br /&gt;
&lt;br /&gt;
A transaction is valid if nothing in the combined script triggers failure and the top stack item is true (non-zero).  The party who originally &#039;&#039;sent&#039;&#039; the Bitcoins now being spent, dictates the script operations that will occur &#039;&#039;last&#039;&#039; in order to release them for use in another transaction.  The party wanting to spend them must provide the input(s) to the previously recorded script that results in those operations occurring last leaving behind true (non-zero).&lt;br /&gt;
&lt;br /&gt;
Scripts are big-endian.&lt;br /&gt;
&lt;br /&gt;
The stacks hold byte vectors.  Byte vectors are interpreted as little-endian integers with the most significant bit determining the sign of the integer.  Thus 0x81 represents -1.  0x80 is another representation of zero (so called negative 0).  Byte vectors are interpreted as Booleans where False is represented by any representation of zero, and True is represented by any representation of non-zero.&lt;br /&gt;
&lt;br /&gt;
== Words ==&lt;br /&gt;
This is a list of all Script words (commands/functions). Some are currently disabled for security reasons.&lt;br /&gt;
&lt;br /&gt;
True=1 and False=0.&lt;br /&gt;
&lt;br /&gt;
=== Constants ===&lt;br /&gt;
When talking about scripts, these value-pushing words are usually omitted.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_0, OP_FALSE&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|Nothing.&lt;br /&gt;
|(empty value)&lt;br /&gt;
|An empty array of bytes is pushed onto the stack. (This is not a no-op: an item is added to the stack.)&lt;br /&gt;
|-&lt;br /&gt;
|N/A&lt;br /&gt;
|1-75&lt;br /&gt;
|0x01-0x4b&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next &#039;&#039;opcode&#039;&#039; bytes is data to be pushed onto the stack&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA1&lt;br /&gt;
|76&lt;br /&gt;
|0x4c&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next byte contains the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA2&lt;br /&gt;
|77&lt;br /&gt;
|0x4d&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next two bytes contain the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUSHDATA4&lt;br /&gt;
|78&lt;br /&gt;
|0x4e&lt;br /&gt;
|(special)&lt;br /&gt;
|data&lt;br /&gt;
|The next four bytes contain the number of bytes to be pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1NEGATE&lt;br /&gt;
|79&lt;br /&gt;
|0x4f&lt;br /&gt;
|Nothing.&lt;br /&gt;
| -1&lt;br /&gt;
|The number -1 is pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1, OP_TRUE&lt;br /&gt;
|81&lt;br /&gt;
|0x51&lt;br /&gt;
|Nothing.&lt;br /&gt;
|1&lt;br /&gt;
|The number 1 is pushed onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2-OP_16&lt;br /&gt;
|82-96&lt;br /&gt;
|0x52-0x60&lt;br /&gt;
|Nothing.&lt;br /&gt;
|2-16&lt;br /&gt;
|The number in the word name (2-16) is pushed onto the stack.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flow control ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOP&lt;br /&gt;
|97&lt;br /&gt;
|0x61&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|OP_IF&lt;br /&gt;
|99&lt;br /&gt;
|0x63&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the top stack value is not 0, the statements are executed. The top stack value is removed.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOTIF&lt;br /&gt;
|100&lt;br /&gt;
|0x64&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the top stack value is 0, the statements are executed. The top stack value is removed.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ELSE&lt;br /&gt;
|103&lt;br /&gt;
|0x67&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|If the preceding OP_IF or OP_NOTIF or OP_ELSE was not executed then these statements are and if the preceding OP_IF or OP_NOTIF or OP_ELSE was executed then these statements are not. &lt;br /&gt;
|-&lt;br /&gt;
|OP_ENDIF&lt;br /&gt;
|104&lt;br /&gt;
|0x68&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&amp;lt;expression&amp;gt; if [statements] [else [statements]]* endif&lt;br /&gt;
|Ends an if/else block.&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERIFY&lt;br /&gt;
|105&lt;br /&gt;
|0x69&lt;br /&gt;
|True / false&lt;br /&gt;
|Nothing / False&lt;br /&gt;
|&#039;&#039;&#039;Marks transaction as invalid&#039;&#039;&#039; if top stack value is not true. True is removed, but false is not.&lt;br /&gt;
|-&lt;br /&gt;
|OP_RETURN&lt;br /&gt;
|106&lt;br /&gt;
|0x6a&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|&#039;&#039;&#039;Marks transaction as invalid&#039;&#039;&#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stack ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_TOALTSTACK&lt;br /&gt;
|107&lt;br /&gt;
|0x6b&lt;br /&gt;
|x1&lt;br /&gt;
|(alt)x1&lt;br /&gt;
|Puts the input onto the top of the alt stack. Removes it from the main stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_FROMALTSTACK&lt;br /&gt;
|108&lt;br /&gt;
|0x6c&lt;br /&gt;
|(alt)x1&lt;br /&gt;
|x1&lt;br /&gt;
|Puts the input onto the top of the main stack. Removes it from the alt stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_IFDUP&lt;br /&gt;
|115&lt;br /&gt;
|0x73&lt;br /&gt;
|x&lt;br /&gt;
|x / x x&lt;br /&gt;
|If the input is true or false, duplicate it.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DEPTH&lt;br /&gt;
|116&lt;br /&gt;
|0x74&lt;br /&gt;
|Nothing&lt;br /&gt;
|&amp;lt;Stack size&amp;gt;&lt;br /&gt;
|Puts the number of stack items onto the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DROP&lt;br /&gt;
|117&lt;br /&gt;
|0x75&lt;br /&gt;
|x&lt;br /&gt;
|Nothing&lt;br /&gt;
|Removes the top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_DUP&lt;br /&gt;
|118&lt;br /&gt;
|0x76&lt;br /&gt;
|x&lt;br /&gt;
|x x&lt;br /&gt;
|Duplicates the top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NIP&lt;br /&gt;
|119&lt;br /&gt;
|0x77&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2&lt;br /&gt;
|Removes the second-to-top stack item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_OVER&lt;br /&gt;
|120&lt;br /&gt;
|0x78&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x1 x2 x1&lt;br /&gt;
|Copies the second-to-top stack item to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PICK&lt;br /&gt;
|121&lt;br /&gt;
|0x79&lt;br /&gt;
|xn ... x2 x1 x0 &amp;lt;n&amp;gt;&lt;br /&gt;
|xn ... x2 x1 x0 xn&lt;br /&gt;
|The item &#039;&#039;n&#039;&#039; back in the stack is copied to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ROLL&lt;br /&gt;
|122&lt;br /&gt;
|0x7a&lt;br /&gt;
|xn ... x2 x1 x0 &amp;lt;n&amp;gt;&lt;br /&gt;
|... x2 x1 x0 xn&lt;br /&gt;
|The item &#039;&#039;n&#039;&#039; back in the stack is moved to the top.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ROT&lt;br /&gt;
|123&lt;br /&gt;
|0x7b&lt;br /&gt;
|x1 x2 x3&lt;br /&gt;
|x2 x3 x1&lt;br /&gt;
|The top three items on the stack are rotated to the left.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SWAP&lt;br /&gt;
|124&lt;br /&gt;
|0x7c&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2 x1&lt;br /&gt;
|The top two items on the stack are swapped.&lt;br /&gt;
|-&lt;br /&gt;
|OP_TUCK&lt;br /&gt;
|125&lt;br /&gt;
|0x7d&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x2 x1 x2&lt;br /&gt;
|The item at the top of the stack is copied and inserted before the second-to-top item.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DROP&lt;br /&gt;
|109&lt;br /&gt;
|0x6d&lt;br /&gt;
|x1 x2&lt;br /&gt;
|Nothing&lt;br /&gt;
|Removes the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DUP&lt;br /&gt;
|110&lt;br /&gt;
|0x6e&lt;br /&gt;
|x1 x2&lt;br /&gt;
|x1 x2 x1 x2&lt;br /&gt;
|Duplicates the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_3DUP&lt;br /&gt;
|111&lt;br /&gt;
|0x6f&lt;br /&gt;
|x1 x2 x3&lt;br /&gt;
|x1 x2 x3 x1 x2 x3&lt;br /&gt;
|Duplicates the top three stack items.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2OVER&lt;br /&gt;
|112&lt;br /&gt;
|0x70&lt;br /&gt;
|x1 x2 x3 x4&lt;br /&gt;
|x1 x2 x3 x4 x1 x2&lt;br /&gt;
|Copies the pair of items two spaces back in the stack to the front.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2ROT&lt;br /&gt;
|113&lt;br /&gt;
|0x71&lt;br /&gt;
|x1 x2 x3 x4 x5 x6&lt;br /&gt;
|x3 x4 x5 x6 x1 x2&lt;br /&gt;
|The fifth and sixth items back are moved to the top of the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2SWAP&lt;br /&gt;
|114&lt;br /&gt;
|0x72&lt;br /&gt;
|x1 x2 x3 x4&lt;br /&gt;
|x3 x4 x1 x2&lt;br /&gt;
|Swaps the top two pairs of items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Splice ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_CAT&lt;br /&gt;
|126&lt;br /&gt;
|0x7e&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Concatenates two strings. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_SUBSTR&lt;br /&gt;
|127&lt;br /&gt;
|0x7f&lt;br /&gt;
|in begin size&lt;br /&gt;
|out&lt;br /&gt;
|Returns a section of a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_LEFT&lt;br /&gt;
|128&lt;br /&gt;
|0x80&lt;br /&gt;
|in size&lt;br /&gt;
|out&lt;br /&gt;
|Keeps only characters left of the specified point in a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_RIGHT&lt;br /&gt;
|129&lt;br /&gt;
|0x81&lt;br /&gt;
|in size&lt;br /&gt;
|out&lt;br /&gt;
|Keeps only characters right of the specified point in a string. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_SIZE&lt;br /&gt;
|130&lt;br /&gt;
|0x82&lt;br /&gt;
|in&lt;br /&gt;
|in size&lt;br /&gt;
|Returns the length of the input string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Bitwise logic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_INVERT&lt;br /&gt;
|131&lt;br /&gt;
|0x83&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|Flips all of the bits in the input. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_AND&lt;br /&gt;
|132&lt;br /&gt;
|0x84&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;and&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_OR&lt;br /&gt;
|133&lt;br /&gt;
|0x85&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;or&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_XOR&lt;br /&gt;
|134&lt;br /&gt;
|0x86&lt;br /&gt;
|x1 x2&lt;br /&gt;
|out&lt;br /&gt;
|Boolean &#039;&#039;exclusive or&#039;&#039; between each bit in the inputs. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_EQUAL&lt;br /&gt;
|135&lt;br /&gt;
|0x87&lt;br /&gt;
|x1 x2&lt;br /&gt;
|True / false&lt;br /&gt;
|Returns 1 if the inputs are exactly equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_EQUALVERIFY&lt;br /&gt;
|136&lt;br /&gt;
|0x88&lt;br /&gt;
|x1 x2&lt;br /&gt;
|True / false&lt;br /&gt;
|Same as OP_EQUAL, but runs OP_VERIFY afterward.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Arithmetic ===&lt;br /&gt;
&lt;br /&gt;
Arithmetic is limited to 4 byte integers Max in the mainline bitcoin client (16/01/2012)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_1ADD&lt;br /&gt;
|139&lt;br /&gt;
|0x8b&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|1 is added to the input.&lt;br /&gt;
|-&lt;br /&gt;
|OP_1SUB&lt;br /&gt;
|140&lt;br /&gt;
|0x8c&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|1 is subtracted from the input.&lt;br /&gt;
|-&lt;br /&gt;
|OP_2MUL&lt;br /&gt;
|141&lt;br /&gt;
|0x8d&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is multiplied by 2. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_2DIV&lt;br /&gt;
|142&lt;br /&gt;
|0x8e&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is divided by 2. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_NEGATE&lt;br /&gt;
|143&lt;br /&gt;
|0x8f&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The sign of the input is flipped.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ABS&lt;br /&gt;
|144&lt;br /&gt;
|0x90&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|The input is made positive.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOT&lt;br /&gt;
|145&lt;br /&gt;
|0x91&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|If the input is 0 or 1, it is flipped. Otherwise the output will be 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_0NOTEQUAL&lt;br /&gt;
|146&lt;br /&gt;
|0x92&lt;br /&gt;
|in&lt;br /&gt;
|out&lt;br /&gt;
|Returns 0 if the input is 0. 1 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_ADD&lt;br /&gt;
|147&lt;br /&gt;
|0x93&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is added to b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SUB&lt;br /&gt;
|148&lt;br /&gt;
|0x94&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|b is subtracted from a.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MUL&lt;br /&gt;
|149&lt;br /&gt;
|0x95&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is multiplied by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_DIV&lt;br /&gt;
|150&lt;br /&gt;
|0x96&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|a is divided by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_MOD&lt;br /&gt;
|151&lt;br /&gt;
|0x97&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the remainder after dividing a by b. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_LSHIFT&lt;br /&gt;
|152&lt;br /&gt;
|0x98&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Shifts a left b bits, preserving sign. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_RSHIFT&lt;br /&gt;
|153&lt;br /&gt;
|0x99&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Shifts a right b bits, preserving sign. &#039;&#039;Currently disabled.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|OP_BOOLAND&lt;br /&gt;
|154&lt;br /&gt;
|0x9a&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|If both a and b are not 0, the output is 1. Otherwise 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_BOOLOR&lt;br /&gt;
|155&lt;br /&gt;
|0x9b&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|If a or b is not 0, the output is 1. Otherwise 0.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMEQUAL&lt;br /&gt;
|156&lt;br /&gt;
|0x9c&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if the numbers are equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMEQUALVERIFY&lt;br /&gt;
|157&lt;br /&gt;
|0x9d&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Same as OP_NUMEQUAL, but runs OP_VERIFY afterward.&lt;br /&gt;
|-&lt;br /&gt;
|OP_NUMNOTEQUAL&lt;br /&gt;
|158&lt;br /&gt;
|0x9e&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if the numbers are not equal, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_LESSTHAN&lt;br /&gt;
|159&lt;br /&gt;
|0x9f&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is less than b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_GREATERTHAN&lt;br /&gt;
|160&lt;br /&gt;
|0xa0&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is greater than b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_LESSTHANOREQUAL&lt;br /&gt;
|161&lt;br /&gt;
|0xa1&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is less than or equal to b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_GREATERTHANOREQUAL&lt;br /&gt;
|162&lt;br /&gt;
|0xa2&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if a is greater than or equal to b, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MIN&lt;br /&gt;
|163&lt;br /&gt;
|0xa3&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the smaller of a and b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_MAX&lt;br /&gt;
|164&lt;br /&gt;
|0xa4&lt;br /&gt;
|a b&lt;br /&gt;
|out&lt;br /&gt;
|Returns the larger of a and b.&lt;br /&gt;
|-&lt;br /&gt;
|OP_WITHIN&lt;br /&gt;
|165&lt;br /&gt;
|0xa5&lt;br /&gt;
|x min max&lt;br /&gt;
|out&lt;br /&gt;
|Returns 1 if x is within the specified range (left-inclusive), 0 otherwise.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Crypto ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Input&lt;br /&gt;
!Output&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_RIPEMD160&lt;br /&gt;
|166&lt;br /&gt;
|0xa6&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using RIPEMD-160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SHA1&lt;br /&gt;
|167&lt;br /&gt;
|0xa7&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using SHA-1.&lt;br /&gt;
|-&lt;br /&gt;
|OP_SHA256&lt;br /&gt;
|168&lt;br /&gt;
|0xa8&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed using SHA-256.&lt;br /&gt;
|-&lt;br /&gt;
|OP_HASH160&lt;br /&gt;
|169&lt;br /&gt;
|0xa9&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed twice: first with SHA-256 and then with RIPEMD-160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_HASH256&lt;br /&gt;
|170&lt;br /&gt;
|0xaa&lt;br /&gt;
|in&lt;br /&gt;
|hash&lt;br /&gt;
|The input is hashed two times with SHA-256.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CODESEPARATOR&lt;br /&gt;
|171&lt;br /&gt;
|0xab&lt;br /&gt;
|Nothing&lt;br /&gt;
|Nothing&lt;br /&gt;
|All of the signature checking words will only match signatures to the data after the most recently-executed OP_CODESEPARATOR.&lt;br /&gt;
|-&lt;br /&gt;
|[[OP_CHECKSIG]]&lt;br /&gt;
|172&lt;br /&gt;
|0xac&lt;br /&gt;
|sig pubkey&lt;br /&gt;
|True / false&lt;br /&gt;
|The entire transaction&#039;s outputs, inputs, and script (from the most recently-executed OP_CODESEPARATOR to the end) are hashed. The signature used by OP_CHECKSIG must be a valid signature for this hash and public key. If it is, 1 is returned, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKSIGVERIFY&lt;br /&gt;
|173&lt;br /&gt;
|0xad&lt;br /&gt;
|sig pubkey&lt;br /&gt;
|True / false&lt;br /&gt;
|Same as OP_CHECKSIG, but OP_VERIFY is executed afterward.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKMULTISIG&lt;br /&gt;
|174&lt;br /&gt;
|0xae&lt;br /&gt;
|x sig1 sig2 ... &amp;lt;number of signatures&amp;gt; pub1 pub2 &amp;lt;number of public keys&amp;gt;&lt;br /&gt;
|True / False&lt;br /&gt;
|For each signature and public key pair, OP_CHECKSIG is executed. If more public keys than signatures are listed, some key/sig pairs can fail. All signatures need to match a public key. If all signatures are valid, 1 is returned, 0 otherwise. Due to a bug, one extra unused value is removed from the stack.&lt;br /&gt;
|-&lt;br /&gt;
|OP_CHECKMULTISIGVERIFY&lt;br /&gt;
|175&lt;br /&gt;
|0xaf&lt;br /&gt;
|x sig1 sig2 ... &amp;lt;number of signatures&amp;gt; pub1 pub2 ... &amp;lt;number of public keys&amp;gt;&lt;br /&gt;
|True / False&lt;br /&gt;
|Same as OP_CHECKMULTISIG, but OP_VERIFY is executed afterward.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Pseudo-words===&lt;br /&gt;
These words are used internally for assisting with transaction matching. They are invalid if used in actual scripts.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUBKEYHASH&lt;br /&gt;
|253&lt;br /&gt;
|0xfd&lt;br /&gt;
|Represents a public key hashed with OP_HASH160.&lt;br /&gt;
|-&lt;br /&gt;
|OP_PUBKEY&lt;br /&gt;
|254&lt;br /&gt;
|0xfe&lt;br /&gt;
|Represents a public key compatible with OP_CHECKSIG.&lt;br /&gt;
|-&lt;br /&gt;
|OP_INVALIDOPCODE&lt;br /&gt;
|255&lt;br /&gt;
|0xff&lt;br /&gt;
|Matches any opcode that is not yet assigned.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Reserved words ===&lt;br /&gt;
Any opcode not assigned is also reserved. Using an unassigned opcode makes the transaction invalid.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Word&lt;br /&gt;
!Opcode&lt;br /&gt;
!Hex&lt;br /&gt;
!When used...&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED&lt;br /&gt;
|80&lt;br /&gt;
|0x50&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VER&lt;br /&gt;
|98&lt;br /&gt;
|0x62&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERIF&lt;br /&gt;
|101&lt;br /&gt;
|0x65&lt;br /&gt;
|Transaction is invalid even when occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_VERNOTIF&lt;br /&gt;
|102&lt;br /&gt;
|0x66&lt;br /&gt;
|Transaction is invalid even when occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED1&lt;br /&gt;
|137&lt;br /&gt;
|0x89&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_RESERVED2&lt;br /&gt;
|138&lt;br /&gt;
|0x8a&lt;br /&gt;
|Transaction is invalid unless occuring in an unexecuted OP_IF branch&lt;br /&gt;
|-&lt;br /&gt;
|OP_NOP1-OP_NOP10&lt;br /&gt;
|176-185&lt;br /&gt;
|0xb0-0xb9&lt;br /&gt;
|The word is ignored.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Scripts ==&lt;br /&gt;
This is a list of interesting scripts. Keep in mind that all constants actually use the data-pushing commands above.&lt;br /&gt;
&lt;br /&gt;
=== Standard Transaction to Bitcoin address ===&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To demonstrate how scripts look on the wire, here is a raw scriptPubKey:&lt;br /&gt;
&amp;lt;pre&amp;gt;  76       A9             14&lt;br /&gt;
OP_DUP OP_HASH160    Bytes to push&lt;br /&gt;
&lt;br /&gt;
89 AB CD EF AB BA AB BA AB BA AB BA AB BA AB BA AB BA AB BA   88         AC&lt;br /&gt;
                      Data to push                     OP_EQUALVERIFY OP_CHECKSIG&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: scriptSig is in the input of the spending transaction and scriptPubKey is in the output of the previously unspent i.e. &amp;quot;available&amp;quot; transaction.&lt;br /&gt;
&lt;br /&gt;
Here is how each word is processed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
| &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Top stack item is duplicated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt;&lt;br /&gt;
|&amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Top stack item is hashed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt; &amp;lt;pubKeyHash&amp;gt;&lt;br /&gt;
|OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Constant added.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
| Equality is checked between the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Standard Generation / transaction to IP address ===&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_CHECKSIG&lt;br /&gt;
|Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Transaction with a message ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to add arbitrary data to any transaction by just adding some data along with OP_DROP. Scripts are limited to 10,000 bytes and 201 instructions/values, and each individual instruction/value is limited to 520 bytes.&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: &amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt;&lt;br /&gt;
|&amp;lt;message&amp;gt; OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|scriptSig added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;message&amp;gt;&lt;br /&gt;
|OP_DROP &amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|The message has been put.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt;&lt;br /&gt;
|&amp;lt;pubKey&amp;gt; OP_CHECKSIG&lt;br /&gt;
|Top stack item has been removed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
|Checking signature against the public key.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Stack holds the value of signature check now.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example non standard transaction on Testnet ===&lt;br /&gt;
&lt;br /&gt;
These 2 links below show a non standard transaction. It just prepends the hex of &amp;quot;bob&amp;quot; and the operation OP_DROP&lt;br /&gt;
which just removes it. As you can see they can be spent as normal.&lt;br /&gt;
&lt;br /&gt;
Input non-std transaction:&lt;br /&gt;
http://blockexplorer.com/testnet/t/6ttfeb55B1&lt;br /&gt;
&lt;br /&gt;
Spent by:&lt;br /&gt;
http://blockexplorer.com/testnet/t/AFdRB1CHS3&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Contracts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Vocabulary]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Talk:BIP_M_of_2_DRAFT&amp;diff=22362</id>
		<title>Talk:BIP M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Talk:BIP_M_of_2_DRAFT&amp;diff=22362"/>
		<updated>2012-01-16T16:14:20Z</updated>

		<summary type="html">&lt;p&gt;Piuk: moved Talk:BIP M of 2 DRAFT to Talk:M of 2 DRAFT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Talk:M of 2 DRAFT]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Talk:M_of_2_DRAFT&amp;diff=22361</id>
		<title>Talk:M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Talk:M_of_2_DRAFT&amp;diff=22361"/>
		<updated>2012-01-16T16:14:20Z</updated>

		<summary type="html">&lt;p&gt;Piuk: moved Talk:BIP M of 2 DRAFT to Talk:M of 2 DRAFT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This won&#039;t work, OP_ADD is restricted to 32-bit operands.&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=BIP_M_of_2_DRAFT&amp;diff=22360</id>
		<title>BIP M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=BIP_M_of_2_DRAFT&amp;diff=22360"/>
		<updated>2012-01-16T16:14:20Z</updated>

		<summary type="html">&lt;p&gt;Piuk: moved BIP M of 2 DRAFT to M of 2 DRAFT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[M of 2 DRAFT]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22359</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22359"/>
		<updated>2012-01-16T16:14:20Z</updated>

		<summary type="html">&lt;p&gt;Piuk: moved BIP M of 2 DRAFT to M of 2 DRAFT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys the author does not believe this to be the case.&lt;br /&gt;
&lt;br /&gt;
You could deduce the target value by looking at the the sum of M + pubKey1 + pubKey2 + N  from a previous transaction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 target = Previously Redeemed M+P1+P2+N &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However the additional SHA256 operations prevent you from doing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
myKeyA = SHA256(myKeyA);&lt;br /&gt;
while(m + myKeyA + SHA256(myBogusKeyB + n) != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting in equal brute force time.&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22356</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22356"/>
		<updated>2012-01-16T15:47:53Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys the author does not believe this to be the case.&lt;br /&gt;
&lt;br /&gt;
You could deduce the target value by looking at the the sum of M + pubKey1 + pubKey2 + N  from a previous transaction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 target = Previously Redeemed M+P1+P2+N &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However the additional SHA256 operations prevent you from doing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
myKeyA = SHA256(myKeyA);&lt;br /&gt;
while(m + myKeyA + SHA256(myBogusKeyB + n) != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting in equal brute force time.&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22355</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22355"/>
		<updated>2012-01-16T15:43:39Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys the author does not believe this to be the case.&lt;br /&gt;
&lt;br /&gt;
You could deduce the target value by looking at the the sum of M + pubKey1 + pubKey2 + N  from a previous transaction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 target = Previously Redeemed M+P1+P2+N &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However the additional SHA256 operations prevent you from doing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
myKeyA = SHA256(myKeyA);&lt;br /&gt;
while(m + myKeyA + SHA256(myBogusKeyB + n) != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting in equal brute force time.&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22354</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22354"/>
		<updated>2012-01-16T15:42:27Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys this is not actually the case. &lt;br /&gt;
&lt;br /&gt;
You could deduce the target value by looking at the the sum of M + pubKey1 + pubKey2 + N  from a previous transaction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 target = Previously Redeemed M+P1+P2+N &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However the additional SHA256 operations prevent you from doing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
myKeyA = SHA256(myKeyA);&lt;br /&gt;
while(m + myKeyA + SHA256(myBogusKeyB + n) != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting in equal brute force time.&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22353</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22353"/>
		<updated>2012-01-16T15:36:05Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys this is not actually the case. &lt;br /&gt;
&lt;br /&gt;
You could deduce the target value by looking at the the sum of M + pubKey1 + pubKey2 + N  from a previous transaction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 target = Previously Redeemed M+P1+P2+N &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However the additional SHA256 operations prevent you from doing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
myKeyA = SHA256(myKeyA);&lt;br /&gt;
while(m + myKeyA + SHA256(myBogusKeyB + n) != target) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting in equal brute force time.&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22352</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22352"/>
		<updated>2012-01-16T15:35:51Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys this is not actually the case. &lt;br /&gt;
&lt;br /&gt;
You could deduce the target value by looking at the the sum of M + pubKey1 + pubKey2 + N  from a previous transaction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 target = Previously Redeemed M+P1+P2+N &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However the additional SHA256 operations prevent you from doing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
myKeyA = SHA256(myKeyA);&lt;br /&gt;
while(m + myKeyA + SHA256(myBogusKeyB + n) != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting in equal brute force time.&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22351</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22351"/>
		<updated>2012-01-16T15:34:20Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys this is not actually the case. &lt;br /&gt;
&lt;br /&gt;
You could deduce the target value by looking at the the sum of M + pubKey1 + pubKey2 + N  from a previous transaction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 target = Previously Redeemed M+P1+P2+N &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However the additional SHA256 operations prevent you from doing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
myKeyA = SHA256(myKeyA);&lt;br /&gt;
while(m + myKeyA + SHA256(myBogusKeyB) + n != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting in equal brute force time.&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22350</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22350"/>
		<updated>2012-01-16T15:33:49Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys this is not actually the case. &lt;br /&gt;
&lt;br /&gt;
You could deduce the target value by looking at the the sum of M + pubKey1 + pubKey2 + N  from a previous transaction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 target = Previously Redeemed (m+p1+p2+n) &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However the additional SHA256 operations prevent you from doing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
myKeyA = SHA256(myKeyA);&lt;br /&gt;
while(m + myKeyA + SHA256(myBogusKeyB) + n != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting in equal brute force time.&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22349</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22349"/>
		<updated>2012-01-16T15:33:18Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys this is not actually the case. &lt;br /&gt;
&lt;br /&gt;
You could deduce the target value by looking at the the sum of M + pubKey1 + pubKey2 + N  from a previous transaction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 target = Previously Redeemed Tx Target; &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However the additional SHA256 operations prevent you from doing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
myKeyA = SHA256(myKeyA);&lt;br /&gt;
while(m + myKeyA + SHA256(myBogusKeyB) + n != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting in equal brute force time.&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22348</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22348"/>
		<updated>2012-01-16T15:25:07Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* M-of-3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys this is not actually the case. &lt;br /&gt;
&lt;br /&gt;
The resulting target is a massively large uint256 number which you could theoretically brute force using as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;uint256 target = 0;&lt;br /&gt;
uint256 nonce = 0;&lt;br /&gt;
while(SHA256(nonce) != target) {&lt;br /&gt;
  ++nonce;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just because you can have two nonces doesn&#039;t make bruteforcing any easier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;uint256 target = 0;&lt;br /&gt;
uint256 nonce = 0;&lt;br /&gt;
uint256 nonceTwo = rand();&lt;br /&gt;
while(SHA256(nonce) + SHA256(nonceTwo) != target) {&lt;br /&gt;
  ++nonce;&lt;br /&gt;
  ++nonceTwo;&lt;br /&gt;
} &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22347</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22347"/>
		<updated>2012-01-16T15:23:58Z</updated>

		<summary type="html">&lt;p&gt;Piuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   OP_0  &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;hashA&amp;gt; || OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_HASH256 OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;HashB&amp;gt; || OP_ADD  OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = RIPMED160(M + SH256(SHA256(pubKey2 + 2) + pubKey1));&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys this is not actually the case. &lt;br /&gt;
&lt;br /&gt;
The resulting target is a massively large uint256 number which you could theoretically brute force using as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;uint256 target = 0;&lt;br /&gt;
uint256 nonce = 0;&lt;br /&gt;
while(SHA256(nonce) != target) {&lt;br /&gt;
  ++nonce;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just because you can have two nonces doesn&#039;t make bruteforcing any easier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;uint256 target = 0;&lt;br /&gt;
uint256 nonce = 0;&lt;br /&gt;
uint256 nonceTwo = rand();&lt;br /&gt;
while(SHA256(nonce) + SHA256(nonceTwo) != target) {&lt;br /&gt;
  ++nonce;&lt;br /&gt;
  ++nonceTwo;&lt;br /&gt;
} &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the proposals thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 6 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER 3 OP_EQUAL OP_IF 3 OP_PICK OP_ADD OP_HASH256 OP_ENDIF OP_ADD OP_HASH256 OP_ADD OP_HASH256 OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
However this requires 14 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22346</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22346"/>
		<updated>2012-01-16T15:10:20Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_ADD  OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = HASH160(M + pubKey2 + pubKey1 + N);&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys the author does not believe this to be the case. Because the resulting sum is hashed using HASH160 the target value cannot be deduced.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 targetScriptHash = HASH160(); &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However you actually must additionally hash the summation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(HASH160(m + myKeyA + myBogusKeyB + n) != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the solutions thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 4 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
One additional advantage of this proposal is that the order of public keys in a scriptSig does not affect the resulting hash. Therefore a user redeeming such a transaction does not need to know the exact script just each public key and whether the transaction is (A or B) or (A + B).&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_ENDIF OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTIS&lt;br /&gt;
&lt;br /&gt;
However this requires 11 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22345</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22345"/>
		<updated>2012-01-16T15:09:51Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_ADD  OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = HASH160(M + pubKey2 + pubKey1 + N);&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys the author does not believe this to be the case. Because the resulting sum is hashed using HASH160 the target value cannot be deduced.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 targetScriptHash = HASH160(); &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
int n = 2;&lt;br /&gt;
int m = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(m + myKeyA + myBogusKeyB + n != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However you actually must additionally hash the sum of myKeyA + myBogusKeyB&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(HASH160(m + myKeyA + myBogusKeyB + n) != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the solutions thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 4 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
One additional advantage of this proposal is that the order of public keys in a scriptSig does not affect the resulting hash. Therefore a user redeeming such a transaction does not need to know the exact script just each public key and whether the transaction is (A or B) or (A + B).&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_ENDIF OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTIS&lt;br /&gt;
&lt;br /&gt;
However this requires 11 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22344</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22344"/>
		<updated>2012-01-16T15:09:04Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_ADD  OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = HASH160(M + pubKey2 + pubKey1 + N);&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys the author does not believe this to be the case. Because the resulting sum is hashed using HASH160 the target value cannot be deduced.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 targetScriptHash = HASH160(); &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(M + myKeyA + myBogusKeyB + N != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However you actually must additionally hash the sum of myKeyA + myBogusKeyB&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(HASH160(M + myKeyA + myBogusKeyB + N) != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the solutions thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 4 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
One additional advantage of this proposal is that the order of public keys in a scriptSig does not affect the resulting hash. Therefore a user redeeming such a transaction does not need to know the exact script just each public key and whether the transaction is (A or B) or (A + B).&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_ENDIF OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTIS&lt;br /&gt;
&lt;br /&gt;
However this requires 11 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22343</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22343"/>
		<updated>2012-01-16T15:08:36Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_ADD  OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = HASH160(M + pubKey2 + pubKey1 + N);&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys the author does not believe this to be the case. Because the resulting sum is hashed using HASH160 the target value cannot be deduced.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 targetScriptHash = HASH160(); &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(1 + myKeyA + myBogusKeyB + 2 != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However you actually must additionally hash the sum of myKeyA + myBogusKeyB&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(HASH160(1 + myKeyA + myBogusKeyB + 2) != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the solutions thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 4 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
One additional advantage of this proposal is that the order of public keys in a scriptSig does not affect the resulting hash. Therefore a user redeeming such a transaction does not need to know the exact script just each public key and whether the transaction is (A or B) or (A + B).&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_ENDIF OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTIS&lt;br /&gt;
&lt;br /&gt;
However this requires 11 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22342</id>
		<title>M of 2 DRAFT</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=M_of_2_DRAFT&amp;diff=22342"/>
		<updated>2012-01-16T15:07:52Z</updated>

		<summary type="html">&lt;p&gt;Piuk: /* Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: Unassigned&lt;br /&gt;
  Title: M-of-2 scriptPubKey&lt;br /&gt;
  Author: Ben Reeves &amp;lt;support@pi.uk.com&amp;gt;&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Unassigned&lt;br /&gt;
  Created: 15-01-2012&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This BIP describes a new standard type of scriptPubKey designed to allow immediate use of split key wallets.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
The purpose of this proposal is to provide split key wallet functionality without requiring changes to block validation rules or risking a fork in the blockchain.&lt;br /&gt;
&lt;br /&gt;
==Specification==&lt;br /&gt;
&lt;br /&gt;
A new standard scriptPubKey will be defined:&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
Redeemed by a new standard scriptSig&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;sig&amp;gt; 1 [pubkey] [pubkey] 2&lt;br /&gt;
&lt;br /&gt;
This proposal only supports A + B or A or B split key transactions.&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
&lt;br /&gt;
* Split key wallets&lt;br /&gt;
&lt;br /&gt;
* Escrow Services - The author does not believe that (A + B) or C scripts are required for escrow transactions. Both parties must trust the holder of C anyway so that party can instead hold both A and B. The holders of A and B can either reach an agreement themselves or party C can act as the final arbitrator using A and B together.&lt;br /&gt;
&lt;br /&gt;
==Example Execution==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stack !! Code&lt;br /&gt;
|-&lt;br /&gt;
| || &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_2OVER OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] || OP_2OVER OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] [pubkey2] 2 || OP_ADD OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1 [pubkey1] &amp;lt;sumA&amp;gt; || OP_ADD OP_ADD OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 1  &amp;lt;sumB&amp;gt; || OP_ADD  OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;sumC&amp;gt; || OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 &amp;lt;scriptHashA&amp;gt; &amp;lt;scriptHash&amp;gt; || OP_EQUALVERIFY OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;sig&amp;gt; 1 [pubkey1] [pubkey2] 2 || OP_CHECKMULTISIG&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where scriptHash must be constructed in the following manor:&lt;br /&gt;
&lt;br /&gt;
scriptHash = HASH160(M + pubKey2 + pubKey1 + N);&lt;br /&gt;
&lt;br /&gt;
(+ means addition not concatenation)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Although it may appear insecure totalling the sum of the public keys the author does not believe this to be the case. Because the resulting sum is hashed using HASH160 the target value cannot be deduced.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint256 targetScriptHash = HASH160(); &lt;br /&gt;
uint256 myKeyA = SHA256();&lt;br /&gt;
uint256 myBogusKeyB = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially it might seem that you could use an A or B where B is a invalid key:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(myKeyA + myBogusKeyB != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However you actually must additionally hash the sum of myKeyA + myBogusKeyB&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while(HASH160(myKeyA + myBogusKeyB) != targetScriptHash) {&lt;br /&gt;
  ++myBogusKeyB;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What does affect security is ability to adjust M (either 1 or 2) without needing to generate a new SHA256 pair. This effectively halves the key space to 2^255 keys however it is still far far out of the realm of brute force possibility. Regardless use of a 20 byte hash limits the key space size to 2^160 so it actually has no effect on security at all.&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
&lt;br /&gt;
This BIP replaces BIP 16, (&amp;quot;/P2SH/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
There is a general consensus that multi signature transactions need to be implemented ASAP without requiring the use extremely long &amp;quot;script addresses&amp;quot;. A number of potential issues have been found with the solutions thus far:&lt;br /&gt;
&lt;br /&gt;
* CHV requires the scriptPubKey interacts with data from scriptSig which has not been push onto the stack&lt;br /&gt;
* OP_EVAL essentially makes the scripting language turing complete, something which Satoshi deliberately avoided during its design. &lt;br /&gt;
* P2SH requires that standard templates become a mandatory part of the scripting language, meaning they can never be fully depreciated in future.&lt;br /&gt;
&lt;br /&gt;
All of the these solutions risk a fork in the blockchain and require at least 50% miners approval. This proposal requires no changes to the block validation rules and can be implemented immediately. However it only allows for the most common use cases of pay to script transactions and has limited flexibility. Additionally the resulting scriptPubKey is 4 bytes larger than the standard &amp;quot;pay to address&amp;quot; scriptPubKey in common use.&lt;br /&gt;
&lt;br /&gt;
One additional advantage of this proposal is that the order of public keys in a scriptSig does not affect the resulting hash. Therefore a user redeeming such a transaction does not need to know the exact script just each public key and whether the transaction is (A or B) or (A + B).&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
Old clients will not relay transactions using the new template, however they will preform the same validation as new clients.&lt;br /&gt;
&lt;br /&gt;
== M-of-3 ==&lt;br /&gt;
&lt;br /&gt;
The following is not part of the specification for this proposal but it is worth mentioning that using the same technique you can support both M-of-2 and M-of-3 transactions.&lt;br /&gt;
&lt;br /&gt;
   OP_2OVER OP_2OVER OP_DUP 3 OP_EQUAL OP_IF 8 OP_PICK OP_ADD OP_ENDIF OP_ADD OP_ADD OP_ADD OP_RIPEMD160 &amp;lt;scriptHash&amp;gt; OP_EQUALVERIFY OP_CHECKMULTIS&lt;br /&gt;
&lt;br /&gt;
However this requires 11 bytes of additional op codes.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=46538&lt;br /&gt;
* The [[BIP 0013|Address format for Pay to Script Hash BIP]]&lt;br /&gt;
* M-of-N Multisignature Transactions [[BIP 0011|BIP 11]]&lt;/div&gt;</summary>
		<author><name>Piuk</name></author>
	</entry>
</feed>