Вы находитесь на странице: 1из 14

GENERAL BYTES s.r.o.

BATM Installation Manual


How to setup terminal
How to setup server
Security guidelines
Best practices
AML/KYC

1 BATM Installation Manual


GENERAL BYTES s.r.o. Page 1 of 14


GENERAL BYTES s.r.o.

Content

Content 2

1. Overview 2
1.1. Scope of this document 2
1.3. Revision history 2

2. Solution overview 4

3. Terminal 4
3.1. System requirements 4
3.2. Additional notes 4
3.3. Terminal installation 5
3.4. Connecting terminal to your server 7
3.5. Security guidelines 7

4. Server 8
4.1. Minimal system requirements 8
4.2. Server Installation 9
4.3. Security guidelines 9

5. Best Practices 10

6. Counters 12
6.1. Buy Counters 12
6.2. Sell Counters 13

7. AML/KYC explained 13

2 BATM Installation Manual


GENERAL BYTES s.r.o. Page 2 of 14


GENERAL BYTES s.r.o.

1. Overview

1.1. Scope of this document


This document serves as guide book for first-time owners of BATM Terminal and
BATM Server.

1.3. Revision history

Date Version Comment Author

5.6.2014 1.0 First version Karel Kyovsk

11.6.2014 1.1 Added mail TCP port Karel Kyovsk

4.7.2014 1.2 Added Yahoo Finance TCP Karel Kyovsk


port, removed Google
Finance

10.9.2014 1.3 Updated ports BitcoinPay Karel Kyovsk


and 8333

14.2.2015 1.4 Added best practices, Karel Kyovsk


counters and AML process.
Revisited document.

8.6.2015 1.5 Fixed broken B symbol Karel Kyovsk

11.4.2017 1.6 Videos added and small Karel Kyovsk


corrections

8.6.2017 1.7 Added litecoin port Karel Kyovsk

18.7.2017 2.0 Updated instructions to Karel Kyovsk


reflect new software
versions and videos

3 BATM Installation Manual


GENERAL BYTES s.r.o. Page 3 of 14


GENERAL BYTES s.r.o.

2. Solution overview

BATM solution consists of following parts.


BATM Terminal (BATMTwo or BATMThree, MDKit or RCKit)
BATM Server
Third Party Services (Cryptocurrency wallet, Cryptocurrency exchange, Fiat
currency provider, Network time service).
Each part of the solution is described in greater detail in each following section of
this document.

3. Terminal

BATM Terminal is responsible for interacting with end-customer, accepting cash and
sending requests to the BATM server for sending cryptocurrency to end-customer or
vice versa.

3.1. System requirements


BATM Terminal needs working WiFi or LAN internet connection to send requests to
BATM Server and 100Vac ~ 230Vac power connection.
BATM Terminal uses these network connections, make sure that your firewall
doesnt block them:

Outgoing TCP connection on port 7741 to connect to BATM Server.


Outgoing UDP connection on port 53 for DNS resolving.
Outgoing UDP connection on port 123 for obtaining date time information (NTP).
Incoming ICMP connection for PING network diagnostics.
DHCP protocol for obtaining the IP address, netmask, DNS and default gateway.

3.2. Additional notes


BATM Terminal remembers only network settings, BATM Server ip address, and
administration key. All other information are fetched from BATM Server. There are
no cryptocurrency wallet private keys or access keys to cryptocurrency exchange
stored on the terminal.

4 BATM Installation Manual


GENERAL BYTES s.r.o. Page 4 of 14


GENERAL BYTES s.r.o.

3.3. Terminal installation


