diff --git a/.cirrus.yml b/.cirrus.yml
new file mode 100644
index 0000000..d451cfc
--- /dev/null
+++ b/.cirrus.yml
@@ -0,0 +1,37 @@
+container:
+  image: python
+
+lint_task:
+  setup_script:
+    - pip install flake8
+    - pip install codespell
+  script:
+    - PYTHONWARNINGS="ignore" flake8 --ignore=E501,F841,W503 --exclude=xmrswap/contrib,.eggs
+    - codespell --check-filenames --disable-colors --quiet-level=7 --ignore-words=tests/lint/spelling.ignore-words.txt -S contrib,.git,.eggs,*.pyc
+
+test_task:
+  environment:
+    - PART_VERSION: 0.19.1.1
+    - BTC_VERSION: 0.20.1
+    - LTC_VERSION: 0.18.1
+    - TEST_RELOAD_PATH: $HOME/test_basicswap1/
+    - TEST_DIR: $HOME/test_basicswap2/
+    - BIN_DIRS: $HOME/binaries
+    - PARTICL_BINDIR: ${BIN_DIRS}/particl-${PART_VERSION}/bin
+    - BITCOIN_BINDIR: ${BIN_DIRS}/bitcoin-${BTC_VERSION}/bin
+    - LITECOIN_BINDIR: ${BIN_DIRS}/litecoin-${LTC_VERSION}/bin
+  setup_script:
+    - if [ ! -d "$BIN_DIRS" ]; then mkdir -p "$BIN_DIRS" ; fi
+    - if [ ! -d "$PARTICL_BINDIR" ]; then cd "$BIN_DIRS" && wget https://github.com/tecnovert/particl-core/releases/download/v${PART_VERSION}/particl-${PART_VERSION}-x86_64-linux-gnu.tar.gz && tar xvf particl-${PART_VERSION}-x86_64-linux-gnu.tar.gz; fi
+    - if [ ! -d "$BITCOIN_BINDIR" ]; then cd "$BIN_DIRS" && wget https://bitcoincore.org/bin/bitcoin-core-${BTC_VERSION}/bitcoin-${BTC_VERSION}-x86_64-linux-gnu.tar.gz && tar xvf bitcoin-${BTC_VERSION}-x86_64-linux-gnu.tar.gz; fi
+    - if [ ! -d "$LITECOIN_BINDIR" ]; then cd "$BIN_DIRS" && wget https://download.litecoin.org/litecoin-${LTC_VERSION}/linux/litecoin-${LTC_VERSION}-x86_64-linux-gnu.tar.gz && tar xvf litecoin-${LTC_VERSION}-x86_64-linux-gnu.tar.gz ; fi
+  script:
+    - cd "${CIRRUS_WORKING_DIR}"
+    - export DATADIRS="${TEST_DIR}"
+    - mkdir -p ${DATADIRS}/bin/{particl,bitcoin}
+    - cp "${BIN_DIRS}/bitcoin-${BTC_VERSION}-x86_64-linux-gnu.tar.gz" "${DATADIRS}/bin/bitcoin"
+    - cp "${BIN_DIRS}/particl-${PART_VERSION}-x86_64-linux-gnu.tar.gz" "${DATADIRS}/bin/particl"
+    - mkdir -p ${TEST_RELOAD_PATH}/bin/{particl,bitcoin}
+    - cp "${BIN_DIRS}/particl-${PART_VERSION}-x86_64-linux-gnu.tar.gz" "${TEST_RELOAD_PATH}/bin/particl"
+    - cp "${BIN_DIRS}/bitcoin-${BTC_VERSION}-x86_64-linux-gnu.tar.gz" "${TEST_RELOAD_PATH}/bin/bitcoin"
+    - python setup.py test