US10255600B2 — Cryptocurrency offline vault storage system (Part 1 of 2)

Bitcoin Research — Law, Regulation, Markets & Origins (2026)

Patents

1

2014-06-16

Document text

Research, not advice. Part of the Bitcoin research archive (October 2026). Claims labelled unverified, contested or fringe are reported, not endorsed; statuses of bills and rules are as of the date checked. Government, court and patent records are public domain; the research notes are CC BY 4.0.

US010255600B2

(12) United States Patent                                                              (10) Patent No.: US 10 ,255 ,600 B2
        Ronca et al.                                                                   (45) Date of Patent:     Apr . 9 , 2019
(54) CRYPTOCURRENCY OFFLINE VAULT                                                                         (2013 .01); H04L 41/0816 (2013.01); H04L
      STORAGE SYSTEM                                                                                      63 /0428 (2013 .01 ); H04L 67/ 12 (2013.01) ;
                                                                                                                              H04L 2463/ 102 (2013 .01)
(71 ) Applicant: Bank of America Corporation ,                                      (58 ) Field of Classification Search
                 Charlotte , NC (US)                                                       None
                                                                                           See application file for complete search history.
(72 ) Inventors: James G . Ronca , Decatur , GA (US);                               ( 56 )               References Cited
                 Joseph B . Castinado , Northglenn , CO
                   (US ); Heather Dolan , Sarasota , FL                                                  U .S . PATENT DOCUMENTS
                   (US ); Thomas E . Durbin , Waynesville ,
                  NC (US)                                                                     6 ,950 ,523 B1* 9 /2005 Brickell ................ H04L 9 /3226
                                                                                                                                                   380 /277
(73 ) Assignee : Bank of America Corporation ,                                       2009/0106561 A1 *           4 / 2009                       G06F 21/62
                                                                                                                                                    713 / 193
                   Charlotte , NC (US)
                                                                                                                   (Continued )
( * ) Notice:      Subject to any disclaimer, the term of this
                   patent is extended or adjusted under 35                                                OTHER PUBLICATIONS
                   U .S . C . 154 (b ) by 1111 days .
                                                                                    U .S . Appl. No. 14 /305,579 , filed Jun. 16 , 2014 , Ronca , et al.
(21) Appl. No.: 14/306,158                                                                                         (Continued )
(22 ) Filed :      Jun. 16 , 2014                                                   Primary Examiner — John W Hayes
                                                                                    Assistant Examiner — Jason B Fenstermacher
(65 )                  Prior Publication Data                                       (74 ) Attorney, Agent, or Firm — Baker Botts L .L .P.
        US 2015 /0365283 A1         Dec . 17, 2015                                   (57)                   ABSTRACT
(51) Int . Cl.                                                                       A system includes a memory that may store a customer
     G06Q 20 / 36              ( 2012 . 01)                                         account associated with a customer and a processor com
        G060 20 /38            (2012.01)                                            municatively coupled to the memory . The processor is able
        H04L 12 /24            ( 2006 . 01)                                         to receive a request to deposit a quantity of cryptocurrency
        G06Q 20 / 06           ( 2012 .01 )                                         into the customer account and associate the quantity of
        G060 20 / 10           (2012 .01)                                           cryptocurrency with the customer account. The processor is
        H04L 29/08             ( 2006 .01 )                                         also able to deposit the quantity of cryptocurrency into a
        G060 20 /40            ( 2012 .01 )                                         vault connected to a network and determine a total quantity
      H04L 29 /06                (2006 .01 )                                        of cryptocurrency deposited into the vault. The processor
(52 ) U .S . CI.                                                                    may also , in response to determining the total quantity of
      CPC ....... GO6Q 20 / 3829 (2013.01 ); G06Q 20 /065                           cryptocurrency deposited into the vault exceeds a threshold ,
                  (2013 . 01 ); G060 20/ 10 (2013.01); G060                         facilitate the disconnection of the vault from the network .
                 20 /36 (2013 .01); G06Q 20/381 ( 2013 .01) ;
                 G06Q 20 /4016 ( 2013 .01 ); G06Q 20 /4037                                               15 Claims, 16 Drawing Sheets
                                                             Start
                                                                             1202
                                                     Receive a request to
                                                     deposit a quantity of
                                                      Cryptocurrency into
                                                        a user account

                                                                          _ 1204
                                                        Associate the
                                                          quantity of
                                                     cryptocurrency with
                                                       the user account

                                                                             1206
                                                      Deposit the quantity
                                                       of cryptocurrency
                                                     into a vault comected
                                                         to a network

                                                             Does the 1208
                                                         total quantity of
                                                      cryptocurrency in the No          End
                                                          Vault exceed a
                                                           threshold ?
                                                           Ves
                                                                          c1210
                                                         Disconnect
                                                           the vault                              1200
                                                                 US 10 ,Page
                                                                         255,2600 B2

(56)                       References Cited
              U . S . PATENT DOCUMENTS
 2015 /0271183 A1 * 9/ 2015 MacGregor ........... H04L 63/ 102
                                                                       726 /4
 2015/0287026 A1* 10/2015 Yang ............... G06Q 20 / 3678
                                                     705 /69
 2015/0310424 A1 * 10/2015 Myers ............. G06Q 20 /3678
                                                                     705 /69
 2015 /0332256 A1 * 11/ 2015 Minor ................ G06Q 20 / 3678
                                                                     705 /69
 2015/0356555 A1* 12/2015 Pennanen ............. GO6Q70520//7106
                     OTHER PUBLICATIONS
