The Complete Guide to Accept Bitcoins Without Fees

NameTerrific is probably the best and most popular domain service provider that accepts Bitcoin, a peer-to-peer digital currency. We’re always proud users of cutting-edge technologies and I can confidently say that Bitcoin is by far the best payment solution ever invented.

Why Bitcoin?

We’re an Australian company and just like almost every non-U.S. startup, we had a hard time sorting out payment solutions. Our needs are complex: multi-currency support is essential (90% of our potential users have no idea how much AUD is worth), stored payment methods (while minimising PCI compliance requirements), low fixed costs (as we’re a startup) and developer-friendly APIs.

After months of paperwork, phone calls, emails and coding, we finally settled on WorldPay and Spreedly Core. They are very good (especially Spreedly Core), and at least our requirements can be all met.

However, processing Bitcoin payments is a completely different experience. There’s no paperwork (just code), no set-up cost and everyone can get started in no time. In addition, there’s virtually no chargeback risk (we don’t require any confirmations but we bet that the cost of a double-spending attack is significantly higher than a domain) and the fees are low.

There are many existing solutions out there that may fit your needs perfectly, such as Coinbase, Mt. Gox and Bitpay. But this post is going to be a fee-free method to accept Bitcoins on your website.


We love the Blockchain Receive Payments API because they’re secure and really easy-to-use. You can dynamically generate a Bitcoin address (displayed to your customer) from your app. Payment received via this unique address will be forwarded to a specified destination address, which can be the one in your Bitcoin wallet.

Blockchain even supports a callback feature which is similar to PayPal’s IPN. When the Bitcoin is received your app will be notified. Remember to generate a unique key for each callback address so that the request can’t be spoofed.

The Behaviour

Here’s the sequence of events that should happen when a customer orders on your site and opts to pay with Bitcoin:

  1. Generate order/invoice
  2. Generate a Bitcoin address via Blockchain API
  3. Show the amount to your customer and ask for payment
  4. If you use callback, wait for notification. Otherwise, give your customer a “Check Payment” button which will check the transaction history of the unique address
  5. If payment is received, deliver the order
  6. That’s it!

The whole process is extremely easy to understand and implement. It’s also entirely transparent to your customers so you can customise the payment page and avoid redirecting them to third-party payment processors.

How to cash out?

All the payments will be eventually directed to your Bitcoin wallet and you can trade them with any other Bitcoiner for local currencies. You can also use a Bitcoin exchange such as Mt. Gox. If you have a U.S. bank account, Coinbase is a good alternative too.

The benefit of DIY Bitcoin processing is that you can control how much to keep as Bitcoin savings and how much to convert to local currencies to pay your bills.

How about pricing?

Generally there are two ways to price your products. If your products are high-profit-margin or primarily service-based, it may be a good idea to fix a price in Bitcoin and change it only when the value of Bitcoin changes a lot. Other merchants, however, tend to fix fiat currency prices and calculate Bitcoin prices dynamically using the latest exchange rates.

Regardless of what you actually prefer, it’s a good idea to keep records of exchange rates applied for every single order for the accounting and taxation purposes.

How about accounting?

I’m not a certified accountant, but I’m aware that there should be specific rules applied to foreign currencies accounting in your country. Generally for any kind of foreign currency accounting, these three accounts need to be created:

  • Cash account for each different currency (the amount is in local currency)
  • Unrealised foreign currency gains and losses (for foreign currency transactions involved in receivables/payables/accrued/prepaid accounts, calculated periodically)
  • Realised foreign currency gains and losses (for foreign currency transactions performed in cash, closed to P/L)

For Bitcoin, this general rule is entirely applicable. Since we are already dealing in multiple currencies, there’s no additional work to do other than monitoring BTC/USD exchange rates regularly. However, you should probably talk to your accountant if foreign currency accounting is new to you.


Compared to our credit card payment processing system, Bitcoin is really attractive because it’s so easy to accept. The user experience is great too: on average it takes less than 20 seconds to register a domain on NameTerrific using Bitcoin provided you have pre-filled the contact info in your Profile. Our customers absolutely love it and you should definitely consider accepting Bitcoin on your site to ride a conversion boost.

Lastly, a tip: You should list your website on Bitcoin wiki / Trade so that Bitcoiners can find your business.

The Fix

NameTerrific is opening its doors today.

I’ve been working on this startup for almost 8 months. The idea behind it is simple – let’s change how people deal with domain names completely. I want to build something awesome.

Since I registered my first domain when I was 12 (for the record, I’m 18 this year), the whole industry never stopped making me sick. Here’s the list of problems that I’ve experienced:

  • Unscalable DNS servers. I have no idea how many domains the big elephants cram into their servers without thinking about scalability. Even GoDaddy admits themselves that “the inability to access a website is related to DNS issues 30% of the time” on their Premium DNS page.
  • Unethical parking. I’m a perfectionist, and when I register a domain, I expect it to be new. I appreciate the “Website in construction” messages, but they almost always come with irrelevant and ugly ads.
  • Hijacking. Some registrars (I don’t want to name them) hijack empty DNS records to direct users who made a typo on the subdomain (like “ww” or “lbog”) to their ads.
  • Exorbitant registration fees. This happens with some small registrars and some resellers that are targeting people from traditional businesses who have no idea how much a domain costs. Or they bundle with some useless SEO services.
  • Endless upselling. It somehow becomes an industry norm that registrars make profits on hosting and other services and sell domains at cost. I’m not sure how much time (and real productivity) has been wasted on clicking “No Thanks”.

It doesn’t make sense to save a few dollars a year and go through the bad-registrar-torture. My startup thinking kicked in and here’s the fix:

  • TerrificDNS. This is a backend-neutral DNS management platform. Basically it gives you a web UI and an API to manage domain records, and it automatically pushes the changes to a backend you choose.
  • Currently NameTerrific has two backends — Standard and Cloud. The Standard backend is a set of Unicast PowerDNS nodes hooked to Redis instances (super-fast in-memory data store). The Cloud backend is simply Amazon Route 53.
  • Domain is all NameTerrific does. No hosting, ever.
  • No parking. No ads. No upselling. No hijacking.
  • Reasonable and relatively cheap all-included prices. If you use Anycast you may be charged a small usage fee, and NameTerrific Pro is a flat $24.95/month. Our promise: we won’t charge you for anything not listed in the less-than-two-screen Pricing page.
  • Friendly features. Snippets, Profiles, Domain Admins, Push and the coming-soon APIs suddenly open endless opportunities for you to efficiently manage your domains.
  • Intuitive and elegant user interface. It’s all about experience, really. Almost all users who signed up for the Beta loved NameTerrific’s user experience, and I hope you will too.
  • Awesome support. Don’t know how to set up your new hosting? No problem, email us and we will get it done for you. We will help you for literally anything domain-related.

To get started, NameTerrific processes all domain registrations through eNom, a large and trustworthy registrar. At the same time, we can imagine being a registrar ourselves and do even more awesome things in the foreseeable future.

NameTerrific extends the reach of professional domain services to startups and geeks with limited budget. We’ll keep working on it and your feedback will certainly be valuable. Please email us at [email protected] for any suggestions or ideas to help us move forward.

One more thing: An exclusive offer to new users

If you sign up for NameTerrific and upgrade to NameTerrific Pro in 2012 (that is, before December 31, 2012), you can immediately enjoy a 3-month free trial. There’s no catch. We will email you a week before your trial ends and see whether you want to continue the subscription.

If you’ve read this far, you should take a look at NameTerrific and probably like us on Facebook.