BATM Terminal installation consists of following steps:
1. Finding and securing the main door keys (terminal cannot be opened if these
keys are lost)
2. Physical check of the machine state after purchase including the interior of
the machine. In case of damage acquire photos and inform seller.
3. Reading BATM Operating Manual received with the terminal package.
4. Read terminal Security guidelines chapter
5. Installing coreboard. See Core board installation video.
6. Turning machine on.
7. Resolving any error displayed on the screen.
8. Setting up WiFi
a. Touch the exclamation mark symbol in circle on the screen.
b. Place the factory administration key (QR Code) in-front of the camera
to enter the administration. Factory administration key sent to licensed
customers after the purchase of first BATM Terminal.
c. Click on WIFI SETUP button.
d. Setup the WiFi network.
e. Click on EXIT
f. In some cases the terminal needs to be restarted to respect the new
settings.
9. When connected to WiFi you should be automatically connected on factory
demo server. All functionality should be working except for purchasing or
selling cryptocurrency. Transactions will fail.
10. For connecting the Terminal to your own server follow the instructions in
chapter Connecting terminal to your server.
11. Perform physical installation in the final location. Use of wall mounting
template greatly speeds up mounting process.

5 BATM Installation Manual


GENERAL BYTES s.r.o. Page 5 of 14


GENERAL BYTES s.r.o.

It is highly recommended to watch the following videos describing


installation process:

BATMTwo Unboxing https://www.generalbytes.c


om/vid_batm2unbox

BATMTwo https://www.generalbytes.c
Configuration om/vid_batm2config

BATMThree Unboxing https://www.generalbytes.c


om/vid_batm3unbox

BATMTwo Stand https://www.generalbytes.c


Installation om/vid_stand

6 BATM Installation Manual


GENERAL BYTES s.r.o. Page 6 of 14


GENERAL BYTES s.r.o.

3.4. Connecting terminal to your server


Please note that your server needs to be installed and configured properly as
described in Server installation chapter.

Connecting the BATM terminal to your server consists of following steps:


1. Make sure you already configured WiFi connection.
2. Turn terminal off
3. Take out the cashbox/stacker from bill acceptor.
4. Turn terminal on
5. Terminal should display Error: Stacker Out
6. Touch the exclamation mark in circle symbol on the screen.
7. Place the administration key (QR Code) in-front of the camera to enter the
administration.
8. Click on CHANGE SERVER button
9. Enter public ip address of your server and click on OK.
10. Wait 10 seconds and then turn terminal off.
11. Put cashbox/stacker back into the bill acceptor.
12. Wait 10 seconds and turn terminal on.
13. Terminal should boot and connect to your server. If terminal doesnt connect
(displays message No Internet) check terminal configuration on the server
side or look into master service log.

3.5. Security guidelines


Dont lose the keys. Put spare keys from main door and cashbox to secure
location.
Person which takes cash from terminal must be trustworthy. Untrustworthy
person may put banknote into the terminal, buy cryptocurrency, open the
terminal take out the cash from cash box and put it again into the bill
validator. This performed repetitively will spend all of your cryptocurrency.
Dont forget the main door keys on the physical location.
Dont leave too much cash in the terminal. Seriously.

7 BATM Installation Manual


GENERAL BYTES s.r.o. Page 7 of 14


GENERAL BYTES s.r.o.

4. Server

BATM Server is consists of following parts:


Linux compatible hardware - can be also virtual machine in cloud.
Linux operation system - Intel/AMD 64bit Ubuntu 16.04 is qualified OS. But it
may be possible that server software runs also on other Intel/AMD 64 bit
Debian distributions.
MySQL database - all terminal settings including the transaction records are
stored here.
Master service - software component that interacts with the terminals,
database and 3rd party services such as cryptocurrency exchange.
Admin service - software component used for operators to manage the
terminals and server configuration remotely.

4.1. Minimal system requirements


CPU: 2 GHz Intel/AMD 64bit architecture.
RAM: 2 GB
Storage: 8 GB

BATM Server uses these network connections, make sure that your firewall doesnt
block them:

Incoming TCP connection on port 7741 for communication with BATM.


