Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A Django app to organize accepting bitcoin, litecoin, novacoin and other cryptocoins.

Project Description

Django-cryptocoin is a Django app to organize accepting bitcoin, litecoin, novacoin and other cryptocoins, which support JSON-RPC commands getnewaddress and getreceivedbyaddress.

Quick Start

  1. Install using pip pip install django-cryptocoin

  2. Add 'django-cryptocoin', to INSTALLED_APPS in your

  3. Run python migrate

  4. Set settings similarly as

  5. Add command python check_incomings to cron with interval 1 minute

  6. Add relation to CryptoOrder to your order model:

    crypto_order = models.OneToOneField(CryptoOrder, related_name='order')
  7. Add handler to payment end signal (delivery digital content, sending email, etc):

    def after_pay(sender, **kwargs):
  8. After sending form with order we need create instance of CryptoOrder and redirect to process view. Example:

    if form.is_valid():
        crypto_order = CryptoOrder(
  ,#time of invoice
            redirect_to=reverse('home')#view to redirect after payment
        form.instance.crypto_order = crypto_order
        return redirect('cryptocoin-order-process', addr=crypto_order.addr)

After confirmation of transaction sended signal after_pay_confirmation which handler described above.

Tested cryptocoins

  • Bitcoin
  • Litecoin
  • Novacoin
  • Emercoin



Dict with supported crypto currencies. Default:

    'btc': 'Bitcoin',
    'ltc': 'Litecoin',
    'nvc': 'Novacoin',


Connection strings for JSON-RPC commands to coin clients. Default:

    'btc': 'your_bitcoin_addr_to_send_btc',
    'ltc': 'your_litecoin_addr_to_send_ltc',
    'nvc': 'your_novacoin_addr_to_send_nvc',


Network confirmations count for each crypto currency. Default:

    'btc': 1,
    'ltc': 1,
    'nvc': 1,


Template for process view. You can use own site template for this page. For example if you have base template base.html with block content you can create process.html in your template folder and paste this code:

{% extends 'base.html' %}

{% block content %}
    {% include 'django_cryptocoin/process.html' %}
{% endblock %}


How many seconds app will wait for payment. If you set big value, exchange rate to USD can change significantly. Default 900 seconds/


Account for generated addresses in your wallet. Default django_cryptocoin.


Currency pairs for which will retrieved exchange rates from To retrieve this rates run command python get_exchange_rates. Than you can get this rates with function ExchangeRate.get_exchange_rate(from_currency, to_currency). Default:

['btc_usd', 'btc_rur', 'btc_eur', 'ltc_usd', 'ltc_rur', 'nvc_usd']

Release History

This version
History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(16.3 kB) Copy SHA256 Hash SHA256
Source None Jan 9, 2014

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers