US10275772B2 — Cryptocurrency risk detection system (Part 1 of 3)

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.

US010275772B2

(12) United States Patent                                                          ( 10) Patent No.: US 10 ,275 ,772 B2
     Ronca et al.                                                                 (45) Date of Patent:                           Apr. 30 , 2019
(54 ) CRYPTOCURRENCY RISK DETECTION                                          (56 )                        References Cited
      SYSTEM
                                                                                                  U .S . PATENT DOCUMENTS
(71 ) Applicant: Bank of America Corporation ,                                   2011/0184838 Al * 7/2011 Winters ................. G06Q 20 / 10
                   Charlotte , NC (US)                                                                                                        705 /27 . 1
                                                                                 2012 /0066763 A1* 3/2012 McHugh ............... GO6F 21/577
(72 ) Inventors: James G . Ronca , Decatur, GA (US );                                                                                            726 /22
                    Joseph B . Castinado , Northglenn, CO                        2014 /0045456 Al* 2/2014 Ballai ................. H04W 12/ 12
                   (US); Heather Dolan , Sarasota , FL                                                                                   455 /410
                   (US ); Thomas E . Durbin , Waynesville,                       2014 /0058949 A1* 2 /2014 Ciurea ................... GO6Q 20 /40
                                                                                                                                                705/ 44
                  NC (US); Richard H . Thomas ,                                  2015/0287026 A1 * 10/2015 Yang ............... GO6Q 20705
                                                                                                                                        /3678
                   Charlotte , NC (US )                                                                                                   /69
                                                                                 2015/0310424 A1* 10 /2015 Myers . ............ GO6Q 20/3678
(73 ) Assignee : Bank of America Corporation ,                                                                                                   705 /69
                 Charlotte , NC (US )                                                                           (Continued )
( * ) Notice:     Subject to any disclaimer, the term of this                               FOREIGN PATENT DOCUMENTS
                  patent is extended or adjusted under 35                   WO          WO 2015085393 A1 * 6 /2015 .........GO6Q 20/ 06
                  U .S .C . 154 (b ) by 1128 days .
(21) Appl. No .: 14 /305 ,916                                                                      OTHER PUBLICATIONS
                                                                             U .S . Appl. No. 14 /305 ,783 , filed Jun . 16 , 2014 , Ronca , et al.
( 22 ) Filed : Jun . 16 , 2014                                                                  (Continued )
(65 )               Prior Publication Data                                  Primary Examiner - John W Hayes
                                                                            Assistant Examiner — Jason B Fenstermacher
      US 2015 /0363783 A1             Dec. 17 , 2015                        (74 ) Attorney , Agent, or Firm — Baker Botts L .L .P .
                                                                            (57)                    ABSTRACT
(51) Int. Ci.                                                                The system includes a processor operable to receive a
      G060 20 /40                 ( 2012 .01 )                              request from a customer to perform a cryptocurrency trans
      G060 20 /06              ( 2012 . 01)                                 action with a third party . The processor may also retrieve
      G06Q 20 /38              ( 2012 .01)                                  block chain information associated with the cryptocurrency
(52 ) U .S . CI.                                                            transaction . The processor may also determine the amount of
      CPC ....... GO6Q 20 /4016 (2013 .01 ); G06Q 20 /065                   cryptocurrency associated with the cryptocurrency transac
                 (2013 .01); G06Q 20 /382 (2013.01); G06Q                   tion . The processor may further calculate a risk score for
                                                                            performing the cryptocurrency transaction based at least in
                                            20 /3829 (2013.01)