U .S . Appl. No. 14 / 305 ,783 , filed Jun . 16 , 2014 , Ronca , et al.
U .S . Appl. No. 14 / 305,797, filed Jun . 16 , 2014 , Ronca , et al .
U .S . Appl. No. 14 /305, 916 , filed Jun . 16 , 2014 , Ronca , et al.
U . S . Appl. No . 14 / 305 ,893 , filed Jun . 16 , 2014 , Ronca, et al.
U . S . Appl. No . 14 /305 ,054 , filed Jun . 16 , 2014 , Ronca , et al.
U .S . Appl. No. 14 /305 ,981, filed Jun . 16 , 2014 , Ronca , et al.
U . S . Appl. No . 14 /305 ,928 , filed Jun . 16 , 2014 , Ronca , et al.
U . S . Appl. No. 14 / 306 , 110 , filed Jun. 16 , 2014 , Ronca , et al.
* cited by examiner
U.S.Patent moramo ometal
U . S . Patent               Apr. 9 , 2019

                                -
                                1405
                                                           Sheet 1 of 16                                                US 10 , 255,600 B2

                140a             Exchange P a y m
                                              7170e n t V i r t u a l a c o u n t s  172
                                                                                     (
                                                                                    1600
                  -

                  Exchange                                      -
                                                                116
                                                                                                    Data    Center 160a
                                                                      116
                                                                       -

                                   (
                                   116                                                                       Data     Center
                                                                                       116
         150
         <

             Enterprise 1 620
       TPhairtdy Server
                                                     Network   120
                                                                                    1 60 E n t e r p r i s e C r y p t o c u r e n c y server                               FIG
                                                                                                                                                                            1
                                                                                                                                                                            .

                                                     f176
                                         GUI 114
                                                                               110
                                                                                        Dev110ice                                    EECnrytpetrocpurriesnecyn1viro0nment
                                                                               111

                                                                        Customer   102
U . S . Patent                     Apr. 9 , 2019             Sheet 2 of 16         US 10 ,255 ,600 B2

                                                     - 201                 - 202

      wwwwwwwwwwwwwww Transformation
                       Engine 214
               Conversion                   Customer                Online
               Engine 216                   Accounts                 Vault
                                               203                   210
                Encoding
              Engine 218                      Float
                                             Account
                                               204
               Transaction
              Engine 220
              Aggregation
              Engine 222
               Calculation                 Transactions
              Engine 224                       208
                                         Cryptocurrency              P2P
                                         Risk Detection           Engine 238
                                           Engine 232
                Exchange                    Validation                                 Offline
               Engine 328                  Engine 234                                 Vault 212
                   Alert                       Vault
              Engine 230                   Engine 236
                                       Enterprise Cryptocurrency Server 130
                                                        FIG . 2
U . S . Patent   Apr . 9, 2019       Sheet 3 of 16       US 10 ,255 ,600 B2

                                                           300
                       COMPUTER SYSTEM - - - -
                       COMPUTER SYSTEM
       312 -
                                                           302
                                   PROCESSOR

                                    MEMORY           2 * 304
                                                            306
                                    STORAGE

                                  I/O INTERFACE
                                 COMMUNICATION          t - 310
                                    INTERFACE

                                 FIG . 3
U . S . Patent             Apr. 9 , 2019           Sheet 4 of 16        US 10 ,255 ,600 B2

                                                 START
                                                                             c402
                 RECEIVE CUSTOMER REQUEST FOR CURRENCY EXCHANGE
                                                                              ( 404
                            DETERMINE CURRENT EXCHANGE RATES
                                                                              7406
                             DETERMINE OPTIMAL EXCHANGE RATE
                                                                              7408
                                     SELECT OPTIMAL EXCHANGE RATE
                                                                             7410
                       DETERMINE FIRST AMOUNT OF FIRST CURRENCY
                                                                             7412
                       ASSOCIATE FIRST AMOUNT OF FIRST CURRENCY
                                         WITH CUSTOMER ACCOUNT
                                                                              = 414
                     TRANSFER FIRST AMOUNT OF FIRST CURRENCY INTO
                 FIRST FLOAT ACCOUNT ASSOCIATED WITH FIRST CURRENCY
                                                                                416
                     DETERMINE SECOND AMOUNT OF SECOND CURRENCY
                                                                              7 418
                 ASSOCIATE SECOND AMOUNT OF SECOND CURRENCYWITH
             SECOND FLOAT ACCOUNT ASSOCIATED WITH SECOND CURRENCY
                             .

                                        AMOUNT OF          r 420
        NO                 FUNDS IN SECOND FLOAT ACCOUNT BELOW
                                             A THRESHOLD ?
                                                                              [ 422
                 INITIATE PURCHASE OF A QUANTITY OF SECOND CURRENCY   LYON

                              FROM A CURRENCY EXCHANGE
                                                             DOFAIL
                                                                              < 424
                 TRANSFER QUANTITY OF SECOND CURRENCY INTO SECOND
                      VO             1
                                                             MILIVU

                 .
                                             FLOAT ACCOUNT
                                                                                426
             TRANSFER SECOND AMOUNT OF SECOND CURRENCY TO CUSTOMER

                                 C              END                          FIG.4
U . S . Patent          Apr. 9 , 2019        Sheet 5 of 16          US 10 ,255,600 B2

                                         START
                                                                         < 502
              RECEIVE ELECTRONIC REQUEST FOR CRYPTOCURRENCY
                                    CONVERSION
                                                                         7504
           RETRIEVE PRICE DATA ASSOCIATED WITH FIRST AND SECOND CURRENCIES
      ??                                                     c506
                               CONVERSION OPTIMAL ?
                                     YEST
           DETERMINE EXCHANGE RATES ASSOCIATED WITH CONVERTING
                                                              5508
                    FIRST CURRENCY INTO SECOND CURRENCY
                                                                             510
                       DETERMINE OPTIMAL EXCHANGE RATE
                                                                             512
               INITIATE CONVERTING FIRST CURRENCY INTO SECOND
                                        CURRENCY

                                          END
                                         FIG . 5
U . S . Patent       Apr. 9 , 2019       Sheet 6 of 16              US 10 , 255 ,600 B2

                                     START
                                                                           5602
        RECEIVE REQUEST TO DEPOSIT AMOUNT OF CRYPTOCURRENCY
                                                                          2604
        DETERMINE PUBLIC KEY ASSOCIATED WITH CUSTOMER ACCOUNT
                                                                           7606
                  RECEIVE AMOUNT OF CRYPTOCURRENCY
                                                                            608
                                     ATELY EQUIVALENT TO AMOUNT
        DETERMINE VALUE APPROXIMATELY EQUIVALENT TO AMOUNT OF
                             CRYPTOCURRENCY
                                                                -
                                                                          7610
                 ASSOCIATE VALUE WITH CUSTOMER ACCOUNT
                                                                          5612
              AGGREGATE AMOUNT OF CRYPTOCURRENCY WITH
                CRYPTOCURRENCY IN ENTERPRISE ACCOUNT
                                                                           - 614
          FACILITATE SECURING PUBLIC KEY IN ENTERPRISE ACCOUNT
   NO                                                    7616
                           PUBLIC KEY SECURE ?
                                         YES
           YES, COMMUNICATE CONFIRMATION CONFIRMING PUBLIC
                        KEY SECURE TO CUSTOMER
                                NO, END
                                      END

                                     FIG . 6
U . S . Patent            Apr. 9 , 2019         Sheet 7 of 16        US 10 , 255 ,600 B2

                                             START
                                                                         [ 702
                ENCODE CRYPTOCURRENCY INFORMATION ASSOCIATED
               WITH CUSTOMER ACCOUNT ONTO PAYMENT INSTRUMENT
                                                                         ( 704
                RECEIVE REQUEST FOR CRYPTOCURRENCY TRANSACTION
                                                                           706
               DETERMINE CRYPTOCURRENCY INFORMATION ASSOCIATED
                                WITH CUSTOMER ACCOUNT
                                                                          < 708
               |DETERMINE CRYPTOCURRENCY INFORMATION ASSOCIATED
                                      WITH RECIPIENT

                                 CUSTOMER ACCOUNT C10
         YES                 COMPRISE MINIMUM AMOUNT OF
                          CRYPTOCURRENCY FOR CRYPTOCURRENCY
                                          TRANSACTION ?
                                                  NO                       712
                INITIATE PURCHASE OF A QUANTITY OF CRYPTOCURRENCY
                                                            NDIV
                            FROM CRYPTOCURRENCY EXCHANGE
                                                                          - 714
                  TRANSFER AT LEAST A PORTION OF THE QUANTITY OF
                      CRYPTOCURRENCY TO CUSTOMER ACCOUNT
                                                                           716
                 ASSOCIATE FIRST AMOUNT OF CRYPTOCURRENCYWITH
                                   CUSTOMER ACCOUNT
                                                                          - 718
               INITIATETRANSFER OF FIRST
                NITIATI
                VIAL
                                         AMOUNT OF CRYPTOCURRENCY
                                    TO RECIPIENT
                                                                VD

                                     C END D
                                              FIG . 7
U . S . Patent         Apr. 9 , 2019         Sheet 8 of 16                US 10 ,255 ,600 B2

                                            Start
                                                                                 ( 802
                             Store a plurality of user profiles
                                                                                7804
             Receive request from user to perform cryptocurrency transaction
                                       with third party
                                                                                 C 806
             Retrieve block chain information associated with cryptocurrency
                                        transaction
                                                                           ( 808
               Determine at least one block chain cryptoidentifier from the
                                 block chain information
                                                                                      10
                 Compare the block chain cryptoidentifier and the stored
                            cryptoidentifier from user profile

                                         Determine                 812
        No               whether the block chain cryptoidentifier
                    and the stored cryptoidentifier associated with one
                              of the plurality of user profiles
                                           match
                                                 Yes
                                                                  - 814
        No                            Determine
                     whether one of the plurality of user profiles is
                                  associated with user or
                                          third party
                                                 Yes                          ( 816
               Calculate a first factor score based at least in part upon the
                              transaction history of the user
                                                                                 7818
               Calculate a second factor score based at least in par
                                                          UULII   al UDOTI
                                   the user IP address
                                                                            FIG . 8
U . S . Patent          Apr . 9, 2019       Sheet 9 of 16             US 10 ,255 ,600 B2

                                                                       -
                                                                              820
                        Calculate a risk score for the user profile

                                       Determine                822
        NO                whether cryptocurrency transaction
                           is suspicious based at least in part
                                  upon the user profile
                                               Yes                            824
             Communicate an alert to the enterprise that the cryptocurrency
                             transaction is suspicious
                                                                           [ 826
                 Communicate an alert to the user that cryptocurrency
                                transaction is suspicious
                                           End
                                          FIG . 8
                                         (Cont'd)
U . S . Patent           Apr. 9 , 2019              Sheet 10 of 16                  US 10 ,255 ,600 B2

                                                 Start
                     Receive request from customer to perform cryptocurrency
                                                                                         6902
                                     transaction with third party
                                                                                           C904
             Retrieve block chain information associated with cryptocurrency transaction
                                                                                           7906
                     Identify block chain factor based on block chain information
                                              Determine                 - 908
        NO                 whether block chain factor includes customer
                                             IP address ?
                                              Yes                                       6910
                      Determine location associated with customer IP address
                                                                                    -   7912
                           Calculate factor score for customer IP address
                                              Determine                  ( 914              No
                           whether block chain factors include third party
                                              Yes
                      Determine location associated with third party IP address
                                                                                           ( 918
                  Calculate factor score for third party IP address based on location
                                associated with third party IP address
                                              Determine                  r920
                        whether block chain factors
                                                key ?
                                                     include third party public
                                              Yes                                           922
                  Retrieve transaction history associated with third party public key
                                                                                           r924
                  Review transaction history associated with third party public key
                                                                                         7926
                           Calculate factor score for third party public key
                                                                                        FIG . 9
U . S . Patent            Apr. 9 , 2019          Sheet 11 of 16                 US 10 ,255 ,600 B2

                                                                                              928
                          Determine a factor score for other block chain factors
                                                                                            7930
              Determine amount of cryptocurrency associated with cryptocurrency transaction
                                                                                            r932
                      Calculate risk score for performing cryptocurrency transaction
                                                Determine                   934
         No      -        whether the transaction is approved based on the risk
                                                  score ?
                                                Yes                                           936
                  Communicate to customer and third party that transaction is approved
                                                                                            7938
                Communicate to customer and third party that transaction is not approved

                                               Determine                  ( 940
         No             whether the risk score indicates suspicious activity by the
                                               third party ?
                                                Yes                                           942
                 Communicate a notification to the customer that the risk score indicates
                                   suspicious activity by the third party
                                                   End
                                                  FIG . 9
                                                (Cont'd )
U . S . Patent          Apr. 9 , 2019          Sheet 12 of 16             US 10 , 255 ,600 B2

                              C           Start                                 c1002
                                  Store customer profile
                                                                                    < 1004
               Receive request to perform cryptocurrency transaction
                                                                                C1006
          Determine amount of cryptocurrency involved in cryptocurrency
                                       transaction
                                                                                < 1008
       Determine type of cryptocurrency involved in cryptocurrency transaction
                                                                                < 1010
       Calculate a first factor score based at least in part upon the transaction
                                 history of the customer
                                                                                < 1012
           Calculate a second factor score based at least in part upon the
                                customer IP address
                                                                                r1014
         Determine trustworthiness of customer based on customer profile
                                                                                    < 1016
                  Calculate risk score for cryptocurrency transaction
                                                                                ( 1018
                     Compare risk score to at least one threshold
                                                                                < 1020
        Determine number of required validations to confirm cryptocurrency
                                       transaction
                                                                                7 1022
               Receive number of validations from plurality ofminers
                                                                                     1024
       Compare number of received validations to number ofrequired validations|

                                        FIG . 10
U . S . Patent           Apr. 9 , 2019            Sheet 13 of 16                 US 10 , 255 ,600 B2

                                            Determine                 1026
                   whether number of received validations complies with number
                                      of required validations?
                                            Yes                                      c 1028
                 Send notification to third party that cryptocurrency transaction
                                           is confirmed
                                                                                     < 1030
             Send notification to customer and third party that cryptocurrency
                                  transaction is not confirmed
                                                                                     ( 1032
             Communicate request to customer to retransmit cryptocurrency
                                               End

                                             FIG . 10
                                            (Cont'd )
U .S . Patent                  Apr. 9 , 2019         Sheet 14 of 16         US 10 , 255,600 B2

               Start

                               C1102
           Receive an
       electronic request to
        store a private key

                               71104                                               1108
         Generate a first                         Apply a r 1106           Apply hash
        vault key based at                     hash algorithm Yes       algorithm to first
        least in part upon                     to the first vault           vault key
          the private key

                           71110                                                 - 1114
       Generate a second                           Apply a r1112
                                               hash algorithm to Yes        Apply hash
       vault key based at                                              algorithm to second
        least in part upon                      the second vault             vault key
          the private key                            key?

                                 1116
          Facilitate the
        storage of the first
        vault key at a first
           data center

                                 1118
          Facilitate the
          storage of the                            End
       second vault key at
       a second data center                                                      1100
                                                    FIG . 11
U . S . Patent        Apr. 9 , 2019              Sheet 15 of 16   | US 10,255 ,600 B2

                         Start
                                          1202
                 Receive a request to
                 deposit a quantity of
                  cryptocurrency into
                    a useraccount

                                     F1204
                     Associate the
                      quantity of
                 cryptocurrency with
                   the user account

                                        r1206
                  Deposit the quantity
                    ofcryptocurrency
                 into a vault connected
                     to a network

                      (Doesthe \ 1208
                     total quantity of  No
                  cryptocurrency in the
                     vault exceed a
                       threshold ?
                       Yes
                                        - 1210

                      Disconnect
                                                                    1200
                                 =

                             .

                                            FIG . 2
U . S . Patent                 Apr. 9 , 2019         Sheet 16 of 16            US 10 , 255 ,600 B2

               Start
                             ( 1302
            Receive
         communication
        from an electronic
         payment service
                             71304
        Determine that the
         user initiated a
           request for a
       financial transaction
          configured to
       transfer an amount
           of currency
                             71306
           Validate the
       financial transaction
       based atleast upon
       data received from                                                            1300
          the electronic
        payment service                             End
                                1308
       Determine the user
           account is                                             - 1316
       associated with the                      Transfer the
         virtual account                         quantity of
       based at least upon                     cryptocurrency
       data received from
         the electronic
        paymentservice
                                1310
                                                    Doesthe V 1312                      ( 1314
       Determine a quantity                quantity of Cryplocurrency      Purchase the deficit
        of cryptocurrency                    exceed a totalquantity   Yes of cryptocurrency
        equivalent to the                  associated with the user       from a cryptocurrency
       amount ofcurrency                                                         exchange
                                                 account?
                                                                                 FIG . 13
                                                    US 10 , 255 ,600 B2
       CRYPTOCURRENCY OFFLINE VAULT                                  sor is also operable to determine whether one of the plurality
             STORAGE SYSTEM                                          of user profiles is associated with the user based at least in
                                                                     part upon the retrieved block chain information and at least
                    TECHNICAL FIELD                                  one stored cryptoidentifier associated with one of the plu
                                                                  5 rality of user profiles . The process may be further operable
                                           stocurrency stor
   This invention relates generally to cryptocurrency  stor          to determine whether one of the plurality of user profiles is
age, and more specifically, to a cryptocurrency offline vault        associated with the third party based at least in part upon the
storage system .                                                     retrieved block chain information and the at least one stored
                                                                     cryptoidentifier associated with one of the plurality of user
                       BACKGROUND                                 10 profiles and determine whether the cryptocurrency transac
                                                                     tion is suspicious based at least in part upon the associated
   Enterprisesmay handle a large number of financial trans           user profile . Finally , the processor is operable to communi
actions on a daily basis. As technology advances , financial         cate an alert to the enterprise regarding whether the cryp
transactions involving cryptocurrency have become more               tocurrency transaction is suspicious.
common . For some enterprises, it may be desirable to 15                In some embodiments , a system may include a memory
securely store cryptocurrency .
                                                                     request from a customer to perform a cryptocurrency trans
                         SUMMARY                                     action with a third party and retrieve block chain informa
                                                                     tion associated with the cryptocurrency transaction . The
  According to embodiments of the present disclosure, 20 processor is also operable to determine the amount of
disadvantages and problems associated with previous enter -          cryptocurrency associated with the cryptocurrency transac
prise environments .                                                 tion and calculate a risk score for performing the crypto
   In at least one embodiment, a system may include a                currency transaction based at least in part upon the block
memory and processor. The processor may be configured to           chain information and the amount of cryptocurrency . The
receive an electronic request to store a private key associated 25 processor may be further operable to determine whether the
with a cryptocurrency . The processor may also be configured transaction is approved based at least in part on the risk score
to generate a first vault key based at least in part upon the      and communicate to the customer and the third party
private key and generate a second vault key based at least in      whether the transaction is approved . Finally , the processor
part upon the private key . The processor may also be able to        may be operable to determine whether the risk score indi
facilitate the storage of the first vault key at a first data center 30 cates suspicious activity by the third party and communicate
and facilitate the storage of the second vault key at a second       a notification to the customer that the risk score indicates
data center.                                                         suspicious activity by the third party .
   According to some embodiments , a system includes a                  According to certain embodiments, a system may include
memory that may store a customer account associated with             a memory and a processor. The processor is operable to
a customer and a processor communicatively coupled to the 35 receive a request from the customer to perform a crypto
memory . The processor is able to receive a request to deposit       currency transaction with a third party and calculate a risk
a quantity of cryptocurrency into the customer account and           score for the cryptocurrency transaction . The processor is
associate the quantity of cryptocurrency with the customer     also operable to determine a number of required validations
account. The processor is also able to deposit the quantity of to confirm the cryptocurrency transaction based at least in
cryptocurrency into a vault connected to a network and 40 part upon the risk score . The process may be further operable
determine a total quantity of cryptocurrency deposited into          to receive a number of validations from a plurality ofminers
the vault. The processor may also , in response to determin -        and compare the number of received validations to the
ing the total quantity of cryptocurrency deposited into the          number of required validations. The processor may be
vault exceeds a threshold , facilitate the disconnection of the      further operable to determine whether the number of
vault from the network .                                          45 received validations complies with the number of required
   In some embodiments, a system includes a memory and               validations . Finally , the processor is operable to send a
a processor coupled to the memory . The processor may                notification to the third party that the cryptocurrency trans
communicate with an electronic payment service , the elec            action is confirmed or send a notification to the customer and
tronic payment service providing a virtual account associ-           the third party that the cryptocurrency transaction is not
ated with the customer and determine that the customer 50 confirmed and communicate a request to the customer to
initiated a request for a financial transaction , the financial      retransmit the cryptocurrency associated with the cryptocur
transaction configured to transfer an amount of currency             rency transaction .
from the virtual account to a destination . The processor is     In certain embodiments, a system includes a memory and
also able to validate the financial transaction based at least a processor. The memory may store a customer account
upon data received from the electronic payment service and 55 associated with a customer, a first float account associated
determine the customer account is associated with the virtual        with an enterprise, and a second float account associated
account based at least upon data received from the electronic        with the enterprise . The processor may be communicatively
payment service . The processor also may determine a quan -          coupled to the memory and may cause the system to receive
tity of cryptocurrency equivalent to the amount of currency,         an electronic request for a currency exchange from the
the quantity of cryptocurrency associated with the customer 60 customer and determine a plurality of exchange rates for
account and transfer the quantity of cryptocurrency to the           exchanging a first currency for a second currency . The
electronic payment service.                                          processormay also cause the system to determine an optimal
   In certain embodiments , a system may include a memory            exchange rate . In response to determining the optimal
and a processor. The processor is operable to receive a              exchange rate , the processor may cause the system to
request from a user to perform a cryptocurrency transaction 65 determine a first amount of the first currency and associate
with a third party and retrieve block chain information              the first amount of the first currency with the customer
associated with the cryptocurrency transaction . The proces          account. The processormay also cause the system to transfer
                                                    US 10 ,255 ,600 B2
the first amount of the first currency into the first float          tion resources consumed by correcting erroneous cryptocur
account and determine a second amount of the second                  rency transaction after completion .
currency . The processor is further able to associate the              Furthermore , in some embodiments, the system is able to
second amount of the second currency with the second float           conserve network and computing resources by securely
account and transfer the second amount of the second 5 storing information associated with cryptocurrency and pre
currency to the customer.                                    venting potentialmalicious activity involving such informa
   In a further embodiment, a system comprises a memory      tion , conserving bandwidth , memory , and computation
operable to store a set of conversion rules. The system also resources .
                                                                As another example , in at least one embodiment , energy
comprises a processor that may be communicatively coupled
to the memory and may cause the system to receive onan 10 and       power consumption is conserved and security is
                                                             increased  as certain information may be stored in a crypto
electronic request for a cryptocurrency conversion request   currency vault that is eventually taken offline . A further
ing a conversion of a first currency into a second currency,         example in some embodiments may be that a system may be
wherein the second currency is a cryptocurrency . The pro    put in place that allows the use of a virtual account by a user
cessor may also cause the system to retrieve price data 1515 associated with a customer account at a financial institution
associated with the first and second currencies and deter    conserving time, bandwidth , memory, and computational
mine whether the conversion is optimal. In response to               resources.
determining the conversion is optimal, the processor may                As another example , in certain embodiments , a system is
cause the system to determine a plurality of exchange rates      operable to reduce transaction time associated with the
associated with converting the first currency into the second 20 cryptocurrency transaction by determining a number of
currency and determine an optimal exchange rate of the               required validations, which may be fewer than the number
plurality of exchange rates. The processor is further able to        of validations required by a third party, to confirm the
initiate , essentially simultaneously as the determination that      cryptocurrency transaction based at least in part upon the
the conversion is optimal, converting the first currency into        risk score , thereby reducing the computational resources and
the second currency.                                              25 bandwidth consumed by receiving more validations than
   In another embodiment, a system includes a memory and             necessary . Another technical advantage includes improved
a processor. The memory may store a customer account                 customer satisfaction by eliminating the need for a customer
associated with a customer and an enterprise account asso -          to wait for a third party or third party system to validate a
ciated with an enterprise . The processor may be communi -           transaction before completing the transaction .
catively coupled to the memory and may cause the system 30              Additionally , in certain embodiments, the system is able
to receive a request to deposit a first amount of a crypto -         to determine whether the cryptocurrency transaction is sus
currency in the customer account from the customer. The              picious based on an associated user profile , containing
processor may also cause the system to determine a public             information that the system has previous aggregated ,
key associated with the customer account and receive the             thereby conserving the bandwidth and computational
first amount of the cryptocurrency . The processor may 35 resources consumed by aggregating the information about
further cause the system to determine a first value approxi          the user each time the user request to perform a cryptocur
mately equivalent to the first amount of cryptocurrency and          rency transaction . As another example , in certain embodi
associate the first value with the customer account. The             ments, the system communicates an alert to the enterprise ,
processor is further able to aggregate the first amount of            thereby conserving the computational resources necessary to
cryptocurrency with an aggregated amount of the crypto - 40 perform the cryptocurrency transaction that would be con
currency in the enterprise account and facilitate securing the       sumed obtaining enterprise review using less efficient con
public key in the enterprise account.                                tactmethods. Furthermore, security may be increased for the
   In yet another embodiment, a system comprises a memory            enterprise because the system automatically alerts the enter
operable to store a customer account associated with a               prise of any suspicious transactions, allowing the enterprise
customer and a processor communicatively coupled to the 45 to take preventative action before letting the transaction
memory that may cause the system to encode cryptocur -               move forward . Another technical advantage of one embodi
rency information associated with the customer account onto          ment includes aggregating information regarding a user' s
a payment instrument. The processor may also cause the past behavior in cryptocurrency transactions in order to
system to receive a request, from the customer using the mitigate the risk of fraud .
payment instrument, for a cryptocurrency transaction , the 50 As another example , in certain embodiments , security
request indicating a first amount of cryptocurrency associ- may be increased for a customer because the customer may
ated with the cryptocurrency transaction . In response to    be alerted of suspicious activity of a third party and therefore
receiving the request, the processor may cause the system to choose to not participate in the transaction . Furthermore ,
determine cryptocurrency information associated with the             security may be increased for the enterprise because it uses
customer account and determine cryptocurrency information 55 past information about a customer or third party to mitigate
associated with a recipient. The processor may also cause    fraud and determine whether to approve the current trans
the system to associate the first amount of cryptocurrency           action .
with the customer account. The processor is further able to             In certain embodiments , components of the system may
initiate a transfer of the first amount of cryptocurrency to an      provide currency exchange rates for converting a currency
account associated with the recipient .                           60 into a cryptocurrency (or vice versa ) or one cryptocurrency
  Particular embodiments of the present disclosure may               into another cryptocurrency, thereby bridging the gap
provide some, none , or all of the following technical advan -       between cryptocurrency and fiat currency .
tages. For example, in certain embodiments, the system is               In another embodiment, compiling and analyzing infor
able to identify that the number of validations from a mation from various sources of financial data to provide
plurality ofminers is insufficient to confirm the transaction 65 quotes for currency exchange rates reduces the dependency
before completing the requested cryptocurrency transaction , on third party systems and services such as third party
thereby conserving the bandwidth , memory , and computa              exchanges .
                                                   US 10 , 255 ,600 B2
   In yet another embodiment, executing a currency                   rency exchanges are used by customers, such as customers
exchange may simplify cryptocurrency transactions for cus            of financial institutions, to exchange one currency for
tomers of an enterprise by simplifying the purchase and              another currency. Some currency exchanges may involve
exchange of currencies and cryptocurrencies and reducing             converting one currency into a cryptocurrency such as
the fees associated with doing so .                        5 Bitcoin , Litecoin , Ripple , Peercoin , or Dogecoin . To execute
   In a further embodiment, executing a requested currency   such an exchange , an enterprise may receive payment from
exchange essentially simultaneously as a determination that a customer in a quantity of one currency to exchange for an
the conversion is optimal guarantees a currency exchange at          amount of a cryptocurrency equivalent to the received
the current optimal exchange rate .
   In some embodiments , storing and monitoring float 10 paymentshortly
                                                                          from the customer. Essentially simultaneously or
                                                                        thereafter, the enterprise may convert the first cur
accounts associated with various currencies and cryptocur rency into the cryptocurrency         . Alternatively, the enterprise
rencies internally owned by an enterprise negates the need
for customers of the enterprise to use a third - party currency may  to  convert  the first currency  into the cryptocurrency
exchange to execute a desired currency exchange ,               within a window of time.
   In another embodiment, components of the system may            As another example, deposit accounts at an enterprise ,
aggregate cryptocurrency deposited by customers into an 15 such as a financial institution , are used by customers of the
enterprise account associated with an enterprise , thereby financial institution to deposit funds for safekeeping . Upon
securely storing the customer 's cryptocurrency funds. In deposit, the funds become an asset of the enterprise and thus
such an embodiment, this may allow the enterprise to utilize the risk of holding those funds transfers from the customer
amounts of cryptocurrency equivalent to the value of its to the enterprise . An enterprise may desire to securely store
customers ' cryptocurrency deposits stored in the enterprise 20 funds that may be in the form of cryptocurrency . For
account to conduct transactions on the behalf of those               example , an enterprise might apply a security function to
customers that may want to utilize such cryptocurrency and           one or more private keys associated with the cryptocurrency
debit or credit the particular customer accounts as appropri        and store the result in one ormore data centers . An enterprise
ate .                                                               may even disconnect the storage device holding such private
   In certain embodiments , encoding cryptocurrency infor- 25 keys and subsequently physically secure such storage
mation associated with a customer account onto a payment             device .
instrument provides a customer with electronic access to the           Some deposit accounts may be used to deposit funds of
customer' s account, thereby allowing a customer to execute          cryptocurrency . As a result , the enterprise may decide to
a transaction using cryptocurrency in the customer account           collect and aggregate cryptocurrency deposited by custom
associated with the customer.                                     30 ers into a cryptocurrency account owned by the enterprise
        BRIEF DESCRIPTION OF THE DRAWINGS                            where the aggregated cryptocurrency may be securely
                                                                     stored . To aggregate deposits of cryptocurrency, an enter
    For a more complete understanding of the present disclo          prise may receive a request to deposit an amount of cryp
sure and its advantages, reference is made to the following tocurrency in a customer account and determine a public key
descriptions , taken in conjunction with the accompanying 35 associated with the customer account. The enterprise may
drawings in which :                                          use the public key to receive the amount of cryptocurrency
  FIG . 1 illustrates an example enterprise cryptocurrency and credit the customer account in the amount of crypto
environment;                                                         currency . The enterprise may then aggregate the amount of
   FIG . 2 illustrates an example enterprise cryptocurrency          cryptocurrency with an aggregated amount of cryptocur
server ;                                                          40 rency in an enterprise account and facilitate securing the
  FIG . 3 illustrates an example computer system ;                   public key in the enterprise account.
  FIG . 4 illustrates an example flowchart for facilitating the         Additionally, customers use payment instruments issued
exchange of funds involving cryptocurrency ;                         by enterprises, financial institutions, or other entities to
  FIG . 5 illustrates an example flowchart for facilitating a        execute various financial transactions . These payment
real-time cryptocurrency conversion ;                             45 instruments may provide customers electronic access to
   FIG . 6 illustrates an example flowchart for collecting and       customer accounts , including customer accounts associated
aggregating cryptocurrency deposited by customers ;                  with cryptocurrency. As a result, a customer may make a
   FIG . 7 illustrates an example flowchart for facilitating         transaction with cryptocurrency in a customer account by
execution of a transaction with cryptocurrency using a               using a payment instrument encoded with cryptocurrency
payment instrument;
                                    owchart for
   FIG . 8 illustrates an example flowchart for facilitating
                                                facilitating 3050 information   associated with the customer account. To
identification and alerting of suspicious activity associated     execute a transaction with cryptocurrency , an enterprise may
with a cryptocurrency transaction ;                               receive a request from a customer using a payment instru
   FIG . 9 illustrates an example flowchart for facilitating ment authorizing a payment of an amount of cryptocurrency .
cryptocurrency risk detection ;                                   Essentially simultaneously or shortly thereafter , the enter
   FIG . 10 illustrates an example flowchart for facilitating 55 prise may transfer the amount of cryptocurrency from a
cryptocurrency validation ;                                      customer account to a recipient of the payment.
  FIG . 11 illustrates an example flowchart for facilitating        Customers may also use a peer -to -peer payment service to
cryptocurrency storage in an online vault ;                      create a virtual account and associate such virtual account
  FIG . 12 illustrates an example flowchart for facilitating with an account at a financial institution . Such account may
cryptocurrency storage in an offline vault; and               60 be associated with cryptocurrency. Using the peer - to -peer
   FIG . 13 illustrates an example flowchart for facilitating        payment system , the customer may conduct transactions
peer-to -peer cryptocurrency transactions.                           using the virtual account without the need to share their
                                                                     account information at the financial institution.
                DETAILED DESCRIPTION                              In particular, enterprise cryptocurrency environment 100
                                                             65 comprises customer device 110 , network 120 , enterprise
   In general, an enterprise may offer a variety of financial cryptocurrency server 130 , exchange servers 140, third party
services thatmay utilize cryptocurrency. For example , cur           enterprise servers 150 , data center servers 160, and payment
                                                   US 10 ,255 ,600 B2
service server 170 . Customer device 110 is any device              one or more portions of network 120 may include an ad hoc
customer 102 may use to utilize any functionality or service        network , an intranet , an extranet, a virtual private network
offered by an enterprise. In some embodiments, customer             (VPN ), a local area network (LAN ), a wireless LAN
device 110 may be operated by customer 102 . In other      (WLAN ), a wide area network (WAN ), a wireless WAN
embodiments, customer device 110 may be operated by an 5 (WWAN ), a metropolitan area network (MAN ) , a portion of
employee of an enterprise on the behalf of customer 102. the Internet, a portion of the Public Switched Telephone
Customer device 110 is a device operable to communicate Network (PSTN ), a cellular telephone network , or a com
with network 120 , enterprise cryptocurrency server 130 , bination of two or more of these . Network 120 may include
payment service server 170 , or any other suitable compo - one or more networks 120 . For example , one or more
nents of enterprise cryptocurrency environment 100 . For 10 networks 120 may be a network 120 local to enterprise
example , customer device 110 may be a laptop computer ,            cryptocurrency server 130 , while yet another one or more
personal digital assistant (PDA ), cellular phone, tablet, por      networks 120 may be local to third party enterprise server
table media player, smart device , or any other device capable      150 , exchange server 140 , payment service server 170 , data
of wireless or wired communication . In certain embodi-             center servers 160 and/ or any other suitable component of
ments , customer device 110 may include one or more 15 enterprise cryptocurrency environment 100 . The current
processors 111 , one or more memories 112 , one or more             disclosure contemplates any number of networks 120 suit
displays, one or more interfaces, one or more components            able for a particular purpose . Any component of enterprise
capable of inputting data , one or more components capable          cryptocurrency environment 100 may communicate to
of outputting data , one or more components capable of              another component of enterprise cryptocurrency environ
communicating with any other component of enterprise 20 ment 100 via network 120 .
cryptocurrency environment 100 , or any other component                In some embodiments, components of enterprise crypto
suitable for a particular purpose .                                 currency environment 100 may be configured to communi
   Processor 111 may include one or more microprocessors ,          cate over links 116 . Communication over links 116 may
controllers, or any other suitable computing devices or             request and /or send information about any suitable compo
resources . Processor 111 may work , either alone or with 25 nent of enterprise cryptocurrency environment 100 . Links
components of enterprise cryptocurrency environment 100 ,     116 may connect components of enterprise cryptocurrency
to provide a portion or all of the functionality of enterprise      environment 100 to network 120 or to each other. This
cryptocurrency environment 100 described herein .             disclosure contemplates any suitable links 116 . In particular
   Processor 111 communicatively couples to memory 112. embodiments , one or more links 116 include one or more
Memory 112 may take the form of volatile or non - volatile 30 wireline (such as for example Digital Subscriber Line (DSL )
memory including, without limitation ,magnetic media , opti-  or Data Over Cable Service Interface Specification (DOC
cal media , Random Access Memory (RAM ), Read Only                  SIS )), wireless ( such as for example Wi-Fi or Worldwide
Memory (ROM ), removable media , or any other suitable              Interoperability for Microwave Access (WiMAX )), or opti
memory component. In certain embodiments, a portion or all cal (such as for example Synchronous Optical Network
of memory 112 may store one or more database data 35 (SONET ) or Synchronous Digital Hierarchy (SDH )) links .
 structures , such as one or more structured query language In particular embodiments, one or more links 116 each
 (SQL ) servers or relational databases.
   In certain embodiments, memory 112 may be internal or a LAN , a WLAN , a WAN , a WWAN , a MAN , a portion of
external to processor 111 and may include one or more the Internet, a portion of the PSTN , a cellular technology
instruction caches or one or more data caches. Instructions 40 based network , a satellite communications technology
in the instruction caches may be copies of instructions in          based network , another link 116 , or a combination of two or
memory 112 , and the instruction caches may speed up                more such links 116 . Links 116 need not necessarily be the
retrieval of those instructions by processor 111 . Data in the      same throughout enterprise cryptocurrency environment
data caches may include any suitable combination of copies          100 . One or more first links 116 may differ in one or more
of data in memory 112 for instructions executing at proces- 45 respects from one or more second links 116 .
sor 111 to operate on , the results of previous instructions           Customer device 110 may communicate over network 120
executed at processor 111 for access by subsequent instruc -        with enterprise cryptocurrency server 130 . Generally , enter
tions executing at processor 111 , or for writing to memory        p rise cryptocurrency server 130 may be used by an enter
112 , and/ or any other suitable data . The data caches may         prise to initiate and execute actions and transactions that
speed up read or write operations by processor 111 .             50 allow the enterprise to provide various functionality and
   In some embodiments, customer device 110 also may                services to customers 102 . Enterprise cryptocurrency server
comprise graphical user interface (GUI) 114 . GUI 114 is            130 will be discussed in more detail in the discussion
generally operable to tailor and filter data presented to           regarding FIG . 2 below .
customer 102. GUI 114 may provide customer 102 with an                 Enterprise cryptocurrency server 130 may communicate
efficient and user - friendly presentation of information 55 over network 120 with one or more exchange servers 140 .
regarding the functionality of customer device 110 . GUI 114       Generally , exchange servers 140 may be associated with any
may comprise a plurality of displays having interactive             cryptocurrency exchange that allows for the purchasing ,
fields, pull- down lists , and buttons operated by customer         selling , or transferring of cryptocurrency . Cryptocurrencies
102 . GUI 114 may include multiple levels of abstraction            may be sold or purchased for other currencies or cryptocur
including groups and boundaries. In certain embodiments , 60 rencies at a cryptocurrency exchange. Examples of crypto
GUI 114 may comprise a web browser . In another embodi-             currency exchanges are OKCoin , BitStamp, BTCChina ,
ment, GUI 114 may comprise a graphical representation of            Cryptsy , CoinMarket, and Justcoin . This disclosure contem
a mobile application .                                              plates any cryptocurrency exchange can be associated with
  Customer device 110 may communicate with any other                exchange server 140 as suitable for a particular purpose . In
component of enterprise cryptocurrency environment 100 65 certain embodiments , exchange server 140 may be operated
over network 120 . This disclosure contemplates any suitable        by an enterprise that also operates enterprise cryptocurrency
network 120 . As an example and not by way of limitation ,          server 130 . The cryptocurrency exchange that is associated
                                                   US 10 ,255 ,600 B2
                                                                                                   10
with exchange server 140 may be associated with the same            server 170 by enterprise cryptocurrency server 130 . In some
jurisdiction or a different jurisdiction (e. g., country, eco       embodiments , payment service server 170 may be associ
nomic union , political union , etc .) with which a particular      ated with an enterprise associated with enterprise crypto
customer 102 may be associated .                                    currency server 130 or payment service server 170 may be
   Exchange servers 140 may receive requests to purchase, 5 associated with a third party enterprise not associated with
sell, or transfer cryptocurrency or to transfer funds via links  enterprise cryptocurrency server 130 .
 116 . Exchange servers 140 may fulfill such requests either       FIG . 2 is a block diagram illustrating an example embodi
directly to any other component of enterprise cryptocurrency ment of enterprise cryptocurrency server 130 used in FIG . 1 .
environment 100 via links 116 , or utilize an automated          More specifically, enterprise cryptocurrency server 130 may
clearing house to fulfill such requests, or utilize any other 10 include processor 201 , memory 202 , customer accounts 203 ,
method to fulfill such requests as suitable for a particular     float accounts 204 , transactions 208 , online vault 210 , offline
purpose . Although exchange servers 140a and exchange            vault 212 , transformation engine 214 , conversion engine
servers 140b are depicted as two example distinct exchange 216 , encoding engine 218 , transaction engine 220 , aggrega
servers 140 in FIG . 1 , this disclosure contemplates any tion engine 222 , calculation engine 224 ,management engine
number of exchange servers 140 interacting with enterprise 15 226 , exchange engine 228 , alert engine 230 , risk detection
cryptocurrency server 130 via links 116 or any other com -          engine 232 , validation engine 234 , vault engine 236 , and
ponent of enterprise cryptocurrency environment 100.                peer-to -peer engine 238 . Processor 201 may include one or
   In certain instances enterprise cryptocurrency server 130 more microprocessors, controllers, or any other suitable
may interact with third party enterprise server 150. For computing devices or resources. Processor 201 may work ,
example, enterprise cryptocurrency server 130 may facilitate 20 either alone or with components of enterprise cryptocur
transactions with third party enterprise server 150 . Third rency environment 100 , to provide a portion or all of the
party enterprise server 150 may have accounts associated        functionality of enterprise cryptocurrency environment 100
with customers 102 and /or enterprises . Third party enter      described herein . Processor 201 communicatively couples to
prise server 150 is capable of receiving , transferring , or memory 202 . Memory 202 may take the form of volatile or
otherwise interacting with funds, cryptocurrencies , any suit- 25 non - volatile memory including , without limitation , mag
able payment instrument, and /or any suitable information          netic media , opticalmedia , RAM , ROM , removable media ,
associated with the aforementioned . Although a single third        or any other suitable memory component .
party enterprise server 150 is depicted in FIG . 1, enterprise        In certain embodiments , memory 202 may be internal or
cryptocurrency environment 100 is capable of supporting             external to processor 201 and may include one or more
one or more third party enterprise servers 150 as suitable for 30 instruction caches or one or more data caches. Instructions
a particular purpose .
  Enterprise cryptocurrency server 130 may store informa-           memory 202 , and the instruction caches may speed up
tion at one or more data center servers 160 at a data center.       retrieval of those instructions by processor 201. Data in the
Data center servers 160 may be any software , hardware ,            data caches may include any suitable combination of copies
firmware, and /or combination thereof capable of storing 35 of data in memory 202 for instructions executing at proces
information . In certain embodiments, data center servers 160       sor 201 to operate on , the results of previous instructions
may securely store information regarding cryptocurrency             executed at processor 201 for access by subsequent instruc
such as public keys, private keys, or any other suitable            tions executing at processor 201, or for writing to memory
cryptocurrency information . In certain embodiments, one or         202 , and other suitable data . The data caches may speed up
more particular encryption , hashing, tokenizing functions or 40 read or write operations by processor 201.
algorithmsmay be applied to information stored in a data               Enterprise cryptocurrency server 130 may store and
center server 160 . According to some embodiments, one or           retrieve customer information from customer accounts 203.
more encryption , hashing , tokenizing functions or algo -          For example, enterprise cryptocurrency server 130 may use
rithmsmay be applied to information stored in a data center         a unique identifier of customer 102 to retrieve a particular
server 160 based on the location of data center server 160 . 45 customer account 203. In certain embodiments , customer
Data center servers 160 may be locally located or remotely      accounts 203 may be stored in memory 202 . According to
located to enterprise cryptocurrency server 130 . In certain        some embodiments , customer accounts 203 may be stored in
embodiments , each data center server 160 may be located at         one or more text files , tables in a relational database , or any
a different geographic location . For example , data center         other suitable data structure capable of storing information .
server 160a may be located at a first geographic location 50 Each customer account 203 may be associated with a
while data center server 160b may be located at a second            customer 102 . In certain embodiments, customer account
geographic location .                                               203 may include information that can be used by enterprise
  Enterprise cryptocurrency server 130 may also interact            cryptocurrency server 130 to perform various transactions
with payment service server 170 to provide various trans - involving cryptocurrencies . For example , customer account
action functionality to customers 102. Customers 102 may 55 203 may include information such as an account number,
use payment service server 170 to transact online electronic        account balance , routing number, location information , or
payments using virtual accounts 172 . In certain embodi-            any other information suitable for a particular purpose
ments, links 116 communicatively coupling payment service           associated with one or more accounts that customer 102 may
server 170 to enterprise cryptocurrency server 130 may be a         have associated with a particular enterprise .
dedicated interface in addition to being coupled to network 60 Enterprise cryptocurrency server 130 may include trans
120 . A financial institution may facilitate the transferring of formation engine 214 . Generally, transformation engine 214
funds to and from virtual accounts 172 associated with             may initiate the execution of transactions that facilitate an
customers 102. In some embodiments , funds may be trans -           exchange of one currency for another currency , such as an
ferred from accounts associated with customers 102 in               exchange of a fiat currency for a cryptocurrency (or vice
enterprise cryptocurrency server 130 to virtual accounts 172 65 versa ) or an exchange of one cryptocurrency for another
or vice versa . In certain embodiments , a quantity of cryp -       cryptocurrency , according to any one of a variety of embodi
tocurrency may be transferred to or from payment service            ments suitable for a particular purpose . More specifically,
                                                    US 10 , 255 ,600 B2
transformation engine 214 may be any software , hardware ,           a cryptocurrency exchange, such as exchange 140a or
firmware , or combination thereof capable of initiating or           exchange 140b . According to some embodiments , the sale of
performing a transaction to facilitate an exchange of funds         the quantity of the certain currency results in a quantity of
 involving cryptocurrency. According to some embodiments,           another currency, such as a quantity of a particular crypto
transformation engine 214 may be a set of instructions 5 currency .
stored in memory 202 that may be executed by processor                 As another example , transformation engine 214 may
201.                                                                determine whether an amount of funds in a float account 204
  Using information received over links 116 , transformation        associated with a certain currency (e . g ., the first currency or
engine 214 may initiate or perform various functions involv - the second currency ) is below a certain threshold . In
ing the exchange , storage , and retrieval of currencies and 10 response to determining the amount of funds is below the
cryptocurrencies. For example , customer 102 may request a          certain threshold , transformation engine 214 may initiate the
certain amount of funds in a particular customer account 203        purchase of a quantity of the certain currency . In some
in a first currency be exchanged for an approximately               embodiments , transformation engine 214 may purchase the
equivalent amount of funds in a second currency , such as a          certain currency at exchange 140 , which allows transforma
cryptocurrency . In response to the request, transformation 15 tion engine 214 to use currencies or cryptocurrencies to
engine 214 may directly execute the exchange or initiate            purchase other cryptocurrencies. Upon purchasing the quan
various transactions to facilitate the execution of the              tity of the certain currency , transformation engine 214 may
exchange by utilizing various components of enterprise              transfer the quantity of the certain currency to the particular
cryptocurrency environment 100 such as float accounts 204,           float account 204 over 11nza
                                                                                            links 116
                                                                                                  116 .
conversion engine 216 , calculation engine 224 , and /or 20 Transformation engine 214 may utilize conversion engine
exchange engine 228 .                                         216 to facilitate a real- time currency conversion when a
   Transformation engine 214 generally utilizes various float requested conversion is optimal. In general , conversion
accounts 204 associated with an enterprise to execute                engine 216 determines current values, exchange rates, and/
exchanges involving cryptocurrency . For example , an enter -        or advantages associated with converting the first currency
prise may maintain repositories ( e . g ., float accounts 204 ) of 25 into a variety of cryptocurrencies and initiates the execution
currencies and cryptocurrencies allowing transformation               of the exchange essentially simultaneously as a determina
engine 214 to exchange one currency for another currency ,          tion that a requested exchange is optimal. Conversion engine
such as a fiat currency for a cryptocurrency, in an efficient        216 may be any software, hardware, firmware , or combina
manner with minimal delay. Float accounts 204 may be                tion thereof capable of initiating or performing a transaction
stored in memory 202 . According to some embodiments , 30 to facilitate an exchange of funds involving cryptocurrency .
float accounts 204 may be stored in one or more text files,          In certain embodiments , conversion engine 216 may be a set
tables in a relational database , or any other suitable data        of instructions stored in memory 202 thatmay be executed
structure capable of storing information .                          by processor 201 .
   Each float account 204 may be associated with an enter              Conversion engine 216 generally retrieves price data
prise , financial institution , or other entity that may have an 35 associated with currencies and cryptocurrencies. For
account associated with a particular currency or cryptocur -         example , a customer 102 may request an exchange of a first
rency . In certain embodiments , float account 204 may               currency for a particular cryptocurrency if the exchange is
include information that can be used by transformation              optimal. In response , transformation engine 214 may com
 engine 214 to exchange, store , and /or retrieve various cur       municate a request to conversion engine 216 to determine
rencies and cryptocurrencies. For example, float account 204 40 whether converting the first currency into a particular cryp
may include information such as an account number, type of          tocurrency is optimal.
currency or cryptocurrency stored in float account 204 ,               As a result, conversion engine 216 may retrieve data
currency or cryptocurrency account balance , routing infor -        associated with the conversion . For example , conversion
mation , location information , or any other information suit-       engine 216 may retrieve price data associated with the first
able for a particular purpose associated with one or more 45 currency and price data associated with the particular cryp
accounts that an enterprise may have associated with a              tocurrency . Conversion engine 216 may also retrieve price
particular currency or cryptocurrency . In certain embodi-          data associated with a plurality of cryptocurrencies , price
ments , transformation engine 214 may retrieve any infor-     data associated with a plurality of currencies , market data
mation associated with float accounts 204 or the enterprise . associated with a plurality of cryptocurrencies , market data
   Transformation engine 214 may also monitor or otherwise 50 associated with a plurality of currencies, volatility data
manage float accounts 204 . Monitoring a float account 204          associated with a plurality of cryptocurrencies, volatility
may include monitoring an amount of funds in float account          data associated with a plurality of currencies, current cur
204 , depositing funds in float account 204 , withdrawing           rency exchange rate data , economic risk data , or any other
funds from float account 204 , requesting a quantity of funds       data that may be suitable for a particular purpose.
in float account 204 be sold , requesting a quantity of funds 55       Conversion engine 216 may also determine whether the
be purchased for float account 204 , or any other suitable          conversion is optimal. According to some embodiments ,
operation for a particular purpose . For example, transfor -        conversion engine 216 may do so based at least in part upon
mation engine 214 may determine whether an amount of                analyzing the data associated with the conversion . In such an
funds in a float account 204 associated with a certain              embodiment, conversion engine 216 may consider time
currency ( e . g ., the first currency or the second currency ) is 60 factors , price factors associated with particular currencies
above a certain threshold .                                         (such as the value of various currencies ), price factors
   In response to determining the amount of funds is above          associated with particular cryptocurrencies ( such as the
the certain threshold , transformation engine 214 may initiate value of various cryptocurrencies), volume of particular
the sale of a quantity of the certain currency in float accountcurrencies , volume of particular cryptocurrencies , availabil
204 . In certain embodiments, the quantity of the certain 65 ity of particular currencies, availability of particular cryp
currency may be sold at a cryptocurrency exchange . Various    tocurrencies , popularity of particular currencies , popularity
currencies may be sold or purchased for cryptocurrencies at of particular cryptocurrencies , volatility of particular cur
                                                     US 10 ,255,600 B2
                              13                                                                     14
rencies, volatility of particular cryptocurrencies , economic         for example, acceptance of the fiat currency to be used ,
risk factors , current currency exchange rates , or any other         availability of the desired cryptocurrency, acceptance of the
factors that may facilitate determining whether the conver            desired exchange rate, optimal speed of proof-of-work vali
sion is optimal. For example, conversion engine 216 may               dation , and /or average time to hold prior to confirming the
determine that the conversion is optimal based on financial 5 conversion ) . Conversion engine 216 may also take into
advantages that may be gained by the enterprise and/ or               account any fees associated with fiat currency exchanges ,
customer 102. In this example , conversion engine 216 may             any fees associated with cryptocurrency exchanges, and /or
consider financial factors such as currency exchange rates,           any fees associated with the processing of the potential
transaction fees , and/ or cryptocurrency prices to determine         conversion to determine whether the conversion is optimal.
that the conversion will generate a financial advantage for 10 In certain embodiments , conversion engine 216 may per
the enterprise and /or customer 102 .                                 form multiple fiat currency conversions if conversion engine
   As another example , conversion engine 216 may deter -             216 determines the specific fiat currency is not optimal to
mine whether the conversion is optimalbased at least in part          exchange for the cryptocurrency and the cost of exchanging
upon comparing price data of a particular cryptocurrency              the specific fiat currency for the optimal fiat currency is less
( requested by customer 102 ) to price data of other crypto - 15 than exchange rate differences .
currencies . For example , conversion engine 216 may com -               In some embodiments, determining whether the conver
pare a value of the particular cryptocurrency to a value of           sion is optimal is based at least in part upon a date threshold
various other cryptocurrencies . If the value of at least one of      associated with the request and /or a benefit threshold asso
the other cryptocurrencies is greater than the value of the           ciated with the request. For example , customer 102 may
particular cryptocurrency , conversion engine 216 may deter - 20 communicate a request for a cryptocurrency conversion that
mine that the requested conversion is not optimal.               comprises a date threshold ( e .g ., a date for which the request
   In certain embodiments , conversion engine 216 may            for the cryptocurrency conversion expires ) and a benefit
determine whether the conversion is optimal based at least            threshold ( e.g ., a financial advantage , time advantage, etc .).
in part upon a set of conversion rules . Conversion rules may As a result, conversion engine 216 may execute the cryp
include any number of internal algorithms that may weigh 25 tocurrency conversion if the conversion exceeds the benefit
various factors associated with exchanges 140 , such as               threshold before the date threshold . More specifically, if
acceptance of various currencies and cryptocurrencies ,               conversion engine 216 calculates the conversion at a first
speed of proof-of-work validation , reliability , consistency,        time before the date threshold and determines that the
average time to hold prior to confirming the conversion ,             conversion is less than the benefit threshold , conversion
and / or any other factor suitable for a particular purpose . For 30 engine 216 may calculate the conversion at a second time
example , customer 102 may request to receive a quote for            before the date threshold ( e . g ., any other timebefore the date
purchasing a certain amount of a specific cryptocurrency              threshold ). If the conversion at the second time is greater
using a fiat currency. In response , conversion engine 216            than the benefit threshold , then conversion engine 216 may
may leverage an internal algorithm to determine the number            determine the conversion is optimal and thereby communi
of exchanges 140 to reference in order to determine a 35 cate a request to execute the exchange .
reliable and consistent exchange 140 (based on , for example ,           Conversion engine 216 may also communicate a message
acceptance of the fiat currency to be used , availability of the      to a customer 102 . For example , in response to determining
desired cryptocurrency , optimal speed of proof-of-work               the requested conversion is not optimal, conversion engine
validation , and /or average time to hold prior to confirming         216 may communicate a message indicating that the con
the conversion ). After determining the quote , conversion 40 version is not optimal to customer 102 via links 116 . As a
engine 216 may communicate the quote to customer 102                 result, customer 102 may communicate a new request for a
Customer 102 may then confirm the exchange or deny the               different cryptocurrency conversion . In certain embodi
exchange.                                                            ments , conversion engine 216 may include data indicating a
   Conversion rules may also include any number ofmoni               more favorable cryptocurrency to exchange the first cur
toring frequency rules that may weigh various factors to 45 rency for in the message to customer 102 .
determine a monitoring frequency, such as whether a cryp -              Transformation engine 214 may utilize calculation engine
tocurrency has maintained a consistent value price for a              224 to determine an optimal exchange rate for executing the
particular amount of days, hours , minutes or whether there           cryptocurrency exchange according to any one of a variety
has been a large increase or decrease in the value of a         of embodiments suitable for a particular purpose . More
cryptocurrency . For example , customer 102 may request that 50 specifically , calculation engine 224 may be any software ,
an exchange only be executed at a specific exchange rate . hardware , firmware , or combination thereof capable of ini
Customer 102 may also request to be notified when the           tiating or performing a calculation to facilitate an exchange
desired exchange rate has been met for the potential con - involving cryptocurrency. According to some embodiments ,
version . In response , conversion engine 216 may leverage            calculation engine 224 may be a set of instructions stored in
the monitoring frequency rules to determine a frequency for 55 memory 202 that may be executed by processor 201.
which to monitor cryptocurrency values , fiat currency val-              Calculation engine 224 may facilitate an exchange of a
ues, and/ or exchange rates . Conversion engine 216 may then          certain currency for a cryptocurrency by performing various
monitor exchange rates at the determined frequency , which            calculations. For example , transformation engine 214 may
may allow conversion engine 216 to more accurately and                communicate ( in response to customer 102 requesting a
timely notify customer 102 of when the desired exchange 60 currency be exchanged for a cryptocurrency ) a request for
rate has been met . In such an example , upon being notified current exchange rates associated with currencies and cryp
of the desired exchange rate , customer 102 may request to   tocurrencies to calculation engine 224 via links 116 . In
immediately purchase a certain amount of a specific cryp -            response to this request, calculation engine 224 may deter
tocurrency using a specific fiat currency . In response , con -      mine a plurality of exchange rates for exchanging the first
version engine 216 may leverage an internal algorithm to 65 currency for cryptocurrency . Calculation engine 224 may
determine the number of exchanges to reference in order to            determine such rates either directly or utilize any other
determine a reliable and consistent exchange 140 (based on ,          component of enterprise cryptocurrency server 130 , such as
                                                    US 10 ,255 ,600 B2
                              15                                                                 16
conversion engine 216 , or utilize any other method to             for the potential exchange. Calculation engine 224 may
determine such rates as suitable for a particular purpose .       consider any fees associated with fiat currency exchanges ,
  In certain embodiments , calculation engine 224 may             any fees associated with cryptocurrency exchanges, and /or
determine exchange rates for exchanging the first currency         any fees associated with the processing of the potential
for various cryptocurrencies or for exchanging the first 5 conversion to determine whether the desired exchange rate
currency for a particular cryptocurrency ( e .g ., a customer     has been met and thus determine the conversion is optimal.
102 requested an exchange for a particular cryptocurrency ).        According to some embodiments, determining the opti
Additionally , calculation engine 224 may monitor exchange        mal exchange rate includes determining which particular
rates for exchanging funds involving cryptocurrency . For         cryptocurrency the first currency should be exchanged for. In
example , transformation engine 214 may instruct calculation 10 such embodiments , calculation engine 224 may determine
engine 224 to monitor exchange rates for exchanging a first       which cryptocurrency to use based on cryptocurrency price ,
currency for a particular cryptocurrency for a time threshold     volatility of the cryptocurrency , popularity of the cryptocur
( e. g ., monitor the exchange rates for the next hour, day,      rency , availability of the cryptocurrency , or any potential
week , month , etc.). In some embodiments , calculation risk factor thatmay be associated with a particular crypto
engine 224 may communicate the exchange rates to cus- 15 currency . For example , calculation engine 224 may deter
tomer device 110 via links 116 .                         mine a particular cryptocurrency based on financial advan
  Calculation engine 224 may also determine the optimal tages that may be gained by customer 102 . In this example ,
exchange rate for performing a requested currency                  calculation engine 224 may consider financial factors such
exchange . In certain embodiments , calculation engine 224         as currency exchange rates, transaction fees , and / or crypto
may determine the optimal exchange rate based at least in 20 currency prices to determine that exchanging the first cur
part upon the current exchange rates . Calculation engine 224     rency for the particular cryptocurrency will generate finan
may also consider other factors , such as time factors, price     cial advantages for customer 102 as compared to exchanging
factors associated with currency exchanges ( such as the          the first currency for any other cryptocurrency .
value of particular currencies and cryptocurrencies ), fees          Calculation engine 224 may use information received
charged by third parties, volatility of particular currencies, 25 over links 116 to determine a first amount of a first currency.
volatility of particular cryptocurrencies, economic risk fac -     For example, a request from a customer 102 may indicate a
tors, or any other information that may facilitate determining     first amount in a particular customer account 203 in a first
that one exchange rate should be used over another                 currency be exchanged for a quantity of a second currency
exchange rate . In certain embodiments, calculation engine worth approximately the same amount as the first currency .
224 may determine the optimal exchange rate based upon a 30 Calculation engine 224 may then determine a second
selection by customer 102 . For example , in response to    amount of a second currency, such as a second amount of
receiving the exchange rates via device 110 , customer 102 cryptocurrency, based at least in part upon the optimal
may be prompted to select an exchange rate from the          exchange rate . For example , if customer 102 requests that a
plurality of exchange rates . Customer 102 may then utilize certain amount of a first currency be exchanged for a second
device 110 to input and communicate the selected exchange 35 currency (e . g ., be exchanged for a cryptocurrency ) , calcu
rate to enterprise cryptocurrency server 130 via links 116 . lation engine 224 may apply the optimal exchange rate to the
   In certain embodiments, calculation engine 224 may certain amount of the first currency to calculate a quantity of
determine whether the exchange is optimal based at least in  the desired cryptocurrency worth approximately the certain
part upon a set of conversion rules. Conversion rules may amount of the first currency. In some embodiments, calcu
include any number of internal algorithms that may weigh 40 lation engine 224 may determine any fees or other costs
various factors associated with exchanges 140 performing    associated with exchanging the first currency for the cryp
various conversions, such as acceptance of various curren -        tocurrency, such as any transaction fees and /or service fees.
cies and cryptocurrencies , speed of proof-of-work valida -        In such an example , calculation engine 224 determines a
tion , reliability, consistency , average time to hold prior to    second amount of the cryptocurrency based at least in part
confirming the conversion , and /or any other factor suitable 45 upon the quantity of the cryptocurrency and any fees ( e . g .,
for a particular purpose . Conversion rules may also include       the second amount of the cryptocurrency is equivalent to the
any number of monitoring frequency rules that may weigh            quantity of the cryptocurrency less any fees ) .
various factors to determine a frequency at which to monitor         Calculation engine 224 may communicate the optimal
exchange rates , such as whether a cryptocurrency has main -       exchange rate , the first amount, the second amount, and /or
tained a consistent value price for a particular amount of 50 any other suitable information for a particular purpose to
days, hours, minutes or whether there has been a large             transformation engine 214 . In response to receiving such
increase or decrease in the value of a cryptocurrency . As an      information from calculation engine 224 , transformation
example , customer 102 may request to receive a quote for       engine 214 may associate the first amount of the first
purchasing a certain amount of a specific cryptocurrency currency with customer account 203 . For example, trans
using a fiat currency . In response , calculation engine 224 55 formation engine 214 may initiate a debit to the particular
may determine a number of exchanges 140 to reference in         customer account 203 in the first amount (plus any fees and
order to determine a reliable and consistent exchange 140          other costs ) in the first currency. Transformation engine 214
(based on , for example , acceptance of the fiat currency to be   may then transfer the first amount of the first currency into
used , availability of the desired cryptocurrency , optimal        a first float account 204 associated with the first currency via
speed of proof-of-work validation , and / or average time to 60 links 116 .
hold prior to confirming a conversion ). By determining a          Transformation engine 214 may also associate the second
reliable and consistent exchange 140 , calculation engine 224   amount of the cryptocurrency with a second float account
may quote the optimal exchange rate and communicate such 204 associated with the second currency (e.g ., the crypto
 to customer 102 . As another example , customer 102 may   currency ). For example , transformation engine 214 may
request that an exchange only be executed at a specific 65 withdraw (or otherwise debit) the second amount of the
exchange rate . In response , calculation engine 224 may   cryptocurrency from the second float account 204 . Trans
determine a frequency for which to monitor exchange rates formation engine 214 may then transfer the second amount
                                                     US 10 , 255 ,600 B2
                            17                                                                    18
of the cryptocurrency to customer 102 . For example , trans            According to certain embodiments , enterprise cryptocur
formation engine 214 may deposit ( or otherwise credit ) the        rency server 130 may communicate a message to customer
second amount of the cryptocurrency in the particular cus -         102 if the requested exchange is not optimal. For example ,
tomer account 203 . In certain embodiments , transferring the       enterprise cryptocurrency server 130 may use conversion
second amount of the cryptocurrency may include initiating 5 engine 216 to communicate a message to customer 102 over
a deposit of the second amount of the cryptocurrency in the         network 120 via links 116 indicating that the exchange is not
particular customer account 203 .                                   optimal.
   The operation of enterprise cryptocurrency server 130 ,             After determining that the requested exchange is optimal,
with respect to transformation engine 214 , will now be             enterprise cryptocurrency server 130 may determine a plu
discussed ( as well as conversion engine 216 , calculation 10 rality of exchange rates for exchanging the first currency for
engine 224 , and exchange engine 228 ). Generally, customer the second currency . For example , enterprise cryptocurrency
102 may use the services provided by enterprise cryptocur-          server 130 may use calculation engine 224 to determine a
rency environment 100 to exchange one currency for                  plurality of exchange rates by retrieving information asso
another currency . More specifically, customer 102 may use          ciated with exchanging various currencies, such as exchang
device 110 to request a currency exchange. In certain 15 ing a fiat currency for cryptocurrency (or vice versa ), over
embodiments , customer 102 may request to exchange a first network 120 via links 116 .
amount of a first currency ( e. g ., an input currency ) in a          After determining the exchange rates, enterprise crypto
customer account 203 for a second currency ( e . g ., an output     currency server 130 may determine the optimal exchange
currency ), such as for a cryptocurrency. According to some         rate for performing the currency exchange . For example ,
embodiments , the first currency and /or the second currency 20 calculation engine 224 may determine the optimal exchange
may be a type of cryptocurrency . Device 110 may commu-             rate by considering various factors such as current exchange
nicate this request to enterprise cryptocurrency server 130         rates, time factors , price factors associated with particular
over network 120 via links 116 . In response to receiving the       currencies , price factors associated with particular crypto
request for a currency exchange, enterprise cryptocurrency          currencies , economic risk factors, or any other information .
server 130 may retrieve data associated with exchanging the 25 As another example , calculation engine 224 may determine
first currency for the second currency. In certain embodi-     the optimal exchange rate by selecting a particular crypto
ments, this data may be used to determine whether the               currency the first currency should be exchanged , based on ,
requested exchange is optimal. For example , a customer 102         for example , financial advantages that may be gained by
may request to execute a currency exchange if the exchange          customer 102.
is optimal. As a result, enterprise cryptocurrency server 130 30       After determining the optimal exchange rate , enterprise
may use conversion engine 216 to retrieve current data              cryptocurrency server 130 may determine a first amount of
associated with the requested exchange , such as current            the first currency to be exchanged . For example, calculation
price data , market data , volatility data , exchange rate data ,    engine 224 may use information (e . g ., information included
economic risk data , or any other data that may be suitable for in the request ) received over network 120 via links 116 to
a particular purpose over network 120 via links 116 .             35 determine the first amount of the first currency . Enterprise
   After retrieving current data associated with the requested       cryptocurrency server 130 may then transfer the first amount
exchange , enterprise cryptocurrency server 130 may deter -         of the first currency into a first float account 204 associated
mine whether the conversion is optimal. Enterprise crypto -         with the first currency . Enterprise cryptocurrency server 130
currency server 130 may do so by using conversion engine            may do this by using transformation engine 214 to associate
216 to compare and analyze the current data associated with 40 the first amount of the first currency with the particular
the exchange . Conversion engine 216 may compare and                customer account 203, which may initiate a debit to the
analyze time factors, price factors associated with currencies      particular customer account 203 in the first amount (plus any
( such as the value of various currencies) , price factors          fees and other costs ) in the first currency . The first amount
associated with cryptocurrencies (such as the value of vari   of the first currency may then be transferred to the first float
ous cryptocurrencies ), volume of currencies , volume of 45 account 204 associated with the first currency over network
cryptocurrencies, availability of currencies, availability of 120 via links 116 .
cryptocurrencies, popularity of currencies, popularity of             Enterprise cryptocurrency server 130 may also determine
cryptocurrencies, volatility of currencies , volatility of cryp -   the second amount of the cryptocurrency . For example ,
tocurrencies, economic risk factors , current currency              calculation engine 224 may use the optimal exchange rate to
exchange rates, or any other factors that may facilitate 50 determine a quantity of the cryptocurrency approximately
determining the conversion is optimal. For example , con -          equivalent to the first amount of the first currency . The
version engine 216 may determine that the conversion is             quantity of the cryptocurrency may then be used to deter
optimal based on financial advantages that may be gained by         mine the second amount of the cryptocurrency less any fees
the enterprise and/ or customer 102 . As another example,           or costs associated with the requested exchange . In certain
conversion engine 216 may determine that the conversion is 55 embodiments , equivalence may be determined at the time
optimal based on a value of a particular cryptocurrency as          the request was made ( e .g ., determined in real- time) or
compared to a value of various other cryptocurrencies . As          within a window of time (e . g ., determined in batch time).
yet another example , conversion engine 216 may determine             After determining the second amount of the cryptocur
the conversion is optimal based at least in part upon a set of      rency, enterprise cryptocurrency server 130 may associate
conversion rules . In certain embodiments , if conversion 60 the second amount of the cryptocurrency with a second float
engine 216 calculates the conversion at a first time before a account 204 associated with the cryptocurrency. Enterprise
date threshold and determines that the conversion is not            cryptocurrency server 130 may do so utilizing transforma
optimal ( e . g . the conversion at the first time is less than a tion engine 214 . Associating the second amount of the
benefit threshold ), conversion engine 216 may calculate the      cryptocurrency with the second float account 204 may result
 conversion at a second time before the date threshold and 65 in a credit to the second float account 204 in the second
determine that the conversion is optimal ( e. g ., the conver -     amount of the cryptocurrency . In certain embodiments , once
sion at the second time is greater than the benefit threshold ).    the second amount of the cryptocurrency is associated with
                                                   US 10 , 255 ,600 B2
                             19                                                                  20
second float account 204 , enterprise cryptocurrency                some embodiments , aggregation engine 222 may determine
exchange server 130 may determine whether an amount of              a public key associated with a customer account 203 . For
funds in second float account 204 is below a threshold . For        example, customer 102 may request to deposit a certain
example, transformation engine 214 may monitor an amount            amount of cryptocurrency in a particular customer account
of funds in second float account 204 , and in response to the 5 203 . As another example , customer 102 may request to
amount of funds in second float account 204 being below a           withdraw a certain amount of cryptocurrency from a par
certain threshold , initiate the purchase of a quantity of the      ticular customer account 203 . In response to the request,
cryptocurrency. Transformation engine 214 may initiate the          aggregation engine 222 may determine the public key asso
purchase by communicating a request over network 120 via            ciated with the particular customer account 203 . To deter
links 116 to an exchange 140 to purchase the quantity of the 10 mine the public key , aggregation engine 222 may retrieve
cryptocurrency . Payment for the purchase may be made by            information included in customer account 203.
deducting the appropriate funds from another float account             In certain embodiments, aggregation engine 222 may
204 associated with the enterprise . Upon payment, enter -          determine that a customer 102 authorized a request. For
prise cryptocurrency server 130 may transfer the quantity of        example , a customer 102 may be prompted to input user
the cryptocurrency to second float account 204 .                 15 credentials before sending a request . User credentials may
  After determining that the amount of funds in second float        be the user ' s name, a username, a password , an account
account 204 is above the certain threshold or after transfer -      name, a personal identification number, a private key , a
ring the purchased quantity of the cryptocurrency to second         social security number , a credit card number, any combina
float account 204 , enterprise cryptocurrency server 130 may        tion thereof, or any other information that can authenticate
transfer the second amount of the cryptocurrency to cus - 20 a customer 102 . In such an example , user credentials may be
tomer 102 . More specifically , enterprise cryptocurrency           included in the request . Aggregation engine 222 may utilize
server 130 may use transformation engine 214 to transfer the        enterprise cryptocurrency server 130 to retrieve information
second amount of the cryptocurrency to customer 102 over            associated with the request, such as user credentials . Aggre
network 120 via links 116 . In certain embodiments, the gation engine 222 may then compare the user credentials
second amount of the cryptocurrency may be transferred 25 included in the request against the user credentials contained
directly to a particular customer account 203 associated with      i n the particular customer account 203 to determine whether
the particular customer 102 .                               customer 102 authorized the request.
   In certain embodiments, enterprise cryptocurrency server   Aggregation engine 222 may also determine a value
130 may use exchange engine 228 (in addition to transfor -  approximately equivalent to the amount of cryptocurrency
mation engine 214 ) to execute the exchange of a first 30 requested to be deposited (or withdrawn ) by customer 102 .
currency in a customer account 203 for a cryptocurrency.            In certain embodiments , aggregation engine 222 may deter
Exchange engine 228 may be any software , hardware ,                mine the value based on various factors associated with the
firmware , or combination thereof capable of withdrawing or         particular cryptocurrency to be deposited , such as crypto
depositing currency or cryptocurrency . According to some currency price , volatility of the cryptocurrency, popularity of
embodiments , exchange engine 228 may be a set of instruc - 35 the cryptocurrency, availability of the cryptocurrency , any
tions stored in memory 202 that may be executed by potential risk factor that may be associated with the particu
processor 201 . Exchange engine 228 may facilitate the debit lar cryptocurrency , any fees or other costs associated with
of an amount of a first currency requested to be exchanged .     depositing an amount of the particular cryptocurrency , any
For example , transformation engine 214 may initiate the         other factors associated with the particular cryptocurrency ,
debit of a particular customer account 203 in a certain 40 or any combination of the preceding . In other words, if
amount ( e . g ., a first amount ) in a first currency by commu- customer 102 requests the deposit of a certain amount of
nicating a message to exchange engine 228 . In response ,           funds to customer account 203 , then aggregation engine 222
exchange engine 228 may execute withdrawing the certain             may determine a value of the cryptocurrency worth approxi
amount of the first currency from the particular customer           mately the certain amount of funds . Equivalence may be
account 203 , thereby providing funds for the exchange to 45 determined at the time of the request ( e . g ., real-time) or
transformation engine 214 . Exchange engine 228 may also     within a window of time ( e . g ., the end of the day ) .
facilitate the transfer of the second amount of the crypto             In response to determining the value, aggregation engine
currency to customer 102 . For example , transformation             222 may associate the value with customer account 203 . For
engine 214 may initiate a deposit of a certain amount (e .g .,      example , in response to a request to deposit a certain amount
a second amount) of a cryptocurrency in a particular cus - 50 of cryptocurrency, aggregation engine 222 may credit the
tomer account 203 . In response , exchange engine 228 may       value of the certain amount of cryptocurrency to the par
execute depositing the certain amount of the cryptocurrency     ticular customer account 203 . Alternatively , in response to a
 in the particular customer account 203 , thereby providing request to withdraw a certain amount of cryptocurrency ,
customer 102 with the desired currency .                        aggregation engine 222 may debit the value of the certain
    Enterprise cryptocurrency server 130 may include aggre - 55 amount of cryptocurrency to the particular customer account
gation engine 222. Generally , aggregation engine 222 may           203 . In certain embodiments , the value may refer to a virtual
facilitate aggregating and storing cryptocurrency, such as          representation of the amount of cryptocurrency that is asso
aggregating certain quantities of cryptocurrency deposited          ciated with customer account 203.
by customers in a cryptocurrency account.More specifically ,           Aggregation engine 222 generally collects and aggregates
aggregation engine 222 may be any software , hardware , 60 cryptocurrency deposited by customers 102 in an account at
firmware , or combination thereof capable of initiating or a financial institution ( e. g ., a bank ). For example , aggrega
performing a transaction to facilitate collecting and aggre -       tion engine 222 may transfer an amount of cryptocurrency
gating cryptocurrency . According to some embodiments,              associated with customer 102 to an enterprise account, such
aggregation engine 222 may be a set of instructions stored          as a float account 204 , over network 120 via links 116 and
in memory 202 that may be executed by processor 201 .            65 aggregate the amount of cryptocurrency with an aggregated
  Using information received over links 116 , aggregation           amount of cryptocurrency in float account 204 . By doing so ,
engine 222 may perform various transactions . According to          enterprise cryptocurrency server 130 may utilize equivalent
                                                    US 10 ,255 ,600 B2
                            21                                                                      22
amounts/values of cryptocurrency stored in float account             is secure , a message (e .g ., a confirmation ) confirming the
204 and /or aggregation account 206 to conduct transactions         public key is secure to customer 102 associated with cus
on the behalf of customer 102 that may want to utilize such         tomer account 203.
cryptocurrency and debit/credit customer accounts 203 as               The operation of enterprise cryptocurrency server 130 ,
appropriate. In certain embodiments, enterprise accounts 5 with respect to aggregation engine 222 , will now be dis
(e. g., float accounts 204 ) may be stored in memory 202. cussed . Generally , customer 102 may use the services pro
According to some embodiments, float accounts 204 may be   vided by enterprise cryptocurrency environment 100 to
stored in one or more text files, tables in a relational      deposit or withdraw cryptocurrency from a customer
database , or any other suitable data structure capable of 10 device 110203to. request
                                                              account          More specifically , customer 102 may use
                                                                                       that an amount of cryptocurrency be
storing information .                                         deposited  to  customer  account  203 associated with an insti
   Each float account 204 may be associated with an enter
prise , financial institution , or any other entity that may have tution        operated by an enterprise . As a result, an amount of
                                                                         cryptocurrency may be deposited to a float account 204
an account at a financial institution ( e . g ., a bank ). In certain    associated with the institution operated by the enterprise .
embodiments , float account 204 may include information  normation    15 Device   110 may cocommunicate this request to enterprise
that can be used by aggregation engine 222 to retrieve , store , cryptocurrency server         130 over network 120 via links 116 .
aggregate, deposit, withdraw , or otherwise transfer an In response to receiving the request for a deposit of an
amount of cryptocurrency to or from float account 204 . For          amount of cryptocurrency , enterprise cryptocurrency server
example , a float account 204 may include information such           130 may determine a public key associated with customer
as an account number, cryptocurrency account balance (in 20 account 203 . To do so , enterprise cryptocurrency server 130
one or more cryptocurrencies ), routing information (e .g ., a      may use aggregation engine 222 to retrieve information
unique identifier , private key associated with a float account      included in customer account 203 that may be used to
204, public key associated with a float account 204 , and /or        determine the public key.
any other suitable quantifiable information associated with            Enterprise cryptocurrency server 130 may use the public
depositing and / or withdrawing cryptocurrencies in a float 25 key to receive the amount of cryptocurrency to be deposited
account 204 ), location information , or any other information over network 120 via links 116 . After receiving the amount
suitable for a particular purpose that an enterprise may have  of cryptocurrency , enterprise cryptocurrency server 130 may
associated with a float account 204 , such as a cryptocurrency determine   a value of the cryptocurrency approximately
account.                                                            equivalent to the amount of cryptocurrency to be deposited .
                                         04 includes
   In some embodiments, a float account 204 includes aa total
                                                        total 3030 approximately
                                                                   For example , aggregation engine 222 may determine an
amount of cryptocurrency (in one or more cryptocurrencies )                      equivalent value of the amount of cryptocur
                                                             rency based on a price associated with the particular cryp
aggregated and currently stored in the particular float tocurrency     . Enterprise cryptocurrency server 130 may then
account 204 . Specifically, the aggregated amount of cryp associate the    value of the amount of cryptocurrency with
tocurrency may include at least a portion of funds from41 35 customer account  203. For example , aggregation engine 222
previous customer deposits of cryptocurrency aggregated may credit customer        account 203 based on the value of the
and stored in float account 204 . For example , aggregation
engine 222 may collect and aggregate any number of             After associating the value of the amount of cryptocur
customer deposits (by one or more customers 102 of an              rency with customer account 203, enterprise cryptocurrency
enterprise , financial institution , or other entity ) in float 40 server 130 may aggregate the amount of cryptocurrency
account 204 . In such an example , the funds may then be with an aggregated amount of cryptocurrency in float
available to the enterprise , financial institution , or other     account 204 . For example , aggregation engine 222 may
entity for particular purposes .                                   transfer the amount of cryptocurrency over network 120 via
   According to certain embodiments, aggregation engine links 116 to float account 204. In some embodiments, the
222 may also deduct a certain amount of funds from a float 45 amount of cryptocurrency may be transferred over network
account 204. As an example , in response to a customer 102          120 via links 116 to float account 204 based at least in part
requesting to withdraw a certain amount of funds from a on a public key associated with float account 204. After
particular customer account 203 , aggregation engine 222           transferring the amount of cryptocurrency , enterprise cryp
may debit float account 204 in the certain amount of tocurrency server 130 may deposit the amount to crypto
cryptocurrency ( e . g ., deduct the certain amount of crypto - 50 currency in float account 204 . For example , aggregation
currency from the aggregated amount of cryptocurrency in             engine 222 may add the amount of cryptocurrency to the
float account 204 ). Aggregation engine 222 may then with            aggregated amount of cryptocurrency in float account 204 to
draw the amount of cryptocurrency from float account 204             yield an updated aggregated amount of cryptocurrency in
and transfer those funds to customer 102 or another recipi-          float account 204.
ent. In such an example , aggregation engine 222 may 55                After aggregating the cryptocurrency, enterprise crypto
determine a value approximately equivalent to the amount of currency server 130 may facilitate securing a public key
cryptocurrency and associate that value with customer associated with customer account 203 in float account 204 .
account 203 (e . g ., credit the value of the amount of cryp - For example, enterprise cryptocurrency server 130 may use
tocurrency to customer account 203 ).                          aggregation engine 222 to communicate a request to secure
   Aggregation engine 222 may also facilitate securing a 60 the public key to online vault 210 or offline vault 212 . As a
public key associated with a customer account 203. In          result, the public key may be secured in float account 204 .
certain embodiments, aggregation engine 222 may commu-         In certain embodiments , enterprise cryptocurrency server
nicate a message over network 120 via links 116 requesting      130 may use aggregation engine 222 to determine whether
that a public key be secured . In some embodiments , aggre - online vault 210 or offline vault 212 secured the public key .
gation engine 222 may determine whether the public key is 65 In response to determining online vault 210 or offline vault
secure . In such an embodiment, aggregation engine 222 may           212 secured the public key, enterprise cryptocurrency server
communicate , in response to determining that the public key         130 may utilize aggregation engine 222 to communicate a
                                                         US 10 ,255 ,600 B2
                                 23                                                                        24
message ( e. g., a confirmation ) confirming the public key is              accounts that customer 102 may have associated with a
secure over network 120 via links 116 to device 110 .                       particular enterprise . In some embodiments , encoding
   In certain embodiments , customer 102 may use device                     engine 218 may associate a payment instrument with one or
 110 to withdraw a certain amount of cryptocurrency from                   more cryptocurrency addresses associated with a customer
customer account 203 . In response to receiving a request to 5 account 203 associated with the particular customer 102 .
withdraw an amount of cryptocurrency , enterprise crypto -        To provide a customer 102 with electronic access to
currency server 130 may withdraw the amount of crypto -        cryptocurrency in a customer account 203 , encoding engine
currency from float account 204 . For example , aggregation    218 generally encodes, onto the payment instrument, such
engine 222 may debit the amount of cryptocurrency from         cryptocurrency information that may be used to identify the
float account 204 , thereby deducting that amount of cryp - 10 particular customer account 203. For example , encoding
tocurrency from the aggregated amount of cryptocurrency to     engine 218 may encode a customer public key associated
yield an updated aggregated amount of cryptocurrency in        with customer account 203 onto the payment instrument. As
float account 204 .                                            another example , encoding engine 218 may encode a cryp
   After debiting float account 204 , enterprise cryptocur - tocurrency address associated with customer account 203
rency server 130 may determine a value approximately 15 onto the payment instrument. According to some embodi
equivalent to the certain amount of cryptocurrency requested ments , the public key or cryptocurrency address may be a
to be withdrawn . Enterprise cryptocurrency server 130 may   sequence of letters and numbers associated with customer
do so by using aggregation engine 222 . Enterprise crypto -  account 203 and may refer to an account number to which
currency server 130 may then associate the value of the      funds of cryptocurrency may be received and / or stored .
amount of cryptocurrency with customer account 203. For 20 In certain embodiments, encoding engine 218 may encode
example, aggregation engine 222 may debit customer                          a token onto a payment instrument. For example, encoding
account 203 based on the value of the amount of crypto -                    engine 218 may generate a token that represents cryptocur
currency . After associating the value of the amount of                     rency information , such as a public key, and encode the
cryptocurrency with customer account 203 , enterprise cryp -                generated token onto the payment instrument. In other
tocurrency server 130 may transfer the amount of crypto - 25 words, encoding engine 218 may create a new alias for the
currency to customer 102 or another recipient. As an                        cryptocurrency information using a unique token (e . g ., a
example ,aggregation engine 222 may transfer the amount of                  tokenized representation ofthe public key ), thereby securing
cryptocurrency over network 120 via links 116 to customer                   the cryptocurrency information .
102 or another recipient, such as a recipient associated with                 Enterprise cryptocurrency server 130 may also include
third party enterprise server 150 .                                      30 transaction engine 220 . In general, transaction engine 220
   Enterprise cryptocurrency server 130 may be used by an                   may initiate the execution of financial transactions that
enterprise to initiate and execute actions and transactions                 involve cryptocurrency according to any one of a variety of
that allow the enterprise to complete a cryptocurrency                      embodiments suitable for a particular purpose . More spe
transaction request. Enterprise cryptocurrency server 130 cifically , transaction engine 220 may be any software , hard
may include encoding engine 218 . Generally , encoding 35 ware, firmware , or combination thereof capable of executing
engine 218 facilitates encoding cryptocurrency information a cryptocurrency transaction . In certain embodiments,
associated with a customer account 203 onto a payment                      encoding engine 218 may be a set of instructions stored in
instrument. More specifically , encoding engine 218 may be                 memory 202 that may be executed by processor 201.
any software , hardware, firmware , or combination thereof                    Using information received over links 116 , transaction
capable of encoding cryptocurrency information onto a 40 engine 220 may perform various transactions. According to
payment instrument. In certain embodiments , encoding                       some embodiments, transaction engine 220 may facilitate
engine 218 may be a set of instructions stored in memory                    the execution of a cryptocurrency transaction using a pay
202 that may be executed by processor 201 .                                 ment instrument . For example , a customer 102 may use a
   Encoding engine 218 may encode various cryptocurrency                    payment instrument to request to make a transaction for a
information associated with a customer account 203 onto a 45 certain amount of funds of cryptocurrency in a particular
payment instrument. Examples of a payment instrument                        customer account 203. In response to the request, transaction
may include a credit card , debit card , ATM card , charge card ,           engine 220 may determine cryptocurrency information
stored - value card , fleet card , gift card , electronic purse ( such      encoded on the payment instrument that may be used to
as a mobile wallet), or any other suitable payment instru -                 execute the cryptocurrency transaction , such as cryptocur
ment thatmay be used by a customer 102 to make a payment 50 rency information associated with the particular customer
in cryptocurrency for a purchase or other obligation . Each                 account 203 .
payment instrument may be associated with one or more                          In certain embodiments , a customer 102 may request to
customer accounts 203 . For example , encoding cryptocur -                  execute a cryptocurrency transaction in response to a recipi
rency information onto a payment instrument may refer to                    ent, such as a merchant, requesting a payment be made in
electronically linking one or more customer accounts 203 55 cryptocurrency . As an example , a customer 102 may be
associated with customer 102 to the payment instrument.                     prompted for a payment in an amount of cryptocurrency at
Such customer accounts 203 may be associated with cryp -                    a payment terminal associated with the recipient of which
tocurrency .                                                               may be associated with a third party enterprise server 150
   In certain embodiments, cryptocurrency information                       (e. g ., a point-of-sale device in a store or any other device that
encoded onto a payment instrument may include informa- 60 can receive payment from a payment instrument ). In
tion that can be used by enterprise cryptocurrency server 130               response , customer 102 may use a payment instrument at the
to execute a transaction involving cryptocurrency. For                      payment terminal to request a cryptocurrency transaction .
example , cryptocurrency information may include informa                    Upon initiating the payment, third party enterprise server
tion such as an account number (e . g ., a cryptocurrency                   150 may communicate a request for the cryptocurrency
address ), account balance , customer public key , customer 65 payment over network 120 via links 116 .
private key , location information , or any other information                  Transaction engine 220 may determine cryptocurrency
suitable for a particular purpose associated with one or more               information associated with customer account 203 that may
                                                   US 10 , 255 ,600 B2
                             25                                                               26
be used to execute the cryptocurrency transaction . For            action engine 220 may initiate a purchase of a quantity of
example , the request may indicate a payment instrument            cryptocurrency from a cryptocurrency exchange , such as
encoded with cryptocurrency information , such as a public         exchange 140a or exchange 140b . Upon purchasing the
key . The public key may be used to identify the particular        quantity of cryptocurrency, transaction engine 220 may
customer account 203 associated with customer 102 . As 5 transfer the quantity of cryptocurrency to the particular
another example , the requestmay indicate a payment instru -    customer account 203 over network 120 via links 116 . In
ment encoded with a token . In such an example , transaction    certain embodiments , payment for the purchase may be
engine 220 may translate the token to the public key ( e . g ., made by deducting the appropriate funds from a customer
convert the token back to the public key ) identifying the      account 203 associated with customer 102 in a different
particular customer account 203 . In certain embodiments , 10 currency .
transaction engine 220 may determine cryptocurrency infor -          According to some embodiments , if a customer account
mation associated with customer account 203 based on any           203 does not comprise the minimum amount of cryptocur
other cryptocurrency information encoded on the payment            rency , transaction engine 220 may determine whether cus
instrument and /or indicated by the request.               tomer account 203 comprises a quantity of a second cur
   Transaction engine 220 may also determine cryptocur- 15 rency ( such as a fiat currency or a different cryptocurrency ) .
rency information associated with a recipient of funds of If customer account 203 comprises a quantity of a second
cryptocurrency . For example , the request may include cryp        currency , transaction engine 220 may associate that quantity
tocurrency information that may be used to transfer the            with customer account 203 . Transaction engine 220 may do
amount of cryptocurrency to the recipient. Cryptocurrency           so by debiting customer account 203 in the quantity of the
information associated with a recipient thatmay be included 20 second currency . Transaction engine 220 may then utilize
in the request may be information such as a recipient public       transformation engine 214 to transfer the quantity of the
key (which may be associated with a third -party account or        second currency to a first float account 204 associated with
a customer account 203 ), a recipient cryptocurrency address ,     the second currency .
or any other cryptocurrency information thatmay be used to           Once the quantity of the second currency has been trans
execute a cryptocurrency transaction . For example , a request 25 ferred to first float account 204 , transaction engine 220 may
communicated by a payment terminal associated with third          determine a second amount of cryptocurrency approxi
party enterprise server 150 , such as a request communicated       mately equivalent to the quantity of the second currency .
in response to a merchant prompting customer 102 to make      Transaction engine 220 may utilize transformation engine
a payment in cryptocurrency, may include a recipient cryp     214 to associate the second amount of cryptocurrency with
tocurrency address . In certain embodiments, the recipient 30 a second float account 204 associated with the cryptocur
may be another customer 102 of the enterprise . For example ,      rency . As a result, second float account 204 may be debited
the request may include a recipient public key associated          in the second amount of cryptocurrency . Transaction engine
with another customer account 203 .                                220 may then transfer the second amount of cryptocurrency
   Using cryptocurrency information associated with a cus -        to customer account 203 over network 120 via links 116 .
tomer account 203 , transaction engine 220 may associate an 35        Transaction engine 220 may store or retrieve information
amount of cryptocurrency with customer account 203 . For           about any transaction in transactions 208 . Transactions 208
example , in response to a request to make a transaction in a      may be any information associated with any transaction
certain amount of cryptocurrency, transaction engine 220           associated with enterprise cryptocurrency server 130 . In
may debit the particular customer account 203 in the certain   certain embodiments , transactions 208 may be stored in one
amount (as well as any fees and other costs ) of cryptocur- 40 or more text files, tables in a relational database , or any other
rency .                                                            suitable data structure capable of storing information .
   Transaction engine 220 may also initiate the transfer ofan         The operation of enterprise cryptocurrency server 130 ,
amount of cryptocurrency to a recipient. For example ,             with respect to encoding engine 218 and transaction engine
transaction engine 220 may communicate a request to trans -        220 , will now be discussed . In operation, customer 102 may
fer the certain amount of cryptocurrency to the recipient 45 use the services provided by enterprise cryptocurrency
over network 120 via links 116 . Transaction engine 220 may  server 130 to execute a transaction with cryptocurrency .
do so using a recipient cryptocurrency address , recipient        More specifically , customer 102 may wish to use a payment
public key, or any other suitable cryptocurrency information       instrument to execute transactions with cryptocurrency . As a
associated with the recipient. In certain embodiments , trans - result, enterprise cryptocurrency server 130 may encode
action engine 220 may directly transfer the certain amount 50 cryptocurrency information associated with customer
of cryptocurrency to the recipient. For example, if the            account 203 onto a payment instrument. For example ,
recipient is another customer 102 , transaction engine 220         encoding engine 218 may encode various cryptocurrency
may transfer the certain amount of cryptocurrency to a             information associated with a customer account 203 , such as
particular customer account 203 associated with that cus           a cryptocurrency address or a public key, onto a payment
tomer 102 .
  In certain embodiments, transaction engine 220 may               cryptocurrency in customer account 203 .
provide overdraft protection for a customer 102. For                  After encoding cryptocurrency information onto a pay
example , before debiting a particular customer account 203 ,      ment instrument, customer 102 may use the payment instru
transaction engine 220 may determine whether a customer           ment to request a certain amount of cryptocurrency be
account 203 comprises a minimum amount of cryptocur- 60 transferred to a recipient as payment for a purchase or other
rency to execute the requested cryptocurrency transaction          obligation . As a result , the amount of cryptocurrency may be
In certain embodiments , if a customer account 203 does not        deposited into an account associated with the recipient. In
comprise the minimum amount of cryptocurrency , transac            certain embodiments , the request may be communicated to
tion engine 220 may not execute the cryptocurrency trans - enterprise cryptocurrency server 130 from device 110 , third
action .                                                  65 party enterprise server 150, or any other device that may be
  In alternative embodiments, if customer account 203 does         associated with a payment terminal, over network 120 via
not comprise the minimum amount of cryptocurrency, trans -         links 116 .
                                                    US 10 ,255 ,600 B2
                                                                                                  28
   In response to receiving the request, enterprise cryptocur         over network 120 via links 116 . In such an example ,
rency server 130 may determine cryptocurrency information             transformation engine 214 may then debit second float
associated with customer account 203 . For example, the               account 204 associated with the cryptocurrency in a quantity
request may indicate a payment instrument encoded with                of cryptocurrency approximately equivalent to the quantity
cryptocurrency information , such as a payment instrument 5 of the second currency . After debiting second float account
encoded with a public key or a token . Enterprise cryptocur           204 , transformation engine 214 may transfer the quantity of
rency server 130 may use transaction engine 220 to deter - cryptocurrency over network 120 via links 116 to customer
mine the cryptocurrency information encoded on the pay -       account 203 . As a result, customer account 203 may com
ment instrument to thereby identify the particular customer prise a sufficient amount of cryptocurrency to execute the
account 203 to be debited in the certain amount of crypto - 10 requested cryptocurrency transaction .
currency . Enterprise cryptocurrency server 130 may also                After determining customer account 203 comprises a
determine cryptocurrency information associated with the             minimum amount of cryptocurrency, enterprise cryptocur
recipient. To do so , enterprise cryptocurrency server 130           rency server 130 may associate the amount of cryptocur
may use transaction engine 220 to determine cryptocurrency           rency with customer account 203 . To do so , enterprise
information included in the request that may be used to 15 cryptocurrency server 130 may use transaction engine 220 to
transfer the amount of cryptocurrency to the recipient, such          debit customer account 203 in the certain amount of cryp
as a recipient cryptocurrency address or recipient public key         tocurrency . Enterprise cryptocurrency server 130 may then
associated with a third -party account or another customer            initiate a transfer of the certain amount of cryptocurrency to
account 203 .                                                         the recipient. For example , transaction engine 220 may
   After determining cryptocurrency information associated 20 communicate a request over network 120 via links 116 to
with customer account 203 and cryptocurrency information              third party enterprise server 150 to transfer the certain
associated with the recipient, enterprise cryptocurrency              amount of cryptocurrency to the recipient. As another
server 130 may determine whether customer account 203                 example , transaction engine 220 may communicate a
comprises a minimum amount of cryptocurrency to execute               request over network 120 via links 116 to a recipient
the cryptocurrency transaction . For example , transaction 25 cryptocurrency address associated with the recipient to
engine 220 may determine a quantity of cryptocurrency                 transfer the certain amount of cryptocurrency to the recipi
equivalent to the amount of cryptocurrency to be used in the          ent. Communicating such a requestmay result in the certain
requested cryptocurrency transaction . Transaction engine             amount of cryptocurrency being deposited into a recipient
220 may then determine whether the quantity of cryptocur -            account, thereby confirming the requested cryptocurrency
rency exceeds the quantity of cryptocurrency associated 30 transaction for a payment or other obligation associated with
with customer account 203 . According to some embodi-                 customer 102 .
ments, the requested cryptocurrency transaction may not be              Enterprise cryptocurrency server 130 may include alert
executed if customer account 203 does not comprise the                engine 230 . In general, alert engine 230 may alert an
equivalent quantity of cryptocurrency (i.e., if customer              enterprise or a customer of potentially suspicious activity
account 203 does not comprise sufficient funds ).                  35 associated with a cryptocurrency transaction . More specifi
   In certain embodiments, if customer account 203 does not           cally, alert engine 230 may be any software , firmware , or
comprise sufficient funds, enterprise cryptocurrency server           combination thereof capable of identifying a party to a
130 is capable of determining the difference between the              cryptocurrency transaction as a known user and providing an
amount of cryptocurrency to be used in the requested                  alert if there is suspicious activity associated with a cryp
transaction and the quantity of cryptocurrency associated 40 tocurrency transaction based on the information regarding
with customer account 203 and facilitate the purchase of the the known user. In some embodiments, alert engine 230 may
difference . In such an embodiment, enterprise cryptocur - be a set of instructions stored in memory 202 that may be
rency server 130 may initiate the purchase of the difference          executed by processor 201.
in quantity of cryptocurrency from an exchange 140 , such as            Alert engine 230 may communicate various types of
exchange 140a or 140b . Enterprise cryptocurrency server 45 alerts . According to some embodiments , if alert engine 230
 130 may do this by using transaction engine 220 to com -   determines that the cryptocurrency transaction is suspicious
municate a request over network 120 via links 116 to        based at least in part on a user profile, then it may commu
exchange 140a or exchange 140b to purchase the difference             nicate an alert to the enterprise that the cryptocurrency
in quantity of cryptocurrency . Transaction engine 220 may            transaction is suspicious . For example , if the user profile of
then transfer at least a portion of the difference in quantity 50 the user requesting to perform the transaction contains a
of cryptocurrency ( e .g ., the difference in quantity of cryp -      public key associated with previous transactions that are
tocurrency less any fees or other costs ) over network 120 via        suspicious, then alert engine 230 may inform the enterprise .
links 116 to customer account 203. Payment for the purchase           In some embodiments , alert engine 230 may communicate
may be made by deducting the appropriate funds from             an alert to a user who is a customer of the enterprise if the
customer account 203 in a second currency .                  55 user profile of the third party indicates suspicious activity .
   Alternatively , if customer account 203 does not comprise    For example , if the third party user profile contains an IP
sufficient funds, enterprise cryptocurrency server 130 may      address from an untrustworthy country , alert engine 230 may
determine whether customer account 203 comprises a quan               inform the user of the suspicious IP address specifically or
tity of a second currency. Upon determining customer                  may generally inform the user that the third party to the
account 203 does comprise the quantity of the second 60 requested transaction is suspicious .
currency , enterprise cryptocurrency server 130 may use float            Alert engine 230 may also retrieve block chain informa
accounts 204 to exchange the quantity of the second cur -             tion associated with the cryptocurrency transaction to deter
currency (less any fees or other costs ) thatmay be deposited         alert engine 230 may identify various public keys , IP
into customer account 203. For example , transformation 65 addresses , or cryptocurrency wallets associated with either
engine 214 may transfer the quantity of the second currency           the sender or the receiver of the cryptocurrency transaction .
to first float account 204 associated with the second currency        Using these identified block chain cryptoidentifiers, alert
                                                    US 10 ,255 ,600 B2
                              29                                                                   30
engine 230 may determine whether a block chain cryptoi              may be a customer of the enterprise, a transactor of the
dentifier matches a stored cryptoidentifier associated with        enterprise , a party unknown to the enterprise , or a known
one of the plurality of user profiles . In certain embodiments ,   party to the enterprise . In some embodiments , the request
alert engine 230 also determines that one of the plurality of      may be initiated by a user through an enterprise application
user profiles is associated with either the user or the third 5 on device 110 . For example , a user may request to transfer
party of the requested cryptocurrency transaction based on          funds from a cryptocurrency account to a third party on
the determined match . For example , if alert engine 230            device 110 . In some embodiments , the request may be
identifies a public key of the third party to the cryptocur-        initiated by user utilizing a bank card , such as a debit card
rency transaction from the block chain information and          or credit card , when making a purchase .
matches that to a public key from a stored user profile, then 10 Next, alert engine 230 may retrieve block chain informa
alert engine 230 may associate the third party to the user         tion associated with the cryptocurrency transaction and
profile .                                                          determine at least one block chain cryptoidentifier from the
   Alert engine 230 may also determine whether the                 block chain information . In some embodiments, a block
requested cryptocurrency transaction is potentially suspi-         chain cryptoidentifier may comprise a public key, an IP
cious based at least in part upon the associated user profile . 15 address , and one or more cryptocurrency wallets . In some
In certain embodiments , alert engine 230 may calculate a          embodiments , the block chain cryptoidentifier may be from
risk score ( for example, based on customer history , account       either the user or the third party associated with the
balance , and type of potentially suspicious activity ) for the     requested transaction . For example, block chain information
user profile. In some embodiments, alert engine 230 may            m ay include a user public key, a third party public key, and
calculate separate factor scores based on individual pieces of 20 a user IP address , but not a third party IP address . Thus , in
information in the user profile to calculate the risk score for   this example , alert engine 230 determines three block chain
the user profile . For example, alert engine 230 may calculate      identifiers: the user public key , a third party public key , and
a first factor score based on the transaction history of the      a user IP address.
user profile and calculate a second factor score based on the        Alert engine 230 may then compare the block chain
IP address associated with the user profile . Alert engine 230 25 cryptoidentifier and the stored cryptoidentifier associated
may use the risk score and factor scores to determine with one of the plurality of user profiles . In some embodi
whether the requested cryptocurrency transaction is suspi          ments , alert engine 230 may compare the block chain
cious.                                                              cryptoidentifier and the stored cryptoidentifier by perform
   The operation of enterprise cryptocurrency server 130 ,          ing a search through all of the stored customer cryptoiden
with respect to alert engine 230 will now be discussed . 30 tifiers associated with the user profiles. For example, if the
Generally, enterprise cryptocurrency server 130 may use             block chain cryptoidentifier comprises a public key of
alert engine 230 to facilitate identification of a party to a       " examplepublickey1," then alert engine 230 will search
transaction as a known user and alerting of suspicious              through all of the user profiles and compare this public key
activity associated with a cryptocurrency transaction based         to any of the stored public keys in the user profiles .
on the information regarding the known user. More specifi- 35 Then , alert engine 230 may determine whether the block
cally , alert engine 230 may store a plurality of user profiles. chain cryptoidentifier and the stored cryptoidentifier asso
In some embodiments the user profile is associated with a        ciated with one of the plurality of user profiles match . In
customer 102 of the enterprise (e. g., a person who has at          some embodiments , the block chain cryptoidentifier must be
least one account with the enterprise ). In some embodi- identical to the stored cryptoidentifier associated with one of
ments, the user profile is associated with a known party, but 40 the plurality of user profiles. For example, alert engine 230
that known party does not have at least one account with the       may determine that the block chain public key of “ example
enterprise . For example, there may be a user profile for a        publickeyl ” matches the public key in a user profile of
beneficiary of an account, a power of attorney for an               “ examplepublickey1," but will determine that the block
account, a third party the enterprise knows is suspicious or        chain public key of “ examplepublickeyl” does not match
untrustworthy , or a transactor, which is a party who deposits 45 the public key in a user profile of " examplepublickey2 .” In
money to an account. An example of a transactor is the night        some embodiments , alert engine determines a match when
manager of a restaurant who deposits money into the res -           the block chain cryptoidentifier and stored cryptoidentifier
taurant' s account. Thus, the restaurant would have a user          associated with one of the plurality of user profiles comprise
profile and the night manager would also have a user profile a certain number of similar characters. For example , alert
even though the user does not have an account with the 50 engine 230 may determine that the block chain public key of
enterprise . In some embodiments , the plurality of user " examplepublickeyl” matches the public key in a user
profiles are stored in memory 202 or customer accounts 203.         profile of “ examplepublickey2 .”
In some embodiments , a user profile comprises information         If alert engine 230 determines that the block chain cryp
associated with the user, such as , but not limited to , a user toidentifier and the stored cryptoidentifier associated with
name, a user address, one or more user public cryptocur- 55 one of the plurality of user profiles do not match , then the
rency keys, one or more user IP addresses , one or more user method ends. If alert engine 230 determines that the block
cryptocurrency wallets , and a financial transaction history,       chain cryptoidentifier and the stored cryptoidentifier asso
which may include both fiat and cryptocurrency transac -            ciated with one of the plurality of user profiles match , then
tions . According to some embodiments , such transactions           alert engine 230 may determine whether one of the plurality
may be stored in transactions 208 . In some embodiments , 60 of user profiles is associated with the user or the third party
not every possible user or third party has a stored user           based on the retrieved block information and stored cryp
profile .                                                           toidentifiers associated with one of the plurality of user
   Alert engine 230 may receive a request from a user to           profiles. In certain embodiments, alert engine 230 may
perform a cryptocurrency transaction with a third party . determine that the user is a customer of the enterprise based
Examples of cryptocurrency transactions include making a 65 at least in part upon determining a block chain cryptoiden
purchase , transferring money from an account, and trans - tifier and a stored cryptoidentifier associated with one of the
ferring money to an account. In some embodiments , the user         plurality of user profiles are a match . In certain embodi
                                                    US 10 ,255 ,600 B2
                              31                                                                  32
ments, alert engine 230 determines that the third party is a        associated with this user profile ) utilizes an IP address that
transactor of the enterprise . For example, alert engine 230        reflects a location in another state or country , then the second
may determine that the third party receiving the cryptocur-         factor score may increase because the requesting user IP
rency transaction is the night manager at a restaurant              address does not match the user profile IP address .
because the third party utilizes public key " examplepub - 5          Alert engine 230 may also calculate a risk score for the
lickeyl” and the nightmanager at a restaurant utilizes public       user profile based at least in part upon the first factor score
key " examplepublickeyn." As another example, a customer            and the second factor score . In certain embodiments , alert
of the enterprise may request the cryptocurrency transaction        engine 230 calculates a risk score for the user profile based
without logging into the customer ' s enterprise account. at least in part upon the first factor score and / or the second
Thus , the enterprise may not initially recognize who the 10 factor score . For example , if alert engine 230 determines a
customer is. However, once determining the public key of high second factor score because of a suspicious IP address ,
the user , alert engine 230 may determine the user is a      then alert engine 230 may determine a high risk score . As
specific customer, transactor, or known party of the enter          another example , if alert engine 230 determines a low first
prise .                                                           factor score because there are no or very few large transac
   If alert engine 230 determines that one of the plurality of 15 tions in the transaction history of the user profile , then alert
user profiles is not associated with the user or the third party    engine 230 may calculate a low risk score .
based on the retrieved block information and stored cryp              Next, alert engine 230 may determine whether a crypto
toidentifiers associated with one of the plurality of user          currency transaction is suspicious based at least in part upon
profiles, then the method ends . If alert engine 230 deter -      the user profile . In some embodiments, alert engine 230
mines that one of the plurality of user profiles is associated 20 determines the cryptocurrency transaction is suspicious
with the user or the third party based on the retrieved block      based on at least one of the first factor score , second factor
information and stored cryptoidentifiers associated with one        score , and risk score . For example, if the risk score is high ,
of the plurality of user profiles, then alert engine 230 may        it may indicate the user or third party associated with the
calculate a first factor score based at least in part upon the user profile has engaged in potentially fraudulent transac
transaction history of the user profile associated with either 25 tions and thus makes it more likely that the current requested
the user requesting the transaction or the third party in the       transaction may also be suspicious. Alert engine 230 may
transaction . In some embodiments, the transaction history   compare the risk score to one or more thresholds to deter
may include the entire transaction history of a user or may mine whether the transaction is suspicious . For example , if
include only certain transactions . For example, the transac the risk score is 50 , alert engine 230 may determine it is
tion history may include only transactions over a certain 30 higher than the threshold of 20 and thus alert engine 230
 amount of cryptocurrency. As another example , the trans -         determines the transaction is suspicious.
action history may include only transactions within a certain         If alert engine 230 , determines the cryptocurrency trans
timeperiod , such as transactions that occurred within the last     action is not suspicious based at least in part upon the user
one month , the last one year, or the last five years .             profile , then the operation of alert engine 230 may conclude .
   The first factor score may be associated with the poten - 35 If, however, alert engine 230 determines the cryptocurrency
tially suspicious or seemingly fraudulent past transactions         transaction is suspicious based at least in part upon the user
associated with the user profile . In some embodiments ,            profile , then alert engine 230 may communicate an alert to
suspicious transactions, such as a high value transaction of        the enterprise that the cryptocurrency transaction is suspi
1000 units of cryptocurrency , may indicate a higher risk of        cious . In some embodiments, alert engine 230 communi
fraudulent activity and thus increase the first factor score . In 40 cates an alert whether the cryptocurrency transaction is
some embodiments, alert engine 230 determines the pattern           suspicious based on the third party ' s association with a
of spending based on the transaction history and is able to        suspicious user profile or the requesting user 's association
determine if the current transaction is a common transaction       with a suspicious user profile . In certain embodiments , the
or an abnormal one compared to the transaction history . For       alert may include a notification that the cryptocurrency
example , if the user associated with the user profile regularly 45 transaction may not be completed based on the suspicious
transmits 1000 units of cryptocurrency on a weekly basis,          ness of the cryptocurrency transaction . Alert engine 230 may
then alert engine 230 may determine the requested transac -        also allow the transaction to be completed , but associate a
tion of 1000 units of cryptocurrency indicates a lower risk of     " flag " or other warning with the user profile associated with
fraudulent activity and thus decreases the first factor score .    either the third party or the requesting user in certain
  Next, alert engine 230 may calculate a second factor score 50 embodiments .
based at least in part upon the user profile IP address . In          Alert engine 230 may then communicate an alert to the
some embodiments , alert engine 230 determines a location           requesting user that cryptocurrency transaction is suspicious
associated with the user profile IP address. In some embodi-       based on the user profile associated with the third party . In
ments, the determined location may be a physical address,           certain embodiments, the requesting user may be a trusted
GPS coordinates , a city , a state , or a country . In some 55 customer 102 of the enterprise and alert engine 230 may
embodiments, the second factor score may increase for a        warn customer 102 of the risk in transaction with this third
location associated with high risk and decrease for a location      party.
associated with low risk , depending on the circumstances            Enterprise cryptocurrency server 130 may include cryp
associated with customer 102 . For example , if alert engine tocurrency risk detection engine 232 . Generally , risk detec
230 determines the location is a country , and that country is 60 tion engine 232 determines the amount of risk associated
commonly associated with fraudulent IP addresses, then the         with a cryptocurrency transaction . More specifically, alert
second factor score may increase. In some embodiments ,            engine 230 may be any software , hardware, firmware, or
alert engine 230 may compare the requesting user IP address         combination thereof capable of determining the risk asso
from the block chain information and the user profile IP           ciated with a cryptocurrency transaction and , based on the
address to calculate the second factor score . For example , if 65 determined risk , determining either that there is potentially
the user profile IP address is associated with a particular suspicious activity by a third party or that the transaction is
state , but requesting user (which was determined to be             approved because there is little risk associated with the
                                                    US 10 ,255 ,600 B2
                              33                                                                  34
cryptocurrency transaction. In some embodiments, crypto - IP address , a third party IP address , a customer public key ,
currency risk detection engine 232 may be a set of instruc- a third party public key, an age of the customer public key,
tions stored in memory 202 that may be executed by an age of a third party public key , or an age of the
processor 201.                                                cryptocurrency . The block chain information may comprise
   Cryptocurrency risk detection engine 232 may detect risk 5 one , some, or all of these block chain factors.
associated with a cryptocurrency transaction and provide              Cryptocurrency risk detection engine 232 then determines
various notifications based on the detected risk . In certain       whether the at least one block chain factor identified
embodiments , cryptocurrency risk detection engine 232              includes a customer IP address . The customer IP address
calculates a risk score (e . g ., based on customer history ,       may be associated with customer 102 of the enterprise . If the
account balance , and type of potentially suspicious activity ) 10 at least one block chain factor includes a customer IP
for performing the cryptocurrency transaction and deter -           address , then cryptocurrency risk detection engine 232
mines whether the transaction is approved based on that risk        determines the location associated with the customer IP
score . An example of a notification that cryptocurrency risk       address . In some embodiments , the determined location may
detection engine 232 may communicate is a notification to           be a physical address, GPS coordinates, a city, a state , or a
the customer or the third party whether the transaction is 15 country . Next, cryptocurrency risk detection engine 232
approved or not. Cryptocurrency risk detection engine 232           calculates a factor score for the customer IP address based at
may also determine whether the risk score indicates poten -         least in part upon the location associated with the customer
tially suspicious activity by the third party and , if so , may     IP address. In some embodiments , the factor score may
notify the customer of the potentially suspicious activity.         increase for a location associated with high risk and decrease
   Cryptocurrency risk detection engine 232 may receive a 20 for a location associated with low risk , depending on the
request from a customer 102 to perform a cryptocurrency             circumstances associated with customer 102 . For example , if
transaction with a third party and retrieve block chain         cryptocurrency risk detection engine 232 determines the
information associated with the transaction . In certain        location is a country, and that country is frequently associ
embodiments, cryptocurrency risk detection engine 232           ated with fraudulent transactions , then the factor score may
identifies block chain factors from the block chain informa- 25 increase . As another example , if it is known that customer
tion and determines whether any block chain factors include,    102 resides in one state , but the IP address reflects a location
for example , a customer IP address , a third party IP address, in another state or country , then the factor score may
or a third party public key . If any block chain factors include    increase because customer 102 is not in the normal location .
this information , cryptocurrency risk detection engine 232            Cryptocurrency risk detection engine 232 may then deter
may calculate factor scores for these and any other block 30 mine whether the at least one block chain factor previously
chain factors . For example , cryptocurrency risk detection  identified includes a third party IP address . The third party
engine 232 may determine the location associated with the    IP address may be associated with third party . If the at least
IP addresses and calculate a factor score for the IP address        one block chain factor includes a third party IP address , then
based on the associated location . Also , cryptocurrency risk       cryptocurrency risk detection engine 232 determines the
detection engine 232 may retrieve and review any transac - 35 location associated with the third party IP address. In some
tion history (such as transactions 208 ) associated with the        embodiments , the determined location may be a physical
third party public key and calculate a factor score for the         address , GPS coordinates , a city , a state , or a country.
public key. Cryptocurrency risk detection engine 232 may            Cryptocurrency risk detection engine 232 may also calculate
also determine the amount of cryptocurrency associated with         a factor score for the third party IP address based at least in
the cryptocurrency transaction . In certain embodiments , 40 part upon the location associated with the third party IP
cryptocurrency risk detection engine 232 calculates the risk        address . In some embodiments, the factor score may
score based at least in part upon the factor scores and the         increase for a location associated with high risk and decrease
amount of cryptocurrency associated with the cryptocur              for a location associated with low risk , depending on the
rency transaction .                                                 circumstances. For example, if cryptocurrency risk detection
   The operation of enterprise cryptocurrency server 130 , 45 engine 232 determines the location is to a certain restricted
with respect to risk detection engine 232 , will now be         country , and the enterprise is subject to restrictions that it
discussed . Enterprise cryptocurrency server 130 may receive    cannot receives funds or send funds to the restricted country ,
a request from customer 102 to perform a cryptocurrency         then the factor score may increase .
transaction with a third party . To do so , enterprise crypto -   Next, cryptocurrency risk detection engine 232 may
currency server 130 may use cryptocurrency risk detection 50 determine whether the at least one block chain factor iden
engine 232 to receive the request over network 120 via links        tified previously includes a third party public key . If cryp
116 . In some embodiments , the request may be initiated by         tocurrency risk detection engine 232 determines the at least
customer 102 through an enterprise application on device one block chain factor identified in step 906 includes a third
110 . In some embodiments, the request may be initiated by party public key , then it retrieves the transaction history
customer 102 utilizing a bank card , such as a debit card or 55 associated with the third party public key . In some embodi
credit card , when making a purchase . Examples of crypto -     ments , cryptocurrency risk detection engine 232 may
currency transactions include making a purchase , transfer - retrieve the transaction history from transactions 208 stored
ring money from an account, and transferring money to an            in the enterprise cryptocurrency server 130 . In other embodi
account. In some embodiments, the third party may be a ments , cryptocurrency risk detection engine 232 may
second customer 102 of the enterprise , a merchant, a retailer, 60 retrieve the transaction history from a source outside the
a person outside enterprise , an account outside the enter -       enterprise , such as the third party enterprise server 150 or the
prise , or an account with an unknown owner.                       internet. Cryptocurrency risk detection engine 232 may also
  Cryptocurrency risk detection engine 232 may retrieve             review the transaction history associated with third party
block chain information associated with the cryptocurrency          public key . In some embodiments, the review may include
transaction and identify at least one block chain factor based 65 the transaction history of other public keys located in the
at least in part upon block chain information . In some             same wallet as the third party public key . In some embodi
embodiments , a block chain factor may comprise a customer          ments, the review includes the entire transaction history or
                                                    US 10 , 255 ,600 B2
                              35                                                                   36
detection engine 232 may review only transactions over a             the amount of cryptocurrency . The risk score may be cal
certain amount of cryptocurrency. As another example , the           culated in a number of suitable ways . In some embodiments ,
review may include only transactions within a certain time           the risk score increases as the amount of cryptocurrency
period , such as transactions that occurred within the last one 5 increases assuming that the larger the transaction the higher
month , the last one year, or the last 5 years .                  the risk of a fraudulent transaction . For example , if the
  Next, cryptocurrency risk detection engine 232 calculates          transaction is for 2 million units of cryptocurrency , rather
a factor score for the third party public key based at least in      than 10 units of cryptocurrency , then the risk score may
part upon the transaction history associated with the third          increase . In some embodiments, the risk score will be based
party public key . The factor score may be associated with the 10 at least in part upon the factor scores for the at least one
suspicious or seemingly fraudulent past transactions asso -         block chain factor. For example , cryptocurrency risk detec
ciated with the third party public key. In some embodiments ,        tion engine 232 may add all of the factor scores up to
suspicious transactions, such as a high value transaction of         determine the overall risk score . In some embodiments ,
 1000 units of cryptocurrency , may indicate a higher risk of        cryptocurrency risk detection engine 232 may weight each
fraudulent activity and thus increase the factor score . In 15 of the factor scores depending on the importance to risk of
some embodiments, cryptocurrency risk detection engine               fraud . For example , there may be a high concern related
232 determines the pattern of spending based on the trans            foreign IP addresses and thus cryptocurrency risk detection
action history and is able to determine if the current trans -       engine 232 may weight that factor score by two when
action is a common transaction or an abnormal transaction            calculating the risk score . In some embodiments , cryptocur
as compared to the transaction history. For example, if the 20 rency risk detection engine 232 determines the average of all
third party public key regularly transmits 1000 units of             of the factor scores in calculating the risk score . In some
cryptocurrency on a weekly basis, then cryptocurrency risk           embodiments , cryptocurrency risk detection engine 232
detection engine 232 may determine the requested transac             calculates an overall factor score and multiples it by the
tion of 1000 units of cryptocurrency indicates a lower risk of amount of cryptocurrency .
fraudulent activity and thus decreases the factor score .     25 Cryptocurrency risk detection engine 232 may then deter
   Cryptocurrency risk detection engine 232 may next deter         m ine whether the transaction is approved based at least upon
mine a factor score for the at least one block chain factor. In      the risk score . In some embodiments, cryptocurrency risk
some embodiments, the at least one block chain factor only           detection engine 232 compares the risk score to a threshold
includes a customer IP address , a third party IP address , and   to determine whether the transaction is approved . For
a third party public key , such that there are no other factor 30 example , if the risk score is above the threshold , then it is not
scores to determine . If the at least one block chain factor         approved and if the risk score is below the threshold then it
includes other block chain factors , for example , an age of the     is approved . In some embodiments, the threshold may
customer public key , an age of the third party public key, or       change depending on the customer, the third party , the type
an age of the cryptocurrency, then cryptocurrency risk               of cryptocurrency , the amount of cryptocurrency, or another
detection engine 232 determines a factor score for each of 35 factor relating to the transaction . For example , if the cus
these other block chain factors . In some embodiments , the          tomer is long -term , important, reliable , or trustworthy, then
factor score for the age of the customer public key and the          the threshold may be set higher and allow