Incoming TCP connection on port 7777 for internet browser access to BATM
Administration. This connection is encrypted via SSL.
Outgoing UDP connection on port 53 for DNS resolving.
Incoming ICMP connection for PING network diagnostics.
Outgoing TCP connection on port 8333 for connecting to bitcoin peer-to-peer
network.
Outgoing TCP connection on port 9333 for connecting to litecoin peer-to-peer
network.
Outgoing TCP connection on port 465 to mail.generalbytes.com for sending emails
to customers.
Outgoing TCP connection on port 443 to outer services as wallets, exchanges etc
addresses:
https://www.bitstamp.net - for communication with Bitcoin exchange
https://download.finance.yahoo.com - for obtaining fiat currencies exchange
rates (USD vs EUR etc.)

8 BATM Installation Manual


GENERAL BYTES s.r.o. Page 8 of 14


GENERAL BYTES s.r.o.

https://www.bitcoinpay.com - for issuing new payment requests on payment


processor BitcoinPay.com (Used by POS and STORE functionality).
And other

4.2. Server Installation


BATM Server installation consists of following steps:
1. Obtain the license key from BATM vendor - it is received by email with license
purchase. Dont share license key with anyone.
2. Create bitstamp.net account if you plan to use bitcoin cryptocurrency
exchange. Applies also to any other supported bitcoin exchange.
3. Read server Security guidelines chapter.
4. Installing operating system - Ubuntu (qualified) or different debian derivative.
5. Installing BATM Server application software.
6. Upgrading BATM Server and Terminal to the latest version.
7. Configuring BATM Server.

It is highly recommended to watch the following videos describing


installation process:

https://www.generalbytes.com/vid_serverinstall

Please note that videos may describe older version of the software then you use.

4.3. Security guidelines


Change the administration QR code key. Dont use the default factory
administration QR code.
Firewall everything except for essential connections mentioned in System
Requirements chapter and SSH.
Dont use default ssh TCP port.

9 BATM Installation Manual


GENERAL BYTES s.r.o. Page 9 of 14


GENERAL BYTES s.r.o.

Allow connecting users to SSH only with SSH-keys. Dont let them use the
password.
Dont give access to the servers operating system to untrusty persons even
with the non admin accounts. There are still possibilities of local privilege
escalation in Linux OS.
Dont give the admin access to Administration interface to untrustworthy
people.
Use strong passwords for operation system users and change them regularly
Use strong passwords for MySQL database root access
Use strong passwords for Administration interface users and change them
regularly.
Use strong and different passwords for Crypto exchange and Hot Wallet
Keep your servers public IP address secret.

5. Best Practices
Test all of the functions of the ATM before putting it into production. Play
around with it for a while. Check also what Notification Policies offer. Test
that the camera has right focus for scanning ID cards.
Notify shops staff that you are going to open the ATM - every time.
Always before taking cash from ATM make a photo of the counters in
terminal administration. Make a photo of dispenser banknote counts in
administration when refilling cash (applies only to two-way ATMs)
Always clear short counters when taking out the cash (right after making
photo of counters)
When taking out the cash take out also cash from reject cashbox part of
top dispenser cassette where banknotes are rejected. Applies to 2-way ATMs
only.
Dont leave the keys from the ATM in same shop as the ATM is. Somebody
else might take cash out instead of you - regularly.
Check displayed buy and sell exchange rates on ATM and perform calculation
verifying that your exchange rate is profitable.
Place ATM in front of the camera(CCTV). It discourages people trying to get
into the ATM or steel it.
Check support page for new versions often. New versions might contain bug
fixes for serious bugs.
Dont upgrade to todays release version. Let other test it first. Upgrade day
after unless support tells you otherwise.

10 BATM Installation Manual


GENERAL BYTES s.r.o. Page 10 of 14


GENERAL BYTES s.r.o.

Dont upgrade to new version on Fridays. Support workforce is limited on late