(58 ) Field of Classification Search                                        part upon the block chain information and the amount of
      None                                                                  cryptocurrency .
      See application file for complete search history .                                         17 Claims, 16 Drawing Sheets

                                                              Third Party - 150
                                                              Enterprise
                                                               Server                             Exchange ( 140a

                                                                                                                Exchange
                                              GUI
                                              114                                                  716                     170
                                                    wwwww               Network                                     Payment
                                                                          120
                          wahyu                                                                                     Service
                                                                                                  16
                                                                                                                     Virtual
                       Customer
                          102 117 P M 1 10                                                                          accounts
                                      Device 110                   1166                                                     72
                                                                                                         Data
                                                                                          Data           Center     160b
                                                                     Enterprise          Center
                                                                   cryptocurrency                    160a
                                  Enterprise Cryptocurrency             server
                                      Environment 100
                                                                US 10 ,Page
                                                                       275,2772 B2

(56)                       References Cited
                  U . S . PATENT DOCUMENTS
 2016 /0260102 A1 * 9/2016 Nightengale .......... G06Q 20 /20
                     OTHER PUBLICATIONS
U .S . Appl. No. 14 /305, 928 , 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 /306 ,110 , filed Jun . 16 , 2014 , Ronca , et al.
U . S . Appl. No. 14 / 305 , 579 , 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 ,981, filed Jun . 16 , 2014 , Ronca , et al.
U . S . Appl. No . 14 /306 ,054 , filed Jun . 16 , 2014 , Ronca , et al.
U .S . Appl. No. 14 / 306 ,158 , filed Jun . 16 , 2014 , Ronca , et al.
* cited by examiner
        atent                           Apr. 30 , 2019                 Sheet 1 of 16                                     US 10 ,275 ,772 B2

                                                     P a y m
                                            Exchange accounts
                                                         170
                                                         por
                                                             e
                                                            SY
                                                               n t S e r v i c e     VZUM
                                                                                          We
                                                                                                    172

                Ex140ac(h nge                                          WY
                                                                                                            Data
                                GOPRO
                                                       1

                                                    R
                                                    116
                                                       1

                                             116                                                            Avt
                                                                                                                      Center                   .Dec

                                                                                                                                                                -
                                                                                                                                                                130

NA

                                                 TM              Oro
                                                                       120
                                                                                                                   Enterprisecryptocurency
COR44    EnterpriseServer

                                                                            **
                                                                                     *

                                                                                            WW
                                                                                               D
                                                                                               110
                                                                                                 ev i c e                                    ECnrytpetorcpuriesncey
                                                                                                                                                               Env1iro0nmen0t
                                                                             *   *

                                                                                         Customer
U . S . Patent                    Apr. 30, 2019               Sheet 2 of 16                       US 10 ,275 ,772 B2

                                                                              mm 202
                                                                        2

        Transformation                                                  AUD

         Engine 214
          Conversion                    Customer
         Engine 216                     Accounts
                                           203
                                             doo

          Encoding
          Engine 218                       Float
                                         Account
                                            204
          Transaction
                         box be
                            www

                        ay

         Aggregation KOLA
          Engine 222
          Calculation                   Transactions
          Engine 224    WOOD
                                            208
                                            Www

                                      Cryptocurrency                   P2P
                                      Risk Detection                Engine 238
                                        Engine 232
                        95                                                             W

          Exchange                       Validation                                                  Offline
       OTA Engine 228                   Engine 234 Nooddodo
                                                                                       RITE
                                                                                                    Vault 212
                                                                                                          www

              Alert                        Vault                                       WVAwTTwY
          Engine 230
             VULASKER
                                        Engine 236
                                    Enterprise Cryptocurrency Server 130
                                                                A
U . S . Patent               Apr. 30, 2019                  Sheet 3 of 16                                  US 10 , 275 ,772 B2

                   A    te      w   ww www www * * *         * * * www . www ww . www        ww me
                                       COMPUTER SYSTEM

                                                                                                      wwwww 302
                                                           PROCESSOR
                                             W         INNANGULY

                                                                                                           wykonana 304
                                                       w
                                                            MEMORY
                                                            MEMORY
                                                                   NANNA

                                                            STORAGE
                                                                                 WWW

                                                           WV444112LLLLL           11

                                                      VO INTERFACE
                                                                                    YYYYYY

                                                      COMMUNICATION

                 ww w    ww mm masa tu           **        www ww www meer meer en                   mer
U .S . Patent                            Apr. 30, 2019                                                Sheet 4 of 16                                                            US 10,275,772 B2

                                                                                          START
                                                ADA                                                                                                                                         osari
                                                                                                                                                                                            20 0
                                                                                                           14YMUXLIV
                                                                                                                                                                                                  - 404
                  900
                                          DETERMINE CURRENT EXCHANGE RATES
                                            DETERMINE OPTIMAL EXCHANGE RATE
                                                        1   EXCHANGE RATE                                   TEREZA

                                                                                                                                                    wwwwwwwwwwww

                          DETERMINE                       CURRENCY
                                                      URANTdin                                   dan WWW
                                                                                                  AN
                                                                                                                                                                                             * 412
                          ASSOCIATE FIRST AMOUNT OF FIRST CURRENCY                                                                                                                          YEH
                                                  WITH CUSTOMER ACCOUNT
                                                                                          tand                                                ng

                            Buluh                          an

                                                                                                            * ** * *   * * * * ** www     X   Y * * * * * www       * * * *wwwwwwwww

                                                                                 I   th          wa                                                                                                  Yoga

                                                                       SUHTE N                                         FB
                                         what
                                          The              WONO   CH                             HO
                                                                                                                                 UWEN                                                  he
                                                                                                                                                                                            200
                                   AMOUNT OF
                      FUNDS IN SECOND FLOAT ACCOUNT BELOW
                                  A THRESHOLD ?
                                   YES
    WW+*U     INITIATE PURCHASE OF A QUANTITY OF SECOND CURRENCY
                                                                                                             EXCHANGE
                                                  W         eetti

               TRANSFER QUAN                                                                                       URRENCY INTO COM
    WWWW       * ** *   * * * * * ** *

            TRANSFER SECOND AMOUNT OF SECOND CURRENCY TO CUSTOMER
                                         XS
                                                                   FLOAT ACCOUNT                                                                                90550

                                                                                                                                                                    YAVU
                                                                                                                                                                                                    426
                                                                                                                                                                Vio

                                                                                                       * ** * * ** *         * * * ** *

                                                                                          END
U . S . Patent              Apr . 30 , 2019            Sheet 5 of 16              US 10 ,275 ,772 B2

                                                         NEW

                                               START      wwVBULUM

                                                                          **    14h4yry
                                                                                                            502
                RECEIVE                                                karabu
                                                                                                 PLOWRODU
        SY
                                          CONVERSION
             RETRIEVE PRICE DATA ASSOCIATED W                                     RRENCIES
                                                                      www 506

                1ERM
                                              YES              WEn
                                   RRENCY IN                    cut

                            DETERMINE OPTIMAL EXCHANGE RATE
                                                                                                      512
                  INITIAT
                                              CURRENCY                               Woodrow
                                                                                               vo504160V

                                                WORK
U . S . Patent                                       Apr. 30, 2019                                           Sheet 6 of 16                                     US 10 ,275 ,772 B2

                                                                     C STARTS                                             20

                                                           12W                                                     www                                                      4602
                           RECEIVE REQUEST TO DEPOSIT AMOUNT OF CRYPTOCURRENCY
                             popcowo
                                                     999                                                                                 $

                                                                                                                                                     3   00M
                                                                                                                                                         .            M

                            NOK3
                                             w
                                                                                                              ?

                                                                                                                                                                       na
                                                                                                                                                                              604
                              hahah                                                                           Wa     SA                                               32

                                                                                                                                                                              606
                                      LOOD
                                                    RECEIVE AMOUNT OF CRYPTOCURRENCY
                                                                                                        som
                                                                                                       go
                                                                                                                                                                              608
                                   ERMINE VA               MON                                       annen                             wew     AN         AN

                                                                          CRYPTOCURRENCY
                                                                                                                                                                              610
                                                  ASSOCIATE VALUE WITH CUSTOMER ACCOUNT
                                                                                     MATOKEO

                                                                                                                    LYRIRMWWWWAAAMAAN
                                                                                                                                                                            prin612
                                                 AGGREGATE AMOUNT OF CRYPTOCURRENCY WITH
                                                                                     9 92 93

                                                                          tout   1       2      3       4                                                      36
                                                                      0
                                                                                               bos
                                                                                                                                                                WWW

                  yo
                            SVARASWAMWA
                                                                                                                                             maneno 616
                       &

                                                                     PUBLIC KEY SECURE ?

    vwVZApywrit
                                                    0001

                                                                                                                   YES
                                   YES , COMMUNICATE CONFIRMATION CONFIRMING PUBLIC                                 room

                                                                 KEY SECURE TO CUSTOMER
     v
                                                                         NO , END
                                                                      20oscous                                                 podno

                                                                 C                           END
                                                                     WMWANASONIC

                                                                                                              SU

                                                                                                    FIG . 6
        atent               Apr. 30 , 2019                                 Sheet 7 of 16                                                US 10,275, 772 B2
                                              22

                                                                 START
                                                                                                      1                                   maneno ya 702
        WITH CUSTOMER ACCOUNT ONTO PAYMENT INSTRUMENT                                           Vitit
                                                                                                               M

                                                                                                                                                                    704
        RECEIVE REQUEST FOR CRYPTOCURRENCY TRANSACTION                 2
                                                                                                bos

                                                                                                                           4     444

        DETERMINE CRYPTOCURRENCY INFORMATION
             XoXXX             ** *
                                        Bren a
                                               ASSOCIATED
                                                      and
                                                          WOL                      000W

                                                                                                                                                                    708
        DETERMINE U
         A       ROY              CORO
                                                                           IPIENT
                                                                                          RMATION ASSOCI                               OCIATES              HADOW

                   CUSTOMER ACCOUNTUNOR 710                 3
                                                                V

YES mannen    COMPRISE MINIMUM AMOUNT OF
           CRYPTOCURRENCY FOR CRYPTOCURRENCY
                        w

                                                   TRANSACTION ?
                     ISHYAVALLARNIYYU          2119
                                                                           NO                                                          LLLLLL

  wych INITIATE PURCHASE OF A QUANTITY OF CRYPTOCURRENCY
             YY1I2
                                                                                                                   22

                                                                                          sos
                                                                                                          meanza

                                                                                       HAYUELLERY                       11: 11

             TRANSFER AT LEAST A PORTION OF THE QUANTITY
                                                     1 OF
                                                                                                                                                             20 9
                CRYPTOCURRENCY TO CUSTOMER ACCOUNT
                                                                             wwwwww                                                                         W

  Www                                                 ca
                                                      wyu        mor
                                                                                                                                               kohanemine    :
                                                                                                                                                             43

                                                                                           famour
                                                                       .
                                                                       2

                                                                than
                                                                 e

        INITIATE TRANSFER OF FIRSTAMOUNTOF CRYPTOCURRENCY
                                             4 .                                                                                          **    *

                                                                                                                                                              *

                        3
                                                                                                                                                              *

                                                                               Sunto

                                         C END D
                                         4         VAAK
                      atent                    Apr. 30 , 2019                             Sheet 8 of 16                                     US 10,275,772 B2

                                                                                        Start                )
                                                                                                                                                              802
                                                                 Store a plurality ofuser profiles
                                                                                   OP

                                                                                                                          RIVDONO

                                             * * * * *** * * *                            MULTITKY                **                         * * * VEN
                              23 and                                                                                                  NE
                                                                                with third party
                                       RIW
                                                                                                                       * * ** * ** * ** *                ( 806
                      AW Retrieve block chain information associated with cryptocurrency
                          2
                                                                      dusty
                                                    transaction
                                                                                                                         ?

                          Determine at least one block chain cryptoidentifier fromWA the
                                                    WS
                                                                     block chain information
                                                                    Wood                  9     .   90

                                                                                                                                                              810
                              Compare the block chain cryptoidentifier and the stored
                                                           cryptoidentifier in                           XITOY
                                                                                                                  3

                                                       Determine
                                       whether the block chain cryptoidentifier
                yht
                                   and the stored cryptoidentifier associated with one
   WAHA                                                          of the plurality of user profiles
                                                               Yes
  W

                                                       Determine
                                       whether one of the plurality ofuser profiles is
 WUWASWCASAWU
 W
                      WEVMA
                                                                     associated with user or
                                                                           third party

                          Calculate a first factor score based at least in part upon the
                                                                                        wenn816                        * * * * **

                                                                 transaction history of the user                                                         ST

                          Calculate a second factor score based at least in part upon                        ho
                      w

Wwwwvv                                                                        the user IP address
U . S . Patent                         Apr . 30 , 2019                   Sheet 9 of 16                 US 10,275,772 B2

                                          3            MIVVY

                                          han
                                                                                                       WWW

                                                               SA

                                                   Determine sammensamma 822
                                     Whether cryptocurrency transaction
       * * * * ** *

                                     is suspicious based at least in part
                                             upon the user profile
                      *   ** *                  4999
                                                          Yes
                          Communicate an alert to the enterprise that the cryptocurrency          38    ?

                                           transaction is suspicious                              WWW

                                                                                 WANN44       W

                                 Communicate an alert to the user that cryptocurrency
                                                       transaction is su                  U

                                                                             Y      *

                                                                    BA
U . S . Patent                                            Apr . 30 , 2019                               Sheet 10 of 16                                           US 10 ,275,772 B2

                                                                                                                           25

                                                                                                        Start
                                                                                                                                                                           woment902
                                                                              C
                                                                                            transaction with third party
                                                                                            AY
                                                                                                          its
                                                                                                                12
                                                                                                                            1 mama
                                                                                                                                                        WYWITY    * **

                                           Identify block chain factor based on block chain information
                                       AND steun
                                                                                          eneminense on o908
                                                                    Determine morënmannamm.momsoni
                                     whether block chain factor includes customer
                              WOOOOOOOOOOO           IP address?

          wwwwyr                                      Determine location associated with customer IP address
                                             * * ** * * * * * * YYYYYY

                                             WOONY
                                                                          *
                                                                                                                08

                                                                   Calculate factor score for customer IP address
                                                                                                                     w

                                                                                                                                           W
                                                                                                                                     wwwwwwwww

                                                                                    Determine nemmenommen 914                                                                 Og
          v
                                                                  whether block chain factors include third party
                                                                                   IP address?

                                                                                                                                                                                       Avwwwwww
                                                                                  * * * *        4vYy                                      44           VYV

                                                     Determine location associated with third party IP address
                   M          AMAAN

                                             Calculate factor score for third partyRaument.are IP address based on location
                       xrWV                                associated with third party IP address        1

                                                                               Determine
                                                          whether block chain factors
                                                                                 key ?
                                                                                      include third party public     and
                                                                                                                                w

                                                                                                                                               .                    au

       VrywwLNWA                      0000

                                                WYSY
                                                                         ISUU
                                                                                                    Yes
                                                                                                    associat
                                                                                                                ??????

                                                                  Calculate factor score for third party public key
                                                                              *
                                                                                                                           ar   F
                                                                                                                                     GER

                                                                                                                                                   kh
                                                                                                                                                                 VY
                                                                                                                                                                         ... 922

                                                                                                                                                                           pm926
U . S . Patent                  Apr. 30, 2019                      Sheet 11 of 16                                   US 10,275,772 B2

                               Determine a factor score for other block chain factors             9

                                                                                                                                   930
                       21
                                                         Currency associated withTE
                                                                                                 urrencytransaction
                                                                                                            D
                                                                                                                        A
                                                                                                                            LA

                  *WWW
                                *
                                                                                                                                 mm.932
                                                                   1                                                1

                                                          Determine                 934
                                whetherwion the transaction is approved based on the risk
                                    FU

                                                                 Score  ?
                                                                   Deboren
                                             VNAVY
                                                                                                                                   936
                    Communicate to customer and third party that transaction is approved
                               1987          1264
                                               2 .
                                             COM                       VE
                                                                            SS        RE
                                                                                       ADOR

                  Communicate to customerand third party that transaction is not approved
                                                                                      WW
                                                                                                                4

                                                                                                                AM
                                                                                                                        X
                                                                                                                            1

         RO
                                                                                                      940
                            whether the risk score indicates suspicious activity by the
                                                               third party ?               ooooo
              W     AAR GREY

                   Communicate a notification to the customer that the risk score indicates
                                                     3
                                                                                                       An

                                         $                                             ot
                                                                                           tra
                                             YOO                                 L

                                                                 FIG . 9
U . S . Patent                         Apr . 30 , 2019                                                 Sheet 12 of 16                                                     US 10 ,275,772 B2

                                                         WWYW                                 NY

                                                  (                   Start         )
                                                                                                                                                                                       1002
         1                                                   Store customer profile
                                                                               1

                                                                              9000W
                                                                                                   A
                                                                                                         or

                                                                                                                                                 WYNWY

                          Receive request to perform cryptocurrency transaction

                                                                                   transaction                S            ot             S

                                       www                                          1008
         Determine type of cryptocurrency ON
             1      931
                                             involved in cryptocurrency transaction
                                                                       Chei            31

                                            ww    * * * * ** * * * *                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 atleast in part upon the                                                                                                 60
                                                              customer IP address
                                                                                                                  WWWWWM                  WW *       V       **   Urt *

                 Determine trustworthiness of customer based on customer profile
                            21
                                    600W
                                                                                              en
                                                                                                                              MAX
                                                                                                                                                 W            !
                                                                                                                                                              NO

                          1 . se                                   yun                                                                                                                 1016
                               Calculate risk score for cryptocurrency transaction
                                                                                                                                                                                 -- 1018
                                   Compare risk score to at leastone threshold
                                                                                                                                                             PAIX
                                                                                                                                                                                       1020
                                           Suwa                                                                             WICART   To
                                                                                                                                                         *
                                                                                                                                                                            *

                                                            DO

                                                                                                                                                                                 - 1022
                          Receive number ofvalidations from plurality ofminers                                                                                             XWE

     W       A44499ULLY

         Compare number ofreceived validations to number ofrequired validations                                   w

                                                                                      Roser
U . S . Patent              Apr. 30 , 2019                           Sheet 13 of 16                    US
                                                                                                       US 10
                                                                                                          10 ,,212
                                                                                                               275 ,772 B2

                                        Determine
                Whether number of received validations complies with number
                                 of required validations ?
                                               ANALA
                                                       Yes                                                    7028
                      i        MA   ta         SA
                                                                 TYTT

            1        41EW                                * * *   2
                                                                                                               031
         Send notification
                   UMU     to customer and third party that cryptocurrency           my

           VO
                                         transaction is not confirmed                     som   over

                                                                                                              1032
         Communicate request to customer to retransmit cryptocurrency
                 W

                                                                        AS ,

                                                          End           0000   ins

                                                         FIG . 10
                                                    boco(r Contd )
  atent                      Apr. 30 , 2019                 Sheet 14 of 16                US 10,275, 772 B2

       Receive an
  Blectronic requestto
   store a private key

                   www                                                                           man1108
     Generate a first                                      Apply a v 1106
    vault key based'at                       VY
                                                      hash algorithm      Yes   my
                                                                                         algorithm to first
    least in part upon
     the private key
                                                  *   RY

                             71110
                                1
   Generate a second
    vault key based at
                                                          Apply a      1112
                                                      hash algorithm to Yes                 Apply hash
   least in part upon                                 the second vault model moment...non algorithm to second
      the private key                                       key?

        B
                                1 Dimanche
       Facilitate the
            Wind

   storage of the first
    Vault key ata first
       data center       >

      Facilitate the
VUXENOVA Second vault key at
     storage of the
                                                           End
 a second data center                                                                              weams
                                                                   11
U . S . Patent         Apr . 30 , 2019                          Sheet 15 of 16          US 10 ,275,772 B2

                                                        1202
                 Receive a request to 90000
                 deposita 2
                          quantity of
                 cryptocurrency into
                    a user account px

                                                      -> 1204
                     Associate the
                            3
                                   h

                            FAO elyre   UU   Wy   A

                   the user account

                                                        1206
                 Deposit the quantity        A

                    of cryptocurrency
                 into a vault connected
                      to a network

                                   mm

                        Does the 1208
                     totalquantity of No
                                                                               YURAN

                               *
                                   1                        YAVY

                        q

                      Disconnect
                                                      n 1210
                                                                   Wwwwwwwww           .1200
U . S . Patent                          Apr . 30 , 2019          Sheet 16 of 16           US 10 ,275,772 B2

          tre
                                    pa 1302
              Receive
           communication
         from an electronic
          payment service
                               ...     7304
     Determine that the
                 be

          user initiated
                Wys      a
    hh
           requestfora
                 .

     .

            configured to  2

                       7 gareth 1
             of currency
                                    peu 1306
                Validate the
    financial transaction
     based at least upon
     data received from
        the electronic                                                                  p . 7300
      payment service
                                    prown 1308
                                                             Ende   WW

     Determine the user
         account is
     associated with the                                  Transfer the
       virtual account
     based at least upon                              cryptocurrenc
     data received from
            the electronic
         payment service cruz
                      04                 3
                                                                            13121               din 1314
    Determine a quantity                                  Does the
     of Cryptocurrencytugor                       Quan DIGINOCUINO TAMAN Y es I Purchase
                                                                                    of
                                                                                             the deficit
                                                                                       cryptocurrency
      equivalent to the                             exceed a tola quantity        from a cryptocurrency
     amount of currency                            associated with the user             exchange
                                                          account?                                   YU

                                                                                          SEK
                                                        US 10 ,275,772 B2
         CRYPTOCURRENCY RISK DETECTION                                 associated with the cryptocurrency transaction . The proces
                            SYSTEM                                     sor is also operable to determine whether one of the plurality
                                                                       of user profiles is associated with the user based at least in
                    TECHNICAL FIELD                                    part upon the retrieved block chain information and at least
                                                                       one stored cryptoidentifier associated with one of the plu
   This invention relates generally to cryptocurrency trans            rality of user profiles . The process may be further operable
action , and more specifically , to a cryptocurrency risk detec        to determine whether one of the plurality of user profiles is
tion system .                                                          associated with the third party based at least in part upon the
                                                                       retrieved block chain information and the at least one stored
                      BACKGROUND                            10 cryptoidentifier associated with one of the plurality of user
                                                               profiles and determine whether the cryptocurrency transac
   Enterprises may handle a large number of financial trans    tion is suspicious based at least in part upon the associated
actions on a daily basis. As technology advances , financial user profile. Finally, the processor is operable to communi
transactions involving cryptocurrency have become more         cate an alert to the enterprise regarding whether the cryp
common . For some enterprises, it may be desirable to 15 tocurrency transaction is suspicious.
calculate the risk for performing a cryptocurrency transac        In some embodiments , a system may include a memory
tion .                                                                 and a processor. The processor is operable to receive a
                                                                       request from a customer to perform a cryptocurrency trans
                          SUMMARY                            action with a third party and retrieve block chain informa
                                                          20 tion associated with the cryptocurrency transaction . The
   According to embodiments of the present disclosure , 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 25 chain information and the amount of cryptocurrency . The
receive an electronic request to store a private key associated        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 30 may be operable to determine whether the risk score indi
facilitate the storage of the first vault key at a first data center   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 35 a memory and a processor. The processor is operable to
a customer and a processor communicatively coupled to the 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 40 to confirm the cryptocurrency transaction based at least in
cryptocurrency into a vault connected to a network and 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 of miners
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 45 further operable to determine whether the number of
vault from the network .                                           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- 50 the third party that the cryptocurrency transaction is not
ated with the customer and determine that the customer                 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 55 a processor. The memory may store a customer account
upon data received from the electronic payment service and 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, 60 an electronic request for a currency exchange from the
the quantity of cryptocurrency associated with the customer            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.                                            processor may 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 65 exchange rate , the processor may cause the system to
request from a user to perform a cryptocurrency transaction            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
                                                    US 10 ,275 ,772 B2
account. The processor may also cause the system to transfer        tion resources consumed by correcting erroneous cryptocur
the first amount of the first currency into the first float          rency transaction after completion .
account and determine a second amount of the second                     Furthermore , in some embodiments , the system is able to
currency . The processor is further able to associate the            conserve network and computing resources by securely
second amount of the second currency with the second float 5 storing information associated with cryptocurrency and pre
account and transfer the second amount of the second                 venting potential malicious activity involving such informa
currency to the customer.                                            tion , conserving bandwidth , memory , and computation
   In a further embodiment, a system comprises a memory              resources .
operable to store a set of conversion rules . The system also           As another example , in at least one embodiment, energy
comprises a processor that may be communicatively coupled 10 and power consumption is conserved and security is
to the memory and may cause the system to receive an                 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 15 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              A s 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 ,275 ,772 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 ,275 ,772 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.                    include an ad hoc network , an intranet, an extranet, a VPN ,
   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 ,275 ,772 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 .                                              in the instruction caches may be copies of instructions in
   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 ,275 ,772 B2
                                                                                                   12
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 ,275,772 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 ,275 ,772 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 ,275,772 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 ,275 ,772 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 ,275 ,772 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                tution operated by an enterprise . As a result, an amount of
prise , financial institution , or any other entity that may have        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            On is
                                                                      15 Device 110 may communicate 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 .
  In some embodiments, a float account 204 includesas aa total
                                                         total 3030 For example , aggregation engine 222 may determine an
                                                                    approximately equivalent value of the amount of cryptocur
amount of cryptocurrency (in one or more cryptocurrencies )         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 amount of cryptocurrency          .
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 ,275 ,772 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 ,275,772 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 .                                                      55 instrument to provide customer 102 with electronic access to
  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 ,275 ,772 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
rency for an approximately equivalent quantity of crypto -           mine block chain cryptoidentifiers . In certain embodiments ,
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 ,275 ,772 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,