Fridays and weekends.
Dont upgrade to new version on Mondays. You have usually enough work to
do on Monday and you dont need any other worries. Apart from that in
supports timezone can be still weekend or/and night.
Try rebooting ATM and test that administration is accessible via
administration QR code key before moving machine to different location.
Everytime you change cryptocurrency settings on server such as exchange
api keys. Please try performing transaction on machine to ensure that ATM
will be working when visited by customer.
It is good to setup your own terms and conditions on the machine.
It is good to setup your own texts on printed tickets and receipts.
It is always good to put a sticker on the ATM with phone number where
customers can call in case of trouble.
Make sure you understand AML/KYC process well enough (see next
chapters).
Make sure you understand Counters concept and their meaning correctly (see
next chapters).
Make sure that ping time between server and terminal is 500ms max.
Use reliable WiFi or LAN connection.
Use smartphone to access Administration web console - it is handy when you
dont have laptop with you.
Have a Administration key QR code photo in your smartphone so you always
have it with you when needed.

11 BATM Installation Manual


GENERAL BYTES s.r.o. Page 11 of 14


GENERAL BYTES s.r.o.

6. Counters

To keep track of money flow ATM uses counters. Counters are always increasing
and never decreasing. Counters exist always in pairs Long and Short. Short
counters can be reseted by administrator to 0 for instance in order to mark the fact
that cash has been taken out from the machine. Long counters cannot be reseted
and keep increasing for the lifetime of the machine. Every time some counter is
increased Short and Long counter pair is increased together.
Machines counters are stored on server. Machine doesnt store them, only displays
them. If you connect ATM to different server it will fetch different counters.

6.1. Buy Counters

Counter Type Description

IN (fiat currency) Increased every time banknote is accepted from


customer.

OUT (fiat currency) Increased every time the transaction successfully


converts fiat to cryptocurrency.

OUT (crypto currency) Increased every time the transaction successfully


converts fiat to cryptocurrency.

ERROR (fiat currency) Increased every time transaction fails. (When fiat is not
converted to cryptocurrency)

IN (f) =OUT(f) + ERROR(f)

12 BATM Installation Manual


GENERAL BYTES s.r.o. Page 12 of 14


GENERAL BYTES s.r.o.

6.2. Sell Counters

Counter Type Description

IN (crypto currency) Increased every time crypto amount is received from


customer.

OUT (crypto currency) Increased every time crypto amount is received from
customer and is sent to hot wallet or sold on
exchange.

OUT (fiat currency) Increased every time banknote is dispensed from the
ATM during withdrawal.

ERROR (crypto currency) Increased every time transaction fails. When crypto
amount sell fails on exchange or send to hot wallet.

ERROR (fiat currency) Increased every time dispenser rejects some


banknote into reject box.

IN (c) =OUT(c) + ERROR(c)

7. AML/KYC explained
AML = Anti-Money Laundering
KYC = Know Your Customer

State regulation tries to prevent sponsoring illegal activities by requiring different


entities to collect data about identity of money transaction senders and receivers.

BATM server allows you to set how much information about the customer is
collected by ATM based on the amount of cash customer is wishing to transact.

BATM enables you to classify customer based on cash level to 3 different groups:
Anonymous, Unregistered, Registered.

For Anonymous group none of the information about the customer is collected.
You typically allow customers buy bitcoins for low cash amount as the risk of Money
Laundering is low.

13 BATM Installation Manual


GENERAL BYTES s.r.o. Page 13 of 14


GENERAL BYTES s.r.o.

For Unregistered group Fingerprint or Phone number is collected. But no other


information such as his name.
For Registered group Fingerprint or Phone number, ID card scan and email is
collected. Additionally such registration request must be always approved by ATM
owner/operator remotely via remote administration.

ATM operator is notified about new registration request (Enrollment) via SMS or
e-mail. Customer is notified about successful registration by SMS or e-mail.

ATM can be configured to allow only selected groups to perform buy and sale. For
instance allowing only buy and sell to registered customers.

Following picture illustrates which states customers identity can have and how the
screen flow is for each group.

14 BATM Installation Manual


GENERAL BYTES s.r.o. Page 14 of 14

Вам также может понравиться