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

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

Patents

2

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.

chain cryptoidentifier and the stored cryptoidentifier asso
which may include both fiat and cryptocurrency transac -            ciated with one of the plurality of user profiles match , then
tions . According to some embodiments , such transactions           alert engine 230 may determine whether one of the plurality
may be stored in transactions 208 . In some embodiments , 60 of user profiles is associated with the user or the third party
not every possible user or third party has a stored user           based on the retrieved block information and stored cryp
profile .                                                           toidentifiers associated with one of the plurality of user
   Alert engine 230 may receive a request from a user to           profiles. In certain embodiments, alert engine 230 may
perform a cryptocurrency transaction with a third party . determine that the user is a customer of the enterprise based
Examples of cryptocurrency transactions include making a 65 at least in part upon determining a block chain cryptoiden
purchase , transferring money from an account, and trans - tifier and a stored cryptoidentifier associated with one of the
ferring money to an account. In some embodiments , the user         plurality of user profiles are a match . In certain embodi
                                                    US 10 ,275 ,772 B2
                              31                                                                  32
ments, alert engine 230 determines that the third party is a        associated with this user profile ) utilizes an IP address that
transactor of the enterprise . For example , alert engine 230       reflects a location in another state or country, then the second
may determine that the third party receiving the cryptocur-         factor score may increase because the requesting user IP
rency transaction is the night manager at a restaurant              address does not match the user profile IP address .
because the third party utilizes public key " examplepub - 5          Alert engine 230 may also calculate a risk score for the
lickeyl” and the nightmanager at a restaurant utilizes public       user profile based at least in part upon the first factor score
key " examplepublickey1.” As another example, a customer            and the second factor score . In certain embodiments , alert
of the enterprise may request the cryptocurrency transaction        engine 230 calculates a risk score for the user profile based
without logging into the customer ' s enterprise account. at least in part upon the first factor score and / or the second
Thus , the enterprise may not initially recognize who the 10 factor score . For example , if alert engine 230 determines a
customer is. However, once determining the public key of high second factor score because of a suspicious IP address ,
the user , alert engine 230 may determine the user is a           then alert engine 230 may determine a high risk score . As
specific customer, transactor, or known party of the enter        another example , if alert engine 230 determines a low first
prise .                                                           factor score because there are no or very few large transac
   If alert engine 230 determines that one of the plurality of 15 tions in the transaction history of the user profile , then alert
user profiles is not associated with the user or the third party    engine 230 may calculate a low risk score .
based on the retrieved block information and stored cryp              Next, alert engine 230 may determine whether a crypto
toidentifiers associated with one of the plurality of user          currency transaction is suspicious based at least in part upon
profiles, then the method ends . If alert engine 230 deter -      the user profile . In some embodiments, alert engine 230
mines that one of the plurality of user profiles is associated 20 determines the cryptocurrency transaction is suspicious
with the user or the third party based on the retrieved block      based on at least one of the first factor score , second factor
information and stored cryptoidentifiers associated with one        score , and risk score . For example, if the risk score is high ,
of the plurality of user profiles, then alert engine 230 may        it may indicate the user or third party associated with the
calculate a first factor score based at least in part upon the user profile has engaged in potentially fraudulent transac
transaction history of the user profile associated with either 25 tions and thus makes it more likely that the current requested
the user requesting the transaction or the third party in the       transaction may also be suspicious. Alert engine 230 may
transaction . In some embodiments, the transaction history   compare the risk score to one or more thresholds to deter
may include the entire transaction history of a user or may mine whether the transaction is suspicious . For example , if
include only certain transactions . For example, the transac the risk score is 50 , alert engine 230 may determine it is
tion history may include only transactions over a certain 30 higher than the threshold of 20 and thus alert engine 230
 amount of cryptocurrency. As another example , the trans -         determines the transaction is suspicious.
action history may include only transactions within a certain         If alert engine 230 , determines the cryptocurrency trans
timeperiod , such as transactions that occurred within the last     action is not suspicious based at least in part upon the user
one month , the last one year, or the last five years .             profile , then the operation of alert engine 230 may conclude .
   The first factor score may be associated with the poten - 35 If, however, alert engine 230 determines the cryptocurrency
tially suspicious or seemingly fraudulent past transactions         transaction is suspicious based at least in part upon the user
associated with the user profile . In some embodiments ,            profile , then alert engine 230 may communicate an alert to
suspicious transactions, such as a high value transaction of        the enterprise that the cryptocurrency transaction is suspi
1000 units of cryptocurrency , may indicate a higher risk of        cious . In some embodiments, alert engine 230 communi
fraudulent activity and thus increase the first factor score . In 40 cates an alert whether the cryptocurrency transaction is
some embodiments, alert engine 230 determines the pattern           suspicious based on the third party ' s association with a
of spending based on the transaction history and is able to        suspicious user profile or the requesting user 's association
determine if the current transaction is a common transaction       with a suspicious user profile . In certain embodiments , the
or an abnormal one compared to the transaction history . For       alert may include a notification that the cryptocurrency
example , if the user associated with the user profile regularly 45 transaction may not be completed based on the suspicious
transmits 1000 units of cryptocurrency on a weekly basis,          ness of the cryptocurrency transaction . Alert engine 230 may
then alert engine 230 may determine the requested transac -        also allow the transaction to be completed , but associate a
tion of 1000 units of cryptocurrency indicates a lower risk of     " flag " or other warning with the user profile associated with
fraudulent activity and thus decreases the first factor score .    either the third party or the requesting user in certain
  Next, alert engine 230 may calculate a second factor score 50 embodiments .
based at least in part upon the user profile IP address . In          Alert engine 230 may then communicate an alert to the
some embodiments , alert engine 230 determines a location           requesting user that cryptocurrency transaction is suspicious
associated with the user profile IP address. In some embodi-       based on the user profile associated with the third party . In
ments, the determined location may be a physical address,           certain embodiments, the requesting user may be a trusted
GPS coordinates , a city , a state , or a country . In some 55 customer 102 of the enterprise and alert engine 230 may
embodiments, the second factor score may increase for a        warn customer 102 of the risk in transaction with this third
location associated with high risk and decrease for a location      party.
associated with low risk , depending on the circumstances            Enterprise cryptocurrency server 130 may include cryp
associated with customer 102 . For example , if alert engine tocurrency risk detection engine 232 . Generally , risk detec
230 determines the location is a country , and that country is 60 tion engine 232 determines the amount of risk associated
commonly associated with fraudulent IP addresses, then the         with a cryptocurrency transaction . More specifically, alert
second factor score may increase. In some embodiments ,            engine 230 may be any software , hardware, firmware, or
alert engine 230 may compare the requesting user IP address         combination thereof capable of determining the risk asso
from the block chain information and the user profile IP           ciated with a cryptocurrency transaction and , based on the
address to calculate the second factor score . For example , if 65 determined risk , determining either that there is potentially
the user profile IP address is associated with a particular suspicious activity by a third party or that the transaction is
state , but requesting user (which was determined to be             approved because there is little risk associated with the
                                                    US 10 ,275 ,772 B2
                              33                                                                  34
cryptocurrency transaction. In some embodiments, crypto - IP address , a third party IP address , a customer public key ,
currency risk detection engine 232 may be a set of instruc- a third party public key, an age of the customer public key,
tions stored in memory 202 that may be executed by an age of a third party public key , or an age of the
processor 201.                                                cryptocurrency . The block chain information may comprise
   Cryptocurrency risk detection engine 232 may detect risk 5 one , some, or all of these block chain factors.
associated with a cryptocurrency transaction and provide              Cryptocurrency risk detection engine 232 then determines
various notifications based on the detected risk . In certain       whether the at least one block chain factor identified
embodiments , cryptocurrency risk detection engine 232              includes a customer IP address . The customer IP address
calculates a risk score (e . g ., based on customer history ,       may be associated with customer 102 of the enterprise . If the
account balance , and type of potentially suspicious activity ) 10 at least one block chain factor includes a customer IP
for performing the cryptocurrency transaction and deter -           address , then cryptocurrency risk detection engine 232
mines whether the transaction is approved based on that risk        determines the location associated with the customer IP
score . An example of a notification that cryptocurrency risk       address . In some embodiments , the determined location may
detection engine 232 may communicate is a notification to           be a physical address, GPS coordinates, a city, a state , or a
the customer or the third party whether the transaction is 15 country . Next, cryptocurrency risk detection engine 232
approved or not. Cryptocurrency risk detection engine 232           calculates a factor score for the customer IP address based at
may also determine whether the risk score indicates poten -         least in part upon the location associated with the customer
tially suspicious activity by the third party and , if so , may     IP address. In some embodiments , the factor score may
notify the customer of the potentially suspicious activity.         increase for a location associated with high risk and decrease
   Cryptocurrency risk detection engine 232 may receive a 20 for a location associated with low risk , depending on the
request from a customer 102 to perform a cryptocurrency             circumstances associated with customer 102 . For example , if
transaction with a third party and retrieve block chain         cryptocurrency risk detection engine 232 determines the
information associated with the transaction . In certain        location is a country, and that country is frequently associ
embodiments, cryptocurrency risk detection engine 232           ated with fraudulent transactions , then the factor score may
identifies block chain factors from the block chain informa- 25 increase . As another example , if it is known that customer
tion and determines whether any block chain factors include,    102 resides in one state , but the IP address reflects a location
for example , a customer IP address , a third party IP address, in another state or country , then the factor score may
or a third party public key . If any block chain factors include    increase because customer 102 is not in the normal location .
this information , cryptocurrency risk detection engine 232            Cryptocurrency risk detection engine 232 may then deter
may calculate factor scores for these and any other block 30 mine whether the at least one block chain factor previously
chain factors. For example, cryptocurrency risk detection    identified includes a third party IP address . The third party
engine 232 may determine the location associated with the    IP address may be associated with third party . If the at least
IP addresses and calculate a factor score for the IP address        one block chain factor includes a third party IP address , then
based on the associated location . Also , cryptocurrency risk       cryptocurrency risk detection engine 232 determines the
detection engine 232 may retrieve and review any transac - 35 location associated with the third party IP address. In some
tion history (such as transactions 208 ) associated with the        embodiments , the determined location may be a physical
third party public key and calculate a factor score for the         address , GPS coordinates , a city , a state , or a country.
public key. Cryptocurrency risk detection engine 232 may            Cryptocurrency risk detection engine 232 may also calculate
also determine the amount of cryptocurrency associated with         a factor score for the third party IP address based at least in
the cryptocurrency transaction . In certain embodiments , 40 part upon the location associated with the third party IP
cryptocurrency risk detection engine 232 calculates the risk        address . In some embodiments, the factor score may
score based at least in part upon the factor scores and the         increase for a location associated with high risk and decrease
amount of cryptocurrency associated with the cryptocur              for a location associated with low risk , depending on the
rency transaction .                                                 circumstances. For example, if cryptocurrency risk detection
   The operation of enterprise cryptocurrency server 130 , 45 engine 232 determines the location is to a certain restricted
with respect to risk detection engine 232 , will now be         country , and the enterprise is subject to restrictions that it
discussed . Enterprise cryptocurrency server 130 may receive    cannot receives funds or send funds to the restricted country ,
a request from customer 102 to perform a cryptocurrency         then the factor score may increase .
transaction with a third party . To do so , enterprise crypto -   Next, cryptocurrency risk detection engine 232 may
currency server 130 may use cryptocurrency risk detection 50 determine whether the at least one block chain factor iden
engine 232 to receive the request over network 120 via links        tified previously includes a third party public key . If cryp
116 . In some embodiments , the request may be initiated by         tocurrency risk detection engine 232 determines the at least
customer 102 through an enterprise application on device one block chain factor identified in step 906 includes a third
110 . In some embodiments, the request may be initiated by party public key , then it retrieves the transaction history
customer 102 utilizing a bank card , such as a debit card or 55 associated with the third party public key . In some embodi
credit card , when making a purchase . Examples of crypto -         ments , cryptocurrency risk detection engine 232 may
currency transactions include making a purchase, transfer -         retrieve the transaction history from transactions 208 stored
ring money from an account, and transferring money to an            in the enterprise cryptocurrency server 130 . In other embodi
account. In some embodiments, the third party may be a ments , cryptocurrency risk detection engine 232 may
second customer 102 of the enterprise , a merchant, a retailer, 60 retrieve the transaction history from a source outside the
a person outside enterprise , an account outside the enter -       enterprise , such as the third party enterprise server 150 or the
prise , or an account with an unknown owner.                       internet. Cryptocurrency risk detection engine 232 may also
  Cryptocurrency risk detection engine 232 may retrieve             review the transaction history associated with third party
block chain information associated with the cryptocurrency          public key . In some embodiments, the review may include
transaction and identify at least one block chain factor based 65 the transaction history of other public keys located in the
at least in part upon block chain information . In some             same wallet as the third party public key . In some embodi
embodiments , a block chain factor may comprise a customer          ments, the review includes the entire transaction history or
                                                    US 10 ,275 ,772 B2
                              35                                                                 36
only certain transactions. For example , cryptocurrency risk        based at least in part upon the block chain information and
detection engine 232 may review only transactions over a             the amount of cryptocurrency . The risk score may be cal
certain amount of cryptocurrency. As another example , the           culated in a number of suitable ways . In some embodiments ,
review may include only transactions within a certain time           the risk score increases as the amount of cryptocurrency
period , such as transactions that occurred within the last one 5 increases assuming that the larger the transaction the higher
month , the last one year, or the last 5 years .                  the risk of a fraudulent transaction . For example , if the
  Next, cryptocurrency risk detection engine 232 calculates          transaction is for 2 million units of cryptocurrency , rather
a factor score for the third party public key based at least in      than 10 units of cryptocurrency , then the risk score may
part upon the transaction history associated with the third          increase . In some embodiments, the risk score will be based
party public key . The factor score may be associated with the 10 at least in part upon the factor scores for the at least one
suspicious or seemingly fraudulent past transactions asso -         block chain factor. For example , cryptocurrency risk detec
ciated with the third party public key. In some embodiments ,        tion engine 232 may add all of the factor scores up to
suspicious transactions, such as a high value transaction of         determine the overall risk score . In some embodiments ,
 1000 units of cryptocurrency , may indicate a higher risk of        cryptocurrency risk detection engine 232 may weight each
fraudulent activity and thus increase the factor score . In 15 of the factor scores depending on the importance to risk of
some embodiments , cryptocurrency risk detection engine        fraud . For example , there may be a high concern related
232 determines the pattern of spending based on the trans            foreign IP addresses and thus cryptocurrency risk detection
action history and is able to determine if the current trans -       engine 232 may weight that factor score by two when
action is a common transaction or an abnormal transaction            calculating the risk score . In some embodiments , cryptocur
as compared to the transaction history. For example, if the 20 rency risk detection engine 232 determines the average of all
third party public key regularly transmits 1000 units of             of the factor scores in calculating the risk score . In some
cryptocurrency on a weekly basis, then cryptocurrency risk           embodiments , cryptocurrency risk detection engine 232
detection engine 232 may determine the requested transac             calculates an overall factor score and multiples it by the
tion of 1000 units of cryptocurrency indicates a lower risk of amount of cryptocurrency .
fraudulent activity and thus decreases the factor score .     25 Cryptocurrency risk detection engine 232 may then deter
   Cryptocurrency risk detection engine 232 may next deter         m ine whether the transaction is approved based at least upon
mine a factor score for the at least one block chain factor. In      the risk score . In some embodiments, cryptocurrency risk
some embodiments, the at least one block chain factor only           detection engine 232 compares the risk score to a threshold
includes a customer IP address , a third party IP address , and   to determine whether the transaction is approved . For
a third party public key , such that there are no other factor 30 example , if the risk score is above the threshold , then it is not
scores to determine . If the at least one block chain factor         approved and if the risk score is below the threshold then it
includes other block chain factors , for example , an age of the     is approved . In some embodiments, the threshold may
customer public key , an age of the third party public key, or       change depending on the customer, the third party , the type
an age of the cryptocurrency, then cryptocurrency risk               of cryptocurrency , the amount of cryptocurrency, or another
detection engine 232 determines a factor score for each of 35 factor relating to the transaction . For example , if the cus
these other block chain factors . In some embodiments , the          tomer is long -term , important, reliable , or trustworthy, then
factor score for the age of the customer public key and the          the threshold may be set higher and allow the customer to
factor score for the age of the third party public key may           engage in higher risk transactions with a larger risk score .
increase as the age increases and decrease as the age                  If it is determined that the transaction is approved , enter
decreases . For example , a new third party public key may 40 prise cryptocurrency server 130 may communicate to the
indicate a risk of fraudulent activity because a third party         customer and the third party that the transaction is approved .
may have created it only to engage a fraudulent transaction .        To do so , enterprise cryptocurrency server 130 may use
In this example , cryptocurrency risk detection engine 232           cryptocurrency risk detection engine 232 to communicate a
may calculate a high factor score for the age of the third          message indicating that the transaction is approved over
party public key. In some embodiments , an increase in age 45 network 120 via links 116 to customer 102 or the third party .
of the cryptocurrency itself may decrease the factor score for       Alternatively , if the transaction is not approved , then it is
the age of the cryptocurrency . For example , a recently             communicated to the customer 102 and the third party that
created unit of cryptocurrency may have been created                 the transaction is not approved . In some embodiments , these
through fraudulentmeans, and it may indicate a higher risk ,    communications may be delivered to third party enterprise
and thus increase the factor score for the age of the cryp - 50 server 150, device 110, or enterprise cryptocurrency server
tocurrency . Although certain embodiments are described , it    130 . For example , the communication may be in the form of
should be understood that there can be any number of factor          an email associated with the customer' s account and device
scores corresponding to one or more block chain factors .            110 may utilize GUI 114 to display a message that the
  Cryptocurrency risk detection engine 232 may also deter-           transaction is not approved . This communication may also
mine the amount of cryptocurrency associated with the 55 include one or more reasons why the transaction was or was
cryptocurrency transaction . Although different types of             not approved in certain embodiments.
cryptocurrencies use different units of cryptocurrency , cryp -        Next, enterprise cryptocurrency server 130 determines
tocurrency risk detection engine 232 is able to determine the       whether the risk score indicates suspicious activity by the
amount of cryptocurrency in the appropriate unit. In addi-          third party. To do so , enterprise cryptocurrency server 130
tion , cryptocurrency risk detection engine 232 can determine 60 may utilize cryptocurrency risk detection engine 232 . In
fractions of the unit of cryptocurrency. For example , cryp -        some embodiments , cryptocurrency risk detection engine
tocurrency risk detection engine 232 is able to determine the        232 may determine suspicious activity if the risk score is
cryptocurrency transaction includes 1000 Bitcoins, 0 .001            above a certain threshold . For example, if the risk score is
Litecoins , 1 million Namecoins, 7 . 5 Dogecoins, 23 Peer -         below the transaction approval threshold , but above the
coins, or 1 Mastercoin .                                  65 suspicious activity threshold , then cryptocurrency risk
  Next, cryptocurrency risk detection engine 232 calculates  detection engine 232 may determine suspicious activity . As
a risk score for performing the cryptocurrency transaction another example , if the risk score is above the transaction
                                                    US 10 ,275 ,772 B2
                              37                                                                  38
approval threshold , cryptocurrency risk detection engine          score for the cryptocurrency transaction to determine the
232 may determine suspicious activity by the third party . If      number of required validations . In some embodiments , when
cryptocurrency risk detection engine 232 determined that the validation engine 234 receives a request from a customer
risk score does not indicate suspicious activity by the third 102 to perform a cryptocurrency transaction with a third
party , then the operation of cryptocurrency risk detection 5 party, validation engine 234 may determine the amount and
engine 232 may conclude for this task .                            type of cryptocurrency involved in the cryptocurrency trans
   If cryptocurrency risk detection engine 232 determined          action . Also , validation engine 234 may determine the
that the risk score indicates suspicious activity by the third     trustworthiness of the customer based on the customer
party , then enterprise cryptocurrency server 130 communi        profile , including the transaction history of the customer 102
cates a notification to customer 102 that the risk score 10 and the customer IP address. Validation engine 234 may also
indicates suspicious activity by the third party . For example ,   compare the calculated risk score to a threshold and deter
cryptocurrency risk detection engine 232 may communicate
the notification over network 120 via links 116 to device        mine the number of required validations in order to confirm
 110 . In some embodiments, these communications may be the cryptocurrency transaction . Once validation engine 234
delivered to device 110 through the enterprise application . 15 validation
                                                                 receives a number of validations from a plurality ofminers ,
                                                                 req         engine 234 compares the number of receive
For example , the communication may comprise a pop up
notification from the enterprise application displaying a        validations to the number of required validations to deter
message that the risk score indicates suspicious activity by mine whether the number of received validations complies
the third party . In certain embodiments , this communication with the number of required validations .
may also include what the suspicious activity is , the highest 20 Validation engine 234 may provide various notifications
factor score from the block chain factors, or the risk score       regarding the confirmation of the cryptocurrency transac
comparison to the threshold . This communication may also          tion . In some embodiments , if the number of received
include information regarding whether the transaction was          validations complies with the number of required valida
approved . For example , a message may be displayed , using        tions , validation engine 234 sends a notification to the third
GUI 114 , to customer 102 indicating that although the 25 party that the cryptocurrency transaction is confirmed . If the
transaction of receiving 2 Bitcoins from third party was           number of received validations does not comply with the
approved , the third party 's behavior is potentially suspicious   number of required validations , then validation engine 234
because it was delivered from a suspicious country . As            may send a notification to the user ( e . g ., customer 102 ) and
another example , the message may specify that the third           the third party that the cryptocurrency transaction is not
party ' s transaction history includes transactions involving 30 confirmed . If the transaction is not confirmed , validation
over 2000 Litecoins on a daily basis. In some embodiments,         engine 234 may communicate a request to customer 102 to
the notification may include information about why the third       retransmit the cryptocurrency.
party 's activity is potentially suspicious, but also allow           The operation of enterprise cryptocurrency server 130 ,
customer 102 to verify that customer 102 wants to perform          with respect to validation engine 234 , willnow be discussed .
the transactions despite the high risk score and suspicious 35 Enterprise cryptocurrency server 130 may store a customer
activity . After communicating a notification to customer ,        profile associated with customer 102 in memory 202 or
operation for this task may end .                                  customer accounts 203 (which may be stored in 202).
   Enterprise cryptocurrency server 130 may include vali -         Memory 202 and customer accounts 203 may comprise a
dation engine 234 . Generally, validation engine 234 deter-        plurality of customer profiles . In some embodiments, each
mines whether a requested cryptocurrency transaction is 40 customer 102 has one individual customer profile . In some
confirmed based on the risk and number of validations              embodiments , a customer profile contains multiple custom
received . More specifically, validation engine 234 may be         ers 102 with a commonality , such as a common home
any software , hardware , firmware , or combination thereof        address or a common cryptocurrency account. For example ,
capable of calculating a risk of performing a cryptocurrency       a mother and a daughter may have a single joint cryptocur
transaction , determining the number of required validations 45 rency account with the enterprise and thus the customer
to confirm the cryptocurrency transaction , and notifying a        profile may include information regarding both the mother
customer 102 and a third party whether the transaction is          and her daughter. In some embodiments , customer profile
confirmed . In some embodiments , validation engine 234            comprises information associated with the customer, includ
may be a set of instructions stored in memory 202 that may ing, but not limited to , a customer name, a customer address ,
be executed by processor 201.                               50 one or more customer public cryptocurrency keys, one or
  Using information regarding the parties to the cryptocur - more customer IP addresses , one or more customer crypto
rency transaction and information regarding the transaction        currency wallets , and a cryptocurrency transaction history .
itself, validation engine 234 determines whether a requested         Next, validation engine 234 may receive a request to
cryptocurrency transaction is confirmed . Validation engine        perform a cryptocurrency transaction with a third party .
234 determines the number of required validations to con - 55 Examples of cryptocurrency transactions include making a
firm the requested cryptocurrency transaction . In order to     purchase , transferring money from an account, and trans
determine whether the transaction is confirmed , validation      ferring money to an account. In some embodiments, the
engine 234 receives a number of validations from a plurality    request may be initiated by customer 102 through an enter
of miners and compares the number of validations to the prise application on device 110 . For example , customer 102
number of required validations . In certain embodiments , if 60 may use device 110 to request to transfer funds from a
the number of received validations complies with the num -         cryptocurrency account to a third party on device 110 . In
ber of required validations, then the cryptocurrency trans-        some embodiments , the request may be initiated by cus
action is confirmed . If the number of received validations    tomer 102 utilizing a cryptocurrency bank card , such as a
does not comply with the number of required validations,       debit card or credit card , when making a purchase . For
then the cryptocurrency transaction is not confirmed .      65 example , customer 102 may be using a cryptocurrency debit
  In addition to determining whether the transaction is            card to purchase a basketball from a third party ' s website ,
confirmed , validation engine 234 may also calculates a risk       such as a sporting goods store. In some embodiments , the
                                                    US 10 ,275 ,772 B2
                               39                                                            40
third party may be a merchant, a retailer, a business , a person of cryptocurrency indicates a lower risk of fraudulent activ
outside the enterprise , or an account outside the enterprise . ity and thus decreases the first factor score .
   Validation engine 234 may then determine the amount of           Validation engine 234 may also calculate a second factor
cryptocurrency involved in the cryptocurrency transaction . score based at least in part upon the customer IP address. In
Although different types of cryptocurrencies use different 5 some embodiments , validation engine 234 determines a
units of cryptocurrency, validation engine 234 may able to location associated with the customer IP address. In some
determine the amount of cryptocurrency in the appropriate embodiments , the determined location may be a physical
unit . In addition , validation engine 234 may determine address         , GPS coordinates, a city , a state , or a country . In
fractions of the unit of cryptocurrency . For example, vali
dation engine 234 is able to determine the cryptocurrency 101asome embodiments, the second factor score may increase for
                                                                location associated with high risk and decrease for a
transaction includes 1000 Bitcoins, 0 .001 Litecoins, 1 mil  location associated with low risk , depending on the circum
lion Namecoins, 7 .5 Dogecoins , 23 Peercoins, or 1 Master   stances associated with customer 102. For example , if
coin . In certain embodiments, a cryptocurrency transaction
may include a plurality of types of cryptocurrency and       validation  engine 234 determines the location is a country,
validation engine 234 determines the amount of each indi- 15 and that country is commonly associated with fraudulent IP
vidual cryptocurrency . For example , validation engine 234       addresses, then the second factor score may increase. As
may determine a cryptocurrency transaction involves 1             another example , if it is known that customer 102 resides in
Bitcoin , 2 Dogecoins, and 0 .001 Mastercoins. Validation         one state , but the IP address reflects a location in another
engine 234 may also determine exchange rates between the          state or country , then the second factor score may increase
types of cryptocurrencies, such that it can determine an 20 because customer 102 sends a request to transfer funds from
objective amount of total cryptocurrency involved in the    an abnormal location for customer 102 .
transaction . For example, validation engine 234 may deter-         Next, validation engine 234 determines the trustworthi
mine a cryptocurrency transaction involving 1 Bitcoin , 2         ness of customer 102 based at least upon the stored customer
Dogecoins , and 0 .001 Master coins is equivalent to 5 profile . In certain embodiments, the trustworthiness may be
Litecoins.                                            25 stored in the customer profile . The enterprise may have
  Next, validation engine 234 may determine the type of           previously determined that customer 102 is trustworthy
cryptocurrency involved in the cryptocurrency transaction         because , for example , customer 102 has a long history as a
For example , validation engine 234 may determine that only       customer of the enterprise and the enterprise has experi
Bitcoins are involved in the requested transaction . In certain   enced no issues with the accounts or activities of customer
embodiments , validation engine 234 determines that mul- 30 102 . Also , validation engine 234 may determine the trust
tiple types of cryptocurrency are involved in the cryptocur -     worthiness of customer 102 based at least in part upon the
rency transaction . For example , validation engine 234 may       first factor score and/ or the second factor score . For
determine that the transaction includes two types of cryp -       example , if validation engine 234 determines a high factor
tocurrencies, but does not specify which types of cryptocur-      score because of a suspicious IP address , then validation
rency . In certain embodiments , validation engine 234 deter - 35 engine 234 may determine that customer 102 is not trust
mines the specific type of cryptocurrencies involved in the       worthy. As another example , if validation engine 234 deter
transaction . For example, validation engine 234 may deter-       mines a low first factor score because there are no or very
mine that the transaction includes Peercoins and Dogecoins,     few large transactions in the transaction history of customer
or that the transaction includes Bitcoins , Dogecoins , and     102 , then validation engine 234 may determine customer
Mastercoins.                                                 40 102 is trustworthy. In some embodiments, the trustworthi
   Validation engine 234 may also calculate a first factor ness of customer 102 may be represented by a sliding scale ,
score based at least in part upon the transaction history of a number, a checkmark , a yes , a no , or a verbal qualifier such
customer 102 . In some embodiments , the transaction history    as very , incredibly , not, not very , or not at all.
may include the entire transaction history of customer 102 or       V alidation engine 234 may also calculate a risk score for
may include only certain transactions. For example , the 45 the cryptocurrency transaction based at least in part upon the
transaction history may include only transactions over a          amount of cryptocurrency , the type of cryptocurrency , and
certain amount of cryptocurrency. As another example, the         the trustworthiness of the customer. The risk score may be
transaction history may include only transactions within a        calculated in a number of suitable ways . In some embodi
certain time period , such as transactions that occurred within ments , the risk score increases as the amount of cryptocur
the last one month , the last one year, or the last 5 years. In 50 rency increases assuming that the larger the transaction the
certain embodiments, the transaction history of customer higher the risk of a fraudulent transaction . For example , if
102 may include only transactions from a certain public key, the transaction is for 2 million units of cryptocurrency , then
transactions from one or more public keys contained in the the risk score will increase .
same wallet, or a combination of these transactions. The first       In some embodiments , the risk score may be based upon
factor score may be associated with the suspicious or 55 the type of cryptocurrency . For example , Litecoin may be
seemingly fraudulent past transactions associated with cus-       more likely to involve a fraudulent transaction , while Doge
tomer 102. In some embodiments, suspicious transactions,          coin may be less likely to involve a fraudulent transaction .
such as a high value transaction of 1000 units of cryptocur-      Thus, if validation engine 234 determines that the crypto
rency , may indicate a higher risk of fraudulent activity and     currency transaction involves Litecoin , then the risk score
thus increase the first factor score . In some embodiments , 60 may increase , but if the cryptocurrency transaction involves
validation engine 234 determines the pattern of spending        Dogecoin , then the risk score may decrease . As another
based on the transaction history and is able to determine if       example , a “mixed ” cryptocurrency transaction that includes
the current transaction is a common transaction or an             multiple types of cryptocurrency , for example 1 Bitcoin and
abnormal one compared to the transaction history . For            2 Litecoins may indicate an increase in the risk of a
example , if customer 102 regularly transmits 1000 units of 65 fraudulent transaction . Thus, if validation engine 234 deter
cryptocurrency on a weekly basis , then validation engine         mines the cryptocurrency transaction is a “mixed ” crypto
234 may determine the requested transaction of 1000 units          currency transaction , then the risk score may increase .
                                                      US 10 ,275 ,772 B2
   In certain embodiments , the risk score may decrease if           currency transaction over network 120 via links 116 . Upon
customer 102 is trustworthy . For example, if the amount and         doing so , the operation may end .
type of cryptocurrency creates a high risk score , but vali -          In some embodiments, sending a notification to the third
dation engine 234 determines customer 102 is incredibly              party may simplify the process of third parties accepting
trustworthy, then validation engine 234 may lower the risk 5 cryptocurrency as payment from                   customer 102 . For
score associated with the cryptocurrency transaction . As            example , validation engine 234 sending a notification to the
another example , if validation engine 234 determines cus            third party that the cryptocurrency transaction is confirmed
tomer 102 is only moderately trustworthy, then the risk score        does notrequire that the third party determine the number of
may neither increase nor decrease .                                  validations itself. If validation engine 234 determines that
   In some embodiments, validation engine 234 may weight 10 the number of received validations does not comply with the
each of the factors contributing to the risk score depending         number of required validations then validation engine 234
on the importance to risk of fraud . For example , it may be         may send a notification to customer 102 and the third party
known by validation engine 234 that the amount of the                that the cryptocurrency transaction is not confirmed . In some
cryptocurrency transaction is the biggest factor contributing     embodiments , validation engine 234 may transmit the noti
to whether the transaction is likely fraudulent. Thus valida - 15 fication to third party enterprise server 150. Validation
tion engine 234 may more heavily weight this factor in               engine 234 may transmit the notification to a third party
determining the risk score .                                         device , such as the one that requested the transaction , in
   Next, validation engine 234 compares the risk score to at         some embodiments . For example , if customer 102 attempts
least one threshold . In certain embodiments , the at least one      to pay for an item at a third party retailer store with a bank
threshold may be predetermined or may be configured by 20 cryptocurrency card ( such as a payment instrument encoded
enterprise cryptocurrency server 130 or validation engine            with cryptocurrency information associated with a customer
234 . Validation engine 234 may determine that the risk score        account 203 ) or with device 110 , then validation engine 234
is greater than , less than , or equal to the threshold in certain   may transmit the notification to the cash register attempting
embodiments . In some embodiments, validation engine 234             to complete the purchase for customer 102 .
may determine that the risk score is between one or more 25 Next, validation engine 234 may communicate a request
thresholds . For example , if there are three thresholds of 10 , to customer 102 to retransmit cryptocurrency . The request
50 , and 100 , and the risk score is 50 . 5, validation engine 234 may be in the form of a notification, as described above , that
may determine that the risk score is greater than the thresh         customer 102 receives on device 110 . For example , the
old of 50 and less than the threshold of 100 .                       notification may be communicated as an email, text mes
   Validation engine 234 may also determine the number of 30 sage , alert in the customer account, or a pop up on the
required validations to confirm the cryptocurrency transac - enterprise application .
tion . In some embodiments, a number of thresholds may                 Enterprise cryptocurrency server 130 may include vault
correspond to the number of required validations to confirm          engine 236 . Generally, vault engine 236 may perform any
the cryptocurrency transaction . Using the example above,            function involving the storage and retrieval of cryptocur
validation engine 234 may determine a risk score below 35 rencies, private keys, and / or public keys associated with a
threshold 10 requires 1 validation , a risk score between            customer 102 . More specifically, vault engine 236 may be
thresholds 10 and 50 requires 2 validations, a risk score            any software, firmware , or combination thereof capable of
between thresholds 50 and 100 requires 4 validations, and a          performing any functionality involving the storage ,
risk score above threshold 100 requires 6 validations .              retrieval, and / or security of cryptocurrencies associated with
   Enterprise cryptocurrency server 130 may receive a num - 40 customers 102 . In certain embodiments , vault engine 236
ber of validations from a plurality of miners . For example , may store private keys associated with a particular customer
validation engine 234 may receive a number of validations      102 in online vault 210 or offline vault 212 . For example ,
from miners over network 120 via links 116 . Validation              vault engine 236 store one or more private keys associated
engine 234 may then compare the number of received                   with cryptocurrencies associated with a particular customer
validations to the number of required validations. In certain 45 102 .
embodiments, validation engine 234 may determine the                    Vault engine 236 may apply one or more functions or
number of received validations is greater than , less than , or      algorithms to the one or more private keys before storing the
equal to the number of required validations. For example ,           private keys. For example , for a particular private key, vault
validation engine 234 may receive two validations over               engine 236 may apply a hash function , an encryption func
network 120 via links 116 and determine this is less than the 50 tion , a tokenization function , or any other obfuscation or
five required validations . Validation engine 234 then deter -   security function to the whole private key or a portion of the
mines whether the number of received validations complies private key. A portion of the private key may be any suitable
with the number of required validations. In certain embodi-          subset of the private key. In certain embodiments , vault
ments, the number of received validations must be equal to           engine 236 may apply one function on all or a portion of the
or greater than the number of required validations for 55 private key to generate a first vault key and apply a different
validation engine 234 to determine they comply with each             function on all or a portion of the private key to generate a
other. For example , validation engine 234 may determine             second vault key . In some embodiments , a first function may
that the three received validations is greater than the              be applied to a first portion of the private key while a second
required number of two validations and thus validation               function may be applied to a second portion of the private
engine 234 determines that the number of received valida - 60 key . The first portion and second portion may be distinct
tions complies with the number of required validations.              from each other or they may have at least some shared
   If the number of received validations complies with the           portions of the private key . According to some embodi
number of required validations, then enterprise cryptocur            ments, the selection of a function to apply to all or a portion
rency server 130 may send a notification to the third party          of the private key may be based on the destination location
that the cryptocurrency transaction is confirmed . To do so , 65 of the private key. For example, the first vault key may be
enterprise cryptocurrency server 130 may use validation          stored at a first location and the second vault key may be
engine 234 to send the notification confirming the crypto        stored in a second location . In such an example , the first
                                                    US 10 ,275,772 B2
                             43                                                                  44
vault key may be stored in a first cryptocurrency vault and        involving offline vault 212 will be discussed second . Enter
the second vault key may be stored in a second cryptocur - prise cryptocurrency server 130 may receive an electronic
rency vault in a location different than the first cryptocur - request to store a private key associated with cryptocurrency .
rency vault.                                                      For example , enterprise cryptocurrency server 130 may
   When a private key associated with a quantity of crypto - 5 receive such a request over links 116 . The request may be in
currency associated with customer 102 is stored in a vault, conjunction with or may include a request to store or
enterprise cryptocurrency server 130 may utilize equivalent associate cryptocurrency with a certain customer account
amounts /values of cryptocurrency stored in float account 203.
204 to conduct transactions on the behalf of customer 102            In response to the request, enterprise cryptocurrency
thatmay want to utilize such cryptocurrency and debit / credit 10 server 130 may use vault engine 236 to generate a first vault
customer accounts 203 as appropriate . Vault engine 236 may        key based at least in part upon the private key . A vault key
store information related to the functions used on private         may be any suitable portion of the received private key that
keys in memory 202 . Vault engine 236 may then use this            may be stored in online vault 210 . Vault engine 236 may
information to determine whether a particular transaction          determine whether a function or algorithm ( e. g ., hash func
involves a private key that may be stored in a vault. 15 tion , encryption function , etc .) should be applied to the first
According to some embodiments, if a transaction involves a         vault key . In response to determining that a hash function ,
private key that is stored in a vault, then vault engine 236       for example, may be applied to the first generated vault key,
may be capable of flagging such transactions as possibly       vault engine 236 may apply the hash function to the second
fraudulent.                                                    vault key . Vault engine 236 may do this by selecting a
  According to some embodiments , vault engine 236 is 20 particular hash function from a plurality of hash functions .
capable of facilitating the storage of a private key in online In certain embodiments, the selection may be based on the
vault 210 . Online vault 210 may be any combination of             geographic location of where the first vault key may be
software, hardware , and firmware thatmay store information        stored . After applying the hash function , vault engine 236
associated with cryptocurrencies . Online vault 210 may be         may store information associated with the generated first
a part of enterprise cryptocurrency server 130 and / or it may 25 vault key such that that the private key may be retrieved by
be a part of data center server 160. Enterprise cryptocur-         enterprise cryptocurrency server 130 subsequent to the stor
rency environment 100 is capable of supporting more than           age in online vault 210 .
one online vault 210 that may be located in diverse geo              Next, vault engine 236 may generate a second vault key
graphic locations. For example , one online vault 210 may be       based at least in part upon the private key . The second vault
in enterprise cryptocurrency server 130 at a first geographi- 30 key may be any suitable portion of the received private key
cal location , while another online vault 210 may be in data     thatmay be stored in online vault 210 . The second vault key
center server 160a at a second geographical location, and yet      may be a distinct portion of the private key from the portion
another online vault 210 may be in data center server 160          of the private key used for the first vault key or there may
at a third geographical location . The present disclosure          be some overlap . Vault engine 236 may determine whether
contemplates any number of online vaults 210 and combi- 35 a function or algorithm ( e . g ., hash function , encryption
nations of geographical locations for online vault 210 as  function , etc . ) should be applied to the second vault key. In
suitable for a particular purpose .                        response to determining that a hash function , for example ,
   In some embodiments , vault engine 236 is capable of            may be applied to the second generated vault key, vault
facilitating the storage of a private key in offline vault 212 .   engine 236 may apply the hash function to the second vault
Offline vault 212 may be any combination of software , 40 key . Vault engine 236 may do this by selecting a particular
hardware , and /or firmware that may store information asso        hash function from a plurality of hash functions. In certain
ciated with cryptocurrencies . Offline vault 212 may have a        embodiments , the selection may be based on the geographic
dedicated connection to enterprise cryptocurrency server           location of where the second vault key may be stored .
130 or it may be communicatively coupled to enterprise             According to some embodiments, the function applied to the
cryptocurrency server 130 via network 120 . The current 45 second vault key may be different than the function applied
disclosure contemplates any number, locations, and /or con -       to the first vault key . After applying the hash function , vault
nections of offline vault 212 .                                    engine 236 may store information associated with the gen
   After the deposit of cryptocurrency (or private keys        erated second vault key such that that the private key may be
associated with the cryptocurrency ), vault engine 236 may retrieved by enterprise cryptocurrency server 130 subse
determine if a threshold has been exceeded . This threshold 50 quent to the storage in online vault 210 .
may be based on a quantity of total cryptocurrency in offline     Once the vault keys are generated , vault engine 236 may
vault 212 , the value of the cryptocurrency in offline vault   facilitate the storage of the vault keys in online vaults 210 .
212 , the number of private keys in offline vault 212 , and /or    For example , vault engine 236 may facilitate the storage of
any other suitable measure associated with cryptocurrencies.       the first vault key in a first online vault 210 at a first data
Once the threshold is exceeded , vault engine 236 may 55 center ( e . g ., data center server 160a ). Next, vault engine 236
facilitate the disconnection of offline vault 212 effectively      may facilitate the storage of the second vault key in a second
taking the vault “ offline.” For example , this may mean that      online vault 210 at a second data center ( e .g ., data center
offline vault 212 has been communicatively decoupled from          server 160b ) .
enterprise cryptocurrency server 130 and /or network 120. In          The operation of vault engine 236 involving offline vault
certain embodiments, offline vault 212 may be a hard disk 60 212 will now be discussed . Enterprise cryptocurrency server
drive that is physically disconnected from enterprise cryp -       130 may receive a request to deposit a quantity of crypto
tocurrency server 130 . Once the hard disk drive is discon -       currency into a customer account 203. In response , enter
nected , it may be physically secured .                            prise cryptocurrency server 130 may associate the quantity
   The operation of enterprise cryptocurrency server 130 ,      of cryptocurrency with the customer account 203 . Next,
with respect to vault engine 236 will now be discussed . The 65 enterprise cryptocurrency server 130 may deposit the quan
operation of vault engine 236 involving online vault 210 will      tity of cryptocurrency into an offline vault 212 that may be
be discussed first and the operation of vault engine 236           communicatively coupled to enterprise cryptocurrency
                                                    US 10 ,275,772 B2
                              45                                                                 46
server 130 . In certain embodiments , depositing the quantity      peer engine 238 may determine a quantity of cryptocurrency
of cryptocurrency may comprise storing one or more private         equivalent to the requested amount of currency . Peer - to -peer
keys associated with the quantity of cryptocurrency in             engine 238 may determine that the quantity of cryptocur
offline vault 212 . According to some embodiments, a func          rency exceeds the quantity of cryptocurrency associated
tion or algorithm may be applied to the one or more private 5 with customer account 203 . In such an instance , peer -to -peer
keys before storage in offline vault 212 .                    engine 238 is capable of determining the difference between
   After deposit , vault engine 236 may determine whether a        the requested amount of cryptocurrency and the amount of
threshold has been exceeded involving offline vault 212 . For      cryptocurrency associated with customer account 203 and
example , the threshold may be related to a total amount of        facilitate the purchase of the difference . In certain embodi
cryptocurrency , private keys associated with a total amount 10 ments , the difference in quantity of cryptocurrency may be
of cryptocurrency , public keys , and/ or any other suitable       purchased from an exchange 140 .
quantifiable information associated with depositing crypto -          In response to the request for the financial transaction ,
currencies in offline vault 212 . If the threshold is exceeded ,   peer -to -peer engine 238 may transfer the requested quantity
then vault engine 236 may communicate a message to                of cryptocurrency to the electronic payment service . In
facilitate the disconnection of offline vault 212 . In certain 15 certain embodiments, the quantity of cryptocurrency may be
embodiments , the disconnection may be from network 120 ,          transferred from float account 204 . According to some
from data center server 160 , or enterprise cryptocurrency         embodiments , the quantity of cryptocurrency may be trans
server 130 . According to some embodiments , the hardware          ferred from customer account 203 to the electronic payment
containing the now - disconnected offline vault 212 may be         service . In some embodiments, transferring the requested
physically secured .                                     20 quantity of cryptocurrency may include transferring public
   Enterprise cryptocurrency server 130 may use an elec - keys or private keys associated with the quantity of crypto
tronic payment service to provide a virtual account associ-        currency to the electronic payment service .
ated with customer 102 . Generally, an electronic payment             The operation of peer-to -peer engine 238 will now be
service may allow a customer 102 to associate a virtual            discussed . In general, customer 102 may initiate a request
account 172 to a customer account 203 . This allows the 25 for a financial transaction to transfer funds from a source to
customer 102 to conduct transactions using the virtual             a destination . Customer 102 may select virtual account 172
account 172 avoiding potential delays that may be associ-          as either the source ( to transfer funds out of virtual account
ated with conducting transactions using customer account            172 ) or the destination (to transfer funds into virtual account
203 . More specifically , an electronic payment service may      172 ) . Enterprise cryptocurrency server 130 may receive
refer to a service that transacts online payments and virtual 30 such a request over links 116 from payment service server
account 172 may refer to customer 102 ' s account with the          170 . In response , enterprise cryptocurrency server 130 deter
electronic payment service . In some embodiments, the elec -       mines that customer 102 initiated the request for the finan
tronic payment service and virtual account 172 may be               cial transaction to transfer an amount of currency . Next,
included in payment service server 170 . According to some         peer-to - peer engine 238 may validate the financial transac
embodiments , the electronic payment service and virtual 35 tion based at least upon the data received from payment
account 172 may be included in enterprise cryptocurrency           service center 170 . In certain embodiments, enterprise cryp
server 130.                                                        tocurrency server 130 may receive the data over a dedicated
   Enterprise cryptocurrency server 130 may include peer -         interface with the payment service server 170 . Peer -to -peer
to -peer engine 238 to offer electronic payment service            engine 238 may also determine that a certain virtual account
functionality . Peer- to -peer engine 238 may be any software , 40 172 is associated with a certain customer account 203 based
hardware, firmware , or combination thereof that allows     at least upon the data received from the payment service
enterprise cryptocurrency server 130 to offer electronic    server 170 .
payment service functionality. An example of such func         If the financial transaction passes validation , peer -to -peer
tionality may be a virtual account associated with the engine 238 may determine a quantity of cryptocurrency
electronic payment service and a customer and a customer 45 equivalent to the amount of currency. For example , peer -to
account that is associated with the virtual account.        peer engine 238 may determine a quantity of cryptocurrency
   The electronic payment service may communicate vali-            that has the same approximate value as the amount of
dation data as part of a request to transfer funds or in           currency. Next, peer -to - peer engine 238 may determine
response to a request to provide the validation data . Valida      whether the quantity of cryptocurrency exceeds the total
tion data may include validated tokens, credentials, and any 50 quantity of cryptocurrency associated with customer
other suitable data peer-to -peer engine 238 may use to            account 203 . If so , then peer -to -peer engine 238 may pur
confirm that the electronic payment service is a trusted           chase , on the behalf of customer 102 , the difference in
system and /or to authorize the particular financial transac       quantities . For example , peer - to -peer engine 238 may facili
tion . In some embodiments , the enterprise may verify that        tate the purchase of the cryptocurrency from an exchange
the validation data received from the electronic payment 55 server 140 . Peer - to -peer engine 238 may then transfer the
service matches validation data maintained by the enterprise quantity of cryptocurrency to payment service server 170 . In
before authorizing the financial transaction . If the validation   certain embodiments , this may involve the transfer of pri
fails , the enterprise notifies the electronic payment service vate and /or public keys associated with the quantity of
and does not initiate the funds transfer.                      cryptocurrency .
   Peer - to -peer engine 238 may use data received in a 60 FIG . 3 illustrates an example computer system 300 . In
request for a transaction to determine which customer particular embodiments, one or more computer systems 300
account 203 may be associated with the virtual account 172         perform one or more steps ofone or moremethods described
involved in the financial transaction . The request may indi-      or illustrated herein . In particular embodiments , one or more
cate that customer 102 desires to transfer an amount of     computer systems 300 provide functionality described or
currency from virtual account 172 to a destination . For 65 illustrated herein . In particular embodiments , software run
example , the destination may be a business , a financial          ning on one ormore computer systems 300 performs one or
institution , or another customer 102. In response, peer- to -     more steps of one or more methods described or illustrated
                                                     US 10 ,275,772 B2
                             47                                                             48
herein or provides functionality described or illustrated    or other suitable data . The data caches may speed up read or
herein . Particular embodiments include one or more portions write operations by processor 302 . The TLBsmay speed up
of one or more computer systems 300 . Herein , reference to  virtual-address translation for processor 302 . In particular
a computer system may encompass a computing device, and embodiments , processor 302 may include one or more
vice versa , where appropriate . Moreover, reference to a 5 internal registers for data , instructions , or addresses . This
computer system may encompass one or more computer disclosure contemplates processor 302 including any suit
systems, where appropriate .                                        able number of any suitable internal registers, where appro
   This disclosure contemplates any suitable number of              priate . Where appropriate , processor 302 may include one or
computer systems 300 . This disclosure contemplates com -           more arithmetic logic units (ALUS); be a multi -core proces
puter system 300 taking any suitable physical form . As 10 sor; or include one or more processors 302 . Although this
example and not by way of limitation , computer system 300          disclosure describes and illustrates a particular processor,
may be an embedded computer system , a system - on - chip           this disclosure contemplates any suitable processor.
(SOC ) , a single -board computer system (SBC ) (such as, for          In particular embodiments , memory 304 includes main
example , a computer - on -module (COM ) or system -on -mod -       memory for storing instructions for processor 302 to execute
ule (SOM ) ), a desktop computer system , a laptop or note - 15 or storing data for processor 302 to operate on . As an
book computer system , an interactive kiosk , a mainframe, a        example and not by way of limitation , computer system 300
mesh of computer systems, a mobile telephone, a personal            may load instructions from storage 306 or another source
digital assistant (PDA ), a server , a tablet computer system ,     (such as , for example , another computer system 300 ) to
or a combination of two or more of these . Where appropri           memory 304 . Processor 302 may then load the instructions
ate , computer system 300 may include one or more com - 20 from memory 304 to an internal register or internal cache. To
puter systems 300 ; be unitary or distributed ; span multiple execute the instructions, processor 302 may retrieve the
locations; span multiple machines ; span multiple data cen - instructions from the internal register or internal cache and
ters ; or reside in a cloud , which may include one or more         decode them . During or after execution of the instructions,
cloud components in one or more networks . Where appro -            processor 302 may write one or more results (which may be
priate , one or more computer systems 300 may perform 25 intermediate or final results ) to the internal register or
without substantial spatial or temporal limitation one or internal cache . Processor 302 may then write one or more of
more steps of one or more methods described or illustrated          those results to memory 304. In particular embodiments,
herein . As an example and not by way of limitation , one or        processor 302 executes only instructions in one or more
more computer systems 300 may perform in real time or in            internal registers or internal caches or in memory 304 (as
batch mode one or more steps of one or more methods 30 opposed to storage 306 or elsewhere ) and operates only on
described or illustrated herein . One or more computer sys -        data in one or more internal registers or internal caches or in
tems 300 may perform at different times or at different             memory 304 (as opposed to storage 306 or elsewhere ). One
locations one or more steps of one or more methods                  or more memory buses (which may each include an address
described or illustrated herein , where appropriate .           bus and a data bus ) may couple processor 302 to memory
     In particular embodiments, computer system 300 includes 35 304 . Bus 312 may include one or more memory buses, as
a processor 302 , memory 304 , storage 306 , an input/output described below . In particular embodiments , one or more
( 1/ 0 ) interface 308 , a communication interface 310 , and a memory management units (MMUS) reside between proces
bus 312 . Although this disclosure describes and illustrates a  sor 302 and memory 304 and facilitate accesses to memory
particular computer system having a particular number of            304 requested by processor 302 . In particular embodiments,
particular components in a particular arrangement, this dis - 40 memory 304 includes random access memory (RAM ). This
closure contemplates any suitable computer system having            RAM may be volatile memory , where appropriate . Where
any suitable number of any suitable components in any               appropriate, this RAM may be dynamic RAM (DRAM ) or
suitable arrangement.                                               static RAM (SRAM ). Moreover, where appropriate, this
   In particular embodiments , processor 302 includes hard -        RAM may be single -ported or multi- ported RAM . This
ware for executing instructions, such as those making up a 45 disclosure contemplates any suitable RAM . Memory 304
computer program . As an example and not by way of                  may include one or more memories 304 , where appropriate .
limitation , to execute instructions , processor 302 may            Although this disclosure describes and illustrates particular
retrieve (or fetch ) the instructions from an internal register ,   memory, this disclosure contemplates any suitable memory.
an internal cache, memory 304 , or storage 306 ; decode and            In particular embodiments, storage 306 includes mass
execute them ; and then write one or more results to an 50 storage for data or instructions. As an example and not by
internal register, an internal cache , memory 304 , or storage      way of limitation , storage 306 may include a hard disk drive
306 . In particular embodiments , processor 302 may include          (HDD ), a floppy disk drive, flash memory , an optical disc , a
one or more internal caches for data , instructions , or            magneto - optical disc , magnetic tape, or a Universal Serial
addresses. This disclosure contemplates processor 302               Bus (USB ) drive or a combination of two or more of these .
including any suitable number of any suitable internal 55 Storage 306 may include removable or non - removable ( or
caches, where appropriate . As an example and not by way of fixed ) media , where appropriate . Storage 306 may be inter
limitation , processor 302 may include one or more instruc -        nal or external to computer system 300, where appropriate .
tion caches, one or more data caches, and one or more          In particular embodiments , storage 306 is non - volatile ,
translation lookaside buffers ( TLBs ). Instructions in the    solid -state memory . In particular embodiments, storage 306
instruction caches may be copies of instructions in memory 60 includes read -only memory (ROM ). Where appropriate , this
304 or storage 306 , and the instruction caches may speed up   ROM may be mask - programmed ROM , programmable
retrieval of those instructions by processor 302 . Data in the ROM (PROM ), erasable PROM (EPROM ), electrically
data caches may be copies of data in memory 304 or storage          erasable PROM (EEPROM ), electrically alterable ROM
306 for instructions executing at processor 302 to operate          (EAROM ), or flash memory or a combination of two or
on ; the results of previous instructions executed at processor 65 more of these . This disclosure contemplates mass storage
302 for access by subsequent instructions executing at              306 taking any suitable physical form . Storage 306 may
processor 302 or for writing to memory 304 or storage 306 ;         include one or more storage control units facilitating com
                                                    US 10 ,275 ,772 B2
                               49                                                                   50
munication between processor 302 and storage 306 , where             a low -pin -count (LPC ) bus, a memory bus, a Micro Channel
appropriate . Where appropriate, storage 306 may include             Architecture (MCA ) bus, a Peripheral Component Intercon
 one or more storages 306 . Although this disclosure describes       nect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced
and illustrates particular storage , this disclosure contem         technology attachment (SATA ) bus, a Video Electronics
plates any suitable storage.                                      5 Standards Association local ( VLB ) bus, or another suitable
   In particular embodiments , I/O interface 308 includes           bus or a combination of two or more ofthese . Bus 312 may
hardware , software, or both , providing one or more inter           include one or more buses 312 , where appropriate . Although
faces for communication between computer system 300 and              this disclosure describes and illustrates a particular bus, this
one ormore I/ O devices. Computer system 300 may include
one ormore of these I/O devices , where appropriate. One or 10 disclosure     contemplates any suitable bus or interconnect.
                                                                    Herein , a computer -readable non -transitory storage
more of these I/ O devices may enable communication medium
between a person and computer system 300 . As an example based orormedia             may include one or more semiconductor
                                                                              other integrated circuits (ICs) ( such , as for
and not by way of limitation , an I/ O device may include a
keyboard , keypad , microphone, monitor, mouse , printer, example , field -programmable gate arrays (FPGAs) or appli
scanner, speaker, still camera, stylus, tablet, touch screen , 15 cation -specii ITS (ADITS)), nara disk drives (HDDS),
trackball, video camera , another suitable 1/ 0 device or a hybrid hard drives (HHDs), optical discs, optical disc drives
combination of two or more of these . An I/O device may           (ODDs), magneto -optical discs, magneto -optical drives,
include one or more sensors. This disclosure contemplates            foppy diskettes , floppy disk drives (FDDS),magnetic tapes ,
any suitable I/ O devices and any suitable I/ O interfaces 308       solid -state drives (SSDs ), RAM -drives , SECURE DIGITAL
for them . Where appropriate, I/O interface 308 may include 20 cards or drives, any other suitable computer-readable non
one or more device or software drivers enabling processor      transitory storage media, or any suitable combination of two
302 to drive one or more of these I/ O devices. I/ O interface       or more of these , where appropriate . A computer-readable
308 may include one or more I/O interfaces 308 , where              non - transitory storage medium may be volatile , non -vola
appropriate . Although this disclosure describes and illus -         tile , or a combination of volatile and non - volatile , where
trates a particular I/ O interface , this disclosure contemplates 25 appropriate .
any suitable I/ O interface .                                          FIG . 4 illustrates an example flowchart for facilitating the
  In particular embodiments, communication interface 310             exchange of funds involving cryptocurrency that may be
includes hardware , software , or both providing one or more         implemented in the example systems of FIG . 1 and / or FIG .
interfaces for communication (such as, for example , packet-         2 . The method beings at step 402 wherein transformation
based communication ) between computer system 300 and 30 engine 214 receives a request for a currency exchange from
one or more other computer systems 300 or one or more                a customer 102. For example, customer 102 may request to
networks . As an example and not by way of limitation ,              exchange a first amount of a first currency in a customer
communication interface 310 may include a network inter -            account 203 for an approximately equivalent amount of a
face controller (NIC ) or network adapter for communicating          second currency , such as a cryptocurrency . According to
with an Ethernet or other wire -based network or a wireless 35 some embodiments , the first currency and/ or the second
NIC (WNIC ) or wireless adapter for communicating with a             currency may be a cryptocurrency. In certain embodiments ,
wireless network , such as a WI-FI network . This disclosure         the method may execute the requested exchange in real- time
contemplates any suitable network and any suitable com -             or batch mode .
munication interface 310 for it . As an example and not by              At step 404 , transformation engine 214 may determine
way of limitation , computer system 300 may communicate 40 current exchange rates for exchanging the first currency for
with an ad hoc network , a personal area network (PAN ), a           the second currency . In certain embodiments , transformation
local area network (LAN ), a wide area network (WAN ), a             engine 214 may utilize conversion engine 216 and/ or cal
metropolitan area network (MAN ), or one ormore portions             culation engine 224 to determine current exchange rates
of the Internet or a combination of two ormore of these . One        associated with the requested exchange . For example, con
or more portions of one or more of these networks may be 45 version engine 216 may retrieve any data associated with
wired or wireless. As an example , computer system 300 may          exchanging the first currency for the second currency, such
communicate with a wireless PAN (WPAN ) (such as , for              as current price data , market data , volatility data , exchange
example , a BLUETOOTH WPAN ), a WI-FI network , a                    rate data , economic risk data , or any other data associated
WI-MAX network , a cellular telephone network (such as,              with currencies and cryptocurrencies that may be suitable
for example , a Global System for Mobile Communications 50 for a particular purpose . Conversion engine 216 and / or
(GSM ) network ), or other suitable wireless network or a            calculation engine 224 may then use such data to determine
combination of two or more of these . Computer system 300            the current exchange rates for exchanging various currencies
may include any suitable communication interface 310 for             and cryptocurrencies.
any of these networks, where appropriate . Communication               At step 406 , calculation engine 224 determines an optimal
interface 310 may include one or more communication 55 exchange rate for performing the requested currency
interfaces 310 , where appropriate . Although this disclosure       exchange . To do so , calculation engine 224 may consider
describes and illustrates a particular communication inter-        various factors such as current exchange rates, time factors,
face , this disclosure contemplates any suitable communica         price factors associated with particular currencies, price
tion interface .                                                    factors associated with particular cryptocurrencies, eco
   In particular embodiments , bus 312 includes hardware , 60 nomic risk factors, any other factors, or any combination
software , or both coupling components of computer system           thereof. As another example , calculation engine 224 may
300 to each other. As an example and not by way of determine the optimal exchange rate by selecting a particular
limitation , bus 312 may include an Accelerated Graphics cryptocurrency the first currency should be exchanged for,
Port ( AGP ) or other graphics bus, an Enhanced Industry           based on , for example , financial advantages that may be
Standard Architecture (EISA ) bus , a front- side bus (FSB ), a 65 gained by the enterprise and/ or customer 102 . The method
HYPERTRANSPORT (HT) interconnect, an Industry Stan - continues at step 408 and calculation engine 224 selects the
dard Architecture (ISA ) bus, an INFINIBAND interconnect,            optimal exchange rate .
                                                    US 10 ,275 ,772 B2
                             51                                                                52
   In step 410, calculation engine 224 determines a first            Modifications, additions, or omissions may be made to the
amount of the first currency to be exchanged . For example ,      methods described herein without departing from the scope
calculation engine 224 may use information ( e.g ., informa       of the invention . For example, the steps may be combined ,
tion included in the request) to determine the first amount of    modified , or deleted where appropriate , and additional steps
the first currency. The method then proceeds to step 412 5 may be added . Additionally , the steps may be performed in
wherein transformation engine 214 associates the first             any suitable order without departing from the scope of the
amount of the first currency with the particular customer         present disclosure. While discussed as transformation
account 203 . In some embodiments, to associate the first         engine 214, conversion engine 216 , calculation engine 224 ,
amount of the first currency with the particular customer and exchange engine 228 performing the steps , any suitable
account 203, transformation engine 214 initiates a debit to 10 component of enterprise cryptocurrency server 130 may
the particular customer account 203 in the first amount (plus perform one or more steps of the method .
any fees and other costs ) in the first currency. In response ,      Although the present invention has been described with
exchange engine 228 may execute withdrawing the certain            several embodiments , a myriad of changes , variations,
amount of the first currency from the particular customer alterations, transformations, and modifications may be sug
account 203 , thereby providing funds for the exchange . 15 gested to one skilled in the art, and it is intended that the
Then at step 414 , transformation engine 214 transfers the      present invention encompass such changes , variations ,
first amount of the first currency to a first float account 204 alterations , transformations, and modifications as fall within
associated with the first currency .                            the scope of the appended claims.
   At step 416 , calculation engine 224 determines a second        FIG . 5 illustrates an example flowchart for facilitating a
amount of the cryptocurrency . According to some embodi- 20 real-time cryptocurrency conversion that may be imple
ments, calculation engine 224 may use the selected                mented in the example systems of FIG . 1 and/ or FIG . 2 . The
exchange rate to determine a quantity of the cryptocurrency       method begins at step 502, wherein conversion engine 216
approximately equivalent to the first amount of the first         receives an electronic request for a cryptocurrency conver
currency . The approximately equivalent quantity of the            sion . For example, a customer 102 may request to convert a
cryptocurrency may then be used to determine the second 25 first currency into a particular cryptocurrency if the conver
amount of the cryptocurrency less any fees or costs associ-        sion is optimal.
ated with the requested exchange .                                    At step 504 , conversion engine 216 retrieves data asso
   At step 418 , transformation engine 214 associates the          ciated with the conversion . For example , conversion engine
second amount of the cryptocurrency with a second float        216 may retrieve price data associated with the first currency
account 204 associated with the particular cryptocurrency . 30 and price data associated with the particular cryptocurrency.
Associating the second amount of the cryptocurrency with          Conversion engine 216 may also retrieve price data associ
the second float account 204 may result in a debit to the         ated with a plurality of cryptocurrencies, price data associ
second float account 204 in the second amount of the              ated with a plurality of currencies, market data associated
cryptocurrency .                                                  with a plurality of cryptocurrencies ,market data associated
   In certain embodiments , the method continues to step 420 35 with a plurality of currencies , volatility data associated with
wherein transformation engine 214 determines whether an         a plurality of cryptocurrencies , volatility data associated
amount of funds in second float account 204 is below a            with a plurality of currencies , current exchange rate data ,
threshold . For example , transformation engine 214 may           economic risk data , and/ or any other data that may be
monitor an amount of funds in second float account 204 and        suitable for a particular purpose .
determine the amount of funds in second float account 204 40 At step 506 , conversion engine 216 determines whether
is below a certain threshold . If the amountof funds in second converting the first currency into the particular cryptocur
float account 204 is not below the threshold , the method may rency is optimal. According to some embodiments, conver
proceed to step 426 . Alternatively , if the amount of funds in    sion engine 216 may do so based at least in part upon
second float account 204 is below the threshold , the method analyzing the data associated with the conversion . For
may continue to step 422 .                                      45 example , conversion engine 216 may consider time factors ,
   At step 422 , transformation engine 214 may initiate the       price factors associated with particular currencies (such as
purchase of a quantity of a certain currency ( such as the type   the value of various currencies ), price factors associated
of currency or cryptocurrency associated with second float        with particular cryptocurrencies (such as the value of vari
account 204 ). To do so , transformation engine 214 may           ous cryptocurrencies ), volume of particular currencies , vol
communicate a request to purchase the quantity of the 50 ume of particular cryptocurrencies, availability of particular
certain currency . In some embodiments , payment for the           currencies , availability of particular cryptocurrencies, popu
purchase may be made by deducting the appropriate funds           larity of particular currencies , popularity of particular cryp
from another float account 204 associated with the enterprise     tocurrencies , volatility of particular currencies, volatility of
in a different currency or cryptocurrency . Upon payment, in      particular cryptocurrencies, economic risk factors, current
step 424 , transformation engine 214 may transfer the quan - 55 currency exchange rates, and /or any other factors that may
tity of the certain currency to second float account 204 .      facilitate determining whether the conversion is optimal. In
   At step 426 , transformation engine 214 transfers the          such an example , conversion engine 216 may determine that
second amount of the cryptocurrency to customer 102 . For         the conversion is optimal based upon any number of the
example , transformation engine 214 may initiate a credit to      following : financial advantages that may be gained by the
a particular customer account 203 of at least a portion of the 60 enterprise and /or customer 102 ; the value of the particular
second amount in the certain cryptocurrency . In response ,       cryptocurrency as compared to a value of various other
exchange engine 228 may execute depositing the second             cryptocurrencies; a set of conversion rules ; whether the
amount of the cryptocurrency in the particular customer           conversion exceeds a benefit threshold associated with the
account 203 , thereby providing customer 102 with the             request within a date threshold associated with the request;
desired currency. In certain embodiments , the second 65 etc .
amount of the cryptocurrency may be transferred directly to          If conversion engine 216 determines the conversion is
the particular customer 102. The method then ends .                optimal, the method may continue to step 508 . On the other
                                                     US 10 ,275 ,772 B2
                              53                                                                  54
hand , if conversion engine 216 determines the conversion is        After receiving the amount of cryptocurrency , aggregation
not optimal , the method may end .                                  engine 222 determines a value of the cryptocurrency
   At step 508 , conversion engine 216 determines exchange          approximately equivalent to the amount of cryptocurrency to
rates associated with converting the first currency into the        be deposited in step 608 . For example, aggregation engine
second currency . In certain embodiments , conversion engine 5 222 may determine an approximately equivalent value of the
216 may determine exchange rates for exchanging the first           amount of cryptocurrency based on a price associated with
currency for various cryptocurrencies or for exchanging the         the particular cryptocurrency.
first currency for a particular cryptocurrency ( e . g ., a cus        At step 610 , aggregation engine 222 then associates the
tomer 102 requested an exchange for a particular crypto -           approximately equivalent value of the amount of cryptocur
currency ). Conversion engine 216 may use the data retrieved 10 rency with customer account 203 . For example , aggregation
in step 506 to determine such exchange rates .                      engine 222 may credit customer account 203 based on the
   In step 510 , conversion engine 216 determines the opti-         approximately equivalent value.
mal exchange rate . According to some embodiments , con -              At step 612 , aggregation engine 222 aggregates the
version engine 216 may determine the optimal exchange rate          amount of cryptocurrency with an aggregated amount of
based at least in part upon the current exchange rates . 15 cryptocurrency in a float account 204 ( or aggregation
Conversion engine 216 may also consider other factors, such         account 206 . For example , aggregation engine 222 may
as time factors , price factors associated with particular          transfer the amount of cryptocurrency over network 120 to
currencies ( such as the value of particular currencies and         float account 204 . In some embodiments , the amount of
cryptocurrencies ), fees charged by third parties , volatility of   cryptocurrency may be transferred to float account 204
particular currencies, volatility of particular cryptocurren - 20 based at least in part on a public key associated with float
cies , economic risk factors , and /or any other factors that may   account 204 . After transferring the amount of cryptocur
facilitate determining that one exchange rate should be used        rency , aggregation engine 222 may deposit the amount to
over another exchange rate. In certain embodiments , deter      cryptocurrency in float account 204 . For example , aggrega
mining the optimal exchange rate includes determining tion engine 222 may add the amount of cryptocurrency to the
which particular cryptocurrency the first currency should be 25 total amount of cryptocurrency in float account 204 to yield
exchanged for.                                                  an updated total amount of cryptocurrency aggregated in
   At step 512 , conversion engine 216 may initiate convert     float account 204 .
ing the first currency into the second currency . Generally ,         Themethod continues at step 614 and aggregation engine
conversion engine 216 initiates the conversion essentially          222 facilitates securing a public key associated with cus
simultaneously as the determination that the requested con - 30 tomer account 203 in online vault 210 or offline vault 212 .
version is optimal. For example , conversion engine 216 or          For example , aggregation engine 222 may communicate a
exchange engine 228 may communicate a request to trans -            request to vault engine 236 to secure the public key to online
formation engine 214 to execute the cryptocurrency conver -         vault 210 or offline vault 212 . As a result, the public key may
sion . The method then ends.                                        be secured in online vault 210 or offline vault 212 by vault
  Modifications,additions, or omissionsmay be made to the 35 engine 236 .
methods described herein without departing from the scope      In certain embodiments , at step 616 , aggregation engine
of the invention . For example , the steps may be combined ,        222 determines whether the public key has been secured in
modified , or deleted where appropriate , and additional steps online vault 210 or offline vault 212 . In response to deter
may be added . Additionally, the steps may be performed in mining that vault engine 236 has secured the public key in
any suitable order without departing from the scope of the 40 online vault 210 or offline vault 212 , the method proceeds to
present disclosure . While discussed as conversion engine           step 618 . Otherwise the method may end .
216 performing the steps, any suitable component of enter-             At step 618 , aggregation engine 222 communicates a
prise cryptocurrency server 130 may perform one or more             confirmation message confirming the public key is secure to
steps of the method .                                               customer 102. The method then ends .
   Although the present invention has been described with 45 Modifications , additions, or omissions may bemade to the
several embodiments, a myriad of changes, variations, methods described herein without departing from the scope
alterations , transformations, and modifications may be sug - of the invention . For example , the steps may be combined ,
gested to one skilled in the art, and it is intended that the       modified , or deleted where appropriate , and additional steps
present invention encompass such changes, variations, may be added . Additionally , the steps may be performed in
alterations , transformations , and modifications as fall within 50 any suitable order without departing from the scope of the
the scope of the appended claims.                                   present disclosure. While discussed as aggregation engine
   FIG . 6 illustrates an example flowchart for collecting and      222 performing the steps , any suitable component of enter
aggregating cryptocurrency deposited by customers 102 that          prise cryptocurrency server 130 may perform one or more
may be implemented in the example systems of FIG . 1                steps of the method .
and/ or FIG . 2 . The method begins at step 602 wherein 55             Although the present invention has been described with
aggregation engine 222 receives a request to deposit an             several embodiments , a myriad of changes , variations ,
amount of cryptocurrency in a customer account 203 . For            alterations , transformations, and modifications may be sug
example , customer 102 may use device 110 to request that           gested to one skilled in the art, and it is intended that the
an amount of cryptocurrency be deposited to customer present invention encompass such changes , variations ,
account 203 .                                               60 alterations , transformations, and modifications as fall within
   At step 604 , aggregation engine 222 determines a public    the scope of the appended claims.
key associated with customer account 203. To do so , aggre       FIG . 7 illustrates an example flowchart for facilitating
gation engine 222 may retrieve information included in execution of a transaction with cryptocurrency using a
customer account 203 that may be used to determine the         payment instrument that may be implemented in the
public key .                                                65 example systems of FIG . 1 and /or FIG . 2 . The method
   At step 606 , aggregation engine 222 uses the public key    begins at step 702 wherein encoding engine 218 encodes
to receive the amount of cryptocurrency to be deposited .           cryptocurrency information associated with a customer
                                                    US 10 ,275 ,772 B2
                              55                                                                56
account 203 onto a payment instrument. In some embodi                Upon purchasing the quantity of cryptocurrency, at step
ments, the payment instrument is associated with customer          714 , transaction engine 220 transfers at least a portion of the
account 203 and is used by a customer 102 associated with          quantity of cryptocurrency (e.g., the quantity of cryptocur
customer account 203 to execute a transaction with crypto - rency less any fees or other costs) to customer account 203 .
currency . For example , encoding engine 218 may encode 5 According to some embodiments , if customer account
various cryptocurrency information associated with a cus 203 does not comprise sufficient funds , enterprise crypto
                                                                   currency server 130 may determine whether customer
tomer account 203, such as a cryptocurrency address or a
public key , onto a payment instrument to provide customer         account 203 comprises a quantity of a second currency .
102 with electronic access to cryptocurrency in customer8 10 Upon   determining customer account 203 does comprise the
                                                             quantity of the second currency , enterprise cryptocurrency
account 203 . In certain embodiments, encoding engine 218          server 130 may use float accounts 204 to exchange the
may encode a token onto a payment instrument. For                  quantity of the second currency for an approximately
example , encoding engine 218 may generate a token that            equivalent quantity of cryptocurrency (less any fees or other
represents cryptocurrency information , such as a public key , costs) thatmay be deposited into customer account 203. For
and encode the generated token onto the payment instru - 15 example , transformation engine 214 may transfer the quan
ment. In other words , encoding engine 218 may create a new      tity of the second currency to first float account 204 asso
alias for the cryptocurrency information using a unique          ciated with the second currency over network 120 via links
token ( e . g., a tokenized representation of the public key ),   116 . In such an example , transformation engine 214 may
thereby securing the cryptocurrency information .                then debit second float account 204 associated with the
   At step 704 , transaction engine 220 may receive a request 20 cryptocurrency in a quantity of cryptocurrency approxi
for a cryptocurrency transaction from customer 102 . For           mately equivalent to the quantity of the second currency .
example , customer 102 may use the payment instrument to            After debiting second float account 204 , transformation
request a certain amount of cryptocurrency be transferred to       engine 214 may transfer the quantity of cryptocurrency over
a recipient as payment for a purchase or other obligation . As     network 120 via links 116 to customer account 203 . As a
a result , the amount of cryptocurrency may be deposited into 25 result, customer account 203 may comprise a sufficient
an account associated with the recipient.                          amount of cryptocurrency to execute the requested crypto
   At step 706 , transaction engine 220 determines crypto          currency transaction .
currency information associated with customer account 203 .          At step 716 , transaction engine 220 associates the amount
For example, a request may indicate a payment instrument of cryptocurrency with customer account 203 . To do so ,
encoded with cryptocurrency information , such as a pay - 30 transaction engine 220 may debit customer account 203 in
ment instrument encoded with a public key or a token . the certain amount of cryptocurrency .
Transaction engine 220 may determine the cryptocurrency      The method continues at step 718 , wherein transaction
information encoded on the payment instrument to thereby           engine 220 initiates a transfer of the certain amount of
identify the particular customer account 203 to be debited in      cryptocurrency to the recipient. For example , transaction
the certain amount of cryptocurrency.                       35 engine 220 may communicate a request to a third party
   At step 708 , transaction engine 220 determines crypto -    enterprise server 150 associated with the recipient to transfer
currency information associated with the recipient. To do so ,     the certain amount of cryptocurrency to the recipient. As
transaction engine 220 determines cryptocurrency informa -         another example , transaction engine 220 may communicate
tion included in the request that may be used to transfer the a request to a recipient cryptocurrency address associated
amount of cryptocurrency to the recipient, such as a recipi- 40 with the recipient to transfer the certain amount of crypto
ent cryptocurrency address or recipient public key associ       currency to the recipient. Communicating such a request
ated with a third -party account.                                  may result in the certain amount of cryptocurrency being
   At step 710 , transaction engine 220 determines whether         deposited into a recipient account, thereby confirming the
customer account 203 comprises a minimum amount of requested cryptocurrency transaction for a payment or other
cryptocurrency to execute the cryptocurrency transaction . 45 obligation associated with customer 102 . The method then
For example, transaction engine 220 may determine whether ends .
customer account 203 comprises a quantity of cryptocur               Modifications, additions, or omissionsmay bemade to the
rency at least equivalent to the amount of cryptocurrency          methods described herein without departing from the scope
requested for the transaction (i.e ., comprises sufficient funds   of the invention . For example , the steps may be combined ,
to complete the requested transaction ). If transaction engine 50 modified , or deleted where appropriate , and additional steps
220 determines customer account 203 comprises sufficient           may be added . Additionally , the steps may be performed in
funds for the cryptocurrency transaction , transaction engine      any suitable order without departing from the scope of the
220 may proceed to step 716 . Alternatively , if transaction       present disclosure . While discussed as encoding engine 218
engine 220 determines customer account 203 does not                and transaction engine 220 performing the steps, any suit
comprise the minimum amount of cryptocurrency, transac - 55 able component of enterprise cryptocurrency server 130 may
tion engine 220 may proceed to step 712 . In some embodi-          perform one or more steps of the method .
ments, the method ends if customer account 203 does not              Although the present invention has been described with
comprise the minimum amount of cryptocurrency for the              several embodiments , a myriad of changes , variations,
cryptocurrency transaction .                                  alterations , transformations, and modifications may be sug
   At step 712 , if customer account 203 does not comprise 60 gested to one skilled in the art, and it is intended that the
sufficient funds, transaction engine 220 initiates the pur - present invention encompass such changes , variations ,
chase of a quantity of cryptocurrency from exchange 140a           alterations, transformations, and modifications as fall within
or 140b . For example, transaction engine 220 may commu            the scope of the appended claims.
nicate a request to purchase the quantity of cryptocurrency.          FIG . 8 illustrates an example flowchart for facilitating
In certain embodiments , payment for the purchase may be 65 identification of a party to a transaction as a known user and
made by deducting the appropriate funds from customer              alerting of suspicious activity associated with a cryptocur
account 203 in a second currency .                                 rency transaction based on the information regarding the
                                                      US 10 ,275 ,772 B2
                               57                                                                  58
known user that may be implemented in the example sys                ciated with one of the plurality of user profiles match . In
tems of FIG . 1 and / or FIG . 2 . The method begins at step 802     some embodiments , the block chain cryptoidentifiermust be
wherein alert engine 230 stores a plurality of user profiles .       identical to the stored cryptoidentifier associated with one of
In some embodiments the user profile is associated with a            the plurality of user profiles. For example, alert engine 230
customer 102 of the enterprise , for example , a person who 5 may determine that the block chain public key of “ example
has at least one account with the enterprise . In some embodi - publickeyl” matches the public key in a user profile of
ments, the user profile is associated with a known party, but        " examplepublickey1,” but will determine that the block
that known party does not have at least one account with the         chain public key of “ examplepublickeyl” does not match
enterprise. For example , there may be a user profile for a          the public key in a user profile of “ examplepublickey2.” In
beneficiary of an account , a power of attorney for an 10 some embodiments , alert engine determines a match when
account, a third party the enterprise knows is suspicious or the block chain cryptoidentifier and stored cryptoidentifier
untrustworthy , or a transactor, which is a party who deposits associated with one of the plurality of user profiles comprise
money to an account. An example of a transactor is the night   a certain number of similar characters. For example , alert
manager of a restaurant who deposits money into the res -      engine 230 may determine that the block chain public key of
taurant's account. Thus , the restaurant would have a user 15 " examplepublickeyl” matches the public key in a user
profile and the night manager would also have a user profile         profile of “ examplepublickey2 .”
even though he does not have an accountwith the enterprise .            If alert engine 230 determines in step 812 that the block
   In some embodiments, the plurality of user profiles are           chain cryptoidentifier and the stored cryptoidentifier asso
stored in memory 202 or customer accounts 203. In some ciated with one of the plurality of user profiles do not match ,
embodiments, a user profile comprises information associ- 20 then the method ends . If alert engine 230 determines in step
ated with the user, such as , but not limited to , a user name, 812 that the block chain cryptoidentifier and the stored
a user address, one or more user public cryptocurrency keys,         cryptoidentifier associated with one of the plurality of user
one or more user IP addresses, one or more user cryptocur-           profiles match , then the method continues to step 814 . In
rency wallets, and a financial transaction history (e . g ., one or step 814 , alert engine 230 determines whether one of the
more transactions 208 ), which may include both fiat and 25 plurality of user profiles is associated with the user or the
cryptocurrency transactions. In some embodiments, not third party based on the retrieved block information and
every possible user or third party has a stored user profile .       stored cryptoidentifiers associated with one of the plurality
   In step 804 , alert engine 230 receives a request from a user     of user profiles . In certain embodiments , alert engine 230
to perform a cryptocurrency transaction with a third party .         may determine that the user is a customer of the enterprise
Examples of cryptocurrency transactions include making a 30 based at least in part upon determining a blockchain
purchase , transferring money from an account, and trans -     cryptoidentifier and a stored cryptoidentifier associated with
ferring money to an account. In some embodiments, the user     one of the plurality of user profiles are a match . In certain
may be a customer 102 of the enterprise , a transactor of the  embodiments , alert engine 230 determines that the third
enterprise , a party unknown to the enterprise , or a known    party is a transactor of the enterprise . For example, alert
party to the enterprise . In some embodiments , the request 35 engine 230 may determine that the third party receiving the
may be initiated by user through an enterprise application on cryptocurrency transaction is the nightmanager at a restau
device 110 . For example , user may request to transfer funds        rant because the third party utilizes public key " example
from a cryptocurrency account to a third party on device             publickey1” and the night manager at a restaurant utilizes
110 . In some embodiments, the request may be initiated by           public key " examplepublickey1.” As another example, a
user utilizing a bank card , such as a debit card or credit card , 40 customer of the enterprise may request the cryptocurrency
when making a purchase.                                               transaction without logging into the customer 's enterprise
   In step 806 , alert engine 230 retrieves block chain infor - account. Thus, the enterprise may not initially recognize
mation associated with the cryptocurrency transaction and            who the customer is . However , once determining the public
determines at least one block chain cryptoidentifier from the key of the user, alert engine 230 may determine the user is
block chain information in step 808 . In some embodiments, 45 a specific customer, transactor, or known party of the enter
a block chain cryptoidentifier may comprise a public key , an prise .
IP address , and one or more cryptocurrency wallets. In some           If alert engine 230 determines in step 814 that one of the
embodiments, the block chain cryptoidentifier may be from            plurality ofuser profiles is not associated with the user or the
either the user or the third party associated with the           third party based on the retrieved block information and
requested transaction . For example , block chain information 50 stored cryptoidentifiers associated with one of the plurality
may include a user public key , a third party public key, and        of user profiles , then the method ends. If alert engine 230
a user IP address, but not a third party IP address . Thus, in       determines in step 814 that one of the plurality of user
this example, alert engine 230 determines three block chain          profiles is associated with the user or the third party based
identifiers : the user public key , a third party public key , and   on the retrieved block information and stored cryptoidenti
a user IP address.                                         55 fiers associated with one of the plurality of user profiles , then
   In step 810 , alert engine 230 compares the block chain the method continues to step 816 . In step 816 , alert engine
cryptoidentifier and the stored cryptoidentifier associated 230 calculates a first factor score based at least in part upon
with one of the plurality of user profiles . In some embodi -        the transaction history of the user profile associated with
ments, alert engine 230 may compare by performing a                  either the user requesting the transaction or the third party in
search through all of the stored customer cryptoidentifiers 60 the transaction . In some embodiments, the transaction his
associated with the user profiles . For example , if the block tory may include the entire transaction history of a user or
chain cryptoidentitier comprises a public key of " example -         may include only certain transactions . For example , the
publickey1,” then alert engine 230 will search through all of        transaction history may include only transactions over a
the user profiles and compare this public key to any of the certain amount of cryptocurrency . As another example , the
stored public keys in the user profiles .                      65 transaction history may include only transactions within a
   In step 812 , alert engine 230 determines whether the block    certain time period , such as transactions that occurred within
chain cryptoidentifier and the stored cryptoidentifier asso -        the last one month , the last one year, or the last five years.
                                                    US 10 ,275,772 B2
                             59                                                              60
The first factor score may be associated with the suspicious      If alert engine 230 , in step 822 , determines the crypto
or seemingly fraudulentpast transactions associated with the   currency transaction is not suspicious based at least in part
user profile . In some embodiments, suspicious transactions , upon the user profile , then the method ends . If alert engine
such as a high value transaction of 1000 units of cryptocur 230 , in step 822 , determines the cryptocurrency transaction
rency, may indicate a higher risk of fraudulent activity and 5 is suspicious based at least in part upon the user profile, then
thus increase the first factor score . In some embodiments , the method continues to step 824 . In step 824 , alert engine
alert engine 230 determines the pattern ofspending based on 230 communicates an alert to the enterprise that the cryp
the transaction history and is able to determine if the current       tocurrency transaction is potentially suspicious . In some
transaction is a common transaction or an abnormal one                embodiments, alert engine 230 communicates an alert
compared to the transaction history . For example, if the user        regarding whether the cryptocurrency transaction is suspi
associated with the user profile regularly transmits 1000             cious based on the third party ' s association with a suspicious
units of cryptocurrency on a weekly basis , then alert engine         user profile or the requesting user 's association with a
230 may determine the requested transaction of 1000 units             suspicious user profile . In certain embodiments , the alert
of cryptocurrency indicates a lower risk of fraudulent activ - 15 may include a notification that the cryptocurrency transac
ity and thus decreases the first factor score .                       tion may not be completed based on the suspiciousness of
   In step 818 , alert engine 230 calculates a second factor          the cryptocurrency transaction . Alert engine 230 may also
score based at least in part upon the user profile IP address .       allow the transaction to be completed , but associate a “ flag "
In some embodiments , alert engine 230 determines a loca              or other warning with the user profile associated with either
tion associated with the user profile IP address. In some 20 the third party or the requesting user in certain embodiments.
embodiments , the determined location may be a physical         In step 826 , alert engine 230 communicates an alert to the
address, GPS coordinates, a city , a state , or a country . In        requesting user that the cryptocurrency transaction is suspi
some embodiments, the second factor score may increase for            cious based on the user profile associated with the third
a location associated with high risk and decrease for a               party . In certain embodiments , the requesting user may be a
location associated with low risk , depending on the circum - 25 trusted customer 102 of the enterprise and alert engine 230
stances associated with customer 102 . For example , if alert         may warn customer 102 of the risk in transacting with this
engine 230 determines the location is a country , and that            third party. The method then ends .
country is commonly associated with fraudulent IP           Modifications , additions , or omissions may bemade to the
addresses, then the second factor score may increase . In methods described herein without departing from the scope
some embodiments, alert engine 230 may compare the 30 of the invention . For example , the steps may be combined ,
requesting user IP address from the block chain information           modified , or deleted where appropriate , and additional steps
and the user profile IP address to calculate the second factor may be added . Additionally, the steps may be performed in
score . For example , if the user profile IP address is associ -  any suitable order without departing from the scope of the
ated with one state, but requesting user (which was deter- present disclosure . While discussed as alert engine 230
mined to be associated with this user profile ) utilizes an IP 35 performing the steps, any suitable component of enterprise
address that reflects a location in another state or country , cryptocurrency server 130 may perform one or more steps of
then the second factor score may increase because the the method.
 requesting user IP address does not match the user profile IP      Although the present invention has been described with
address.                                                          several embodiments , a myriad of changes , variations,
   In step 820 , alert engine 230 calculates a risk score for the 40 alterations , transformations , and modifications may be sug
user profile based at least in part upon the first factor score      gested to one skilled in the art, and it is intended that the
and the second factor score . In certain embodiments , alert present invention encompass such changes , variations ,
engine 230 calculates a risk score for the user profile based         alterations, transformations, and modifications as fall within
at least in part upon one or both of the first factor score and       the scope of the appended claims.
the second factor score . For example, if in step 818 , alert 45         FIG . 9 illustrates an example flowchart for facilitating
engine 230 determines a high second factor score because of           cryptocurrency risk detection . The method begins at step
a suspicious IP address , then alert engine 230 may determine         902 by receiving a request from a customer 102 to perform
a high risk score . As another example , if in step 816 , alert   a     cryptocurrency transaction with a third party . In some
engine 230 determines a low first factor score because there          embodiments , the request may be initiated by customer 102
are no or very few large transactions in the transaction 50 through an enterprise application on device 110 . In some
history of the user profile, then alert engine 230 may                embodiments, the request may be initiated by customer 102
calculate a low risk score .                                          utilizing a bank card , such as a debit card or credit card ,
   The method continues in step 822 and alert engine 230              when making a purchase . Examples of cryptocurrency trans
determines whether cryptocurrency transaction is suspicious           actions include making a purchase, transferring money from
based at least in part upon the user profile . In some embodi - 55 an account, and transferring money to an account. In some
ments , alert engine 230 determines the cryptocurrency trans -     embodiments , the third party may be a second customer 102
action is suspicious based on at least one of the first factor of the enterprise , a merchant, a retailer, a person outside the
score , second factor score , and risk score . For example , if the enterprise , an account outside the enterprise , or an account
risk score is high , it may indicate the user or third party with an unknown owner.
associated with the user profile has engaged in potentially 60 At step 904 , cryptocurrency risk detection engine 232
fraudulent transactions and thus makes it more likely that the        retrieves block chain information associated with the cryp
current requested transaction may also be suspicious. Alert           tocurrency transaction and identifies at least one block chain
engine 230 may compare the risk score to one or more                  factor based at least in part upon block chain information in
thresholds to determine whether the transaction is suspi-             step 906 . In some embodiments, a block chain factor may
cious. For example, if the risk score is 50 , alert engine 230 65 comprise a customer IP address, a third party IP address, a
may determine it is higher than the threshold of 20 and thus      customer public key, a third party public key , an age of the
alert engine 230 determines the transaction is suspicious.        customer public key , an age of a third party public key, or an
                                                     US 10 ,275 ,772 B2
age of the cryptocurrency . The block chain information may         rency risk detection engine 232 reviews the transaction
comprise one, some, or all of these block chain factors .           history associated with third party public key . In some
  Cryptocurrency risk detection engine 232 , in step 908 ,          embodiments , the review may include the transaction his
determines whether the at least one block chain factor              tory of other public keys located in the same wallet as the
identified in step 906 includes a customer IP address . The 5 third party public key . In some embodiments , the review
customer IP address is the IP address associated with cus -         includes the entire transaction history or only certain trans
tomer 102 of the enterprise . If the at least one block chain       actions. For example , cryptocurrency risk detection engine
factor does not include a customer IP address , the method          232 may review only transactions over a certain amount of
continues to step 914 . If the at least one block chain factor      cryptocurrency . As another example , the review may include
includes a customer IP address , then cryptocurrency risk 10 only transactions within a certain time period , such as
detection engine 232 , in step 910 , determines the location        transactions that occurred within the last one month , the last
associated with the customer IP address . In some embodi-           one year, or the last 5 years .
ments, the determined location may be a physical address,              In step 926 , cryptocurrency risk detection engine 232
GPS coordinates , a city , a state , or a country . In step 912 ,   calculates a factor score for the third party public key based
cryptocurrency risk detection engine 232 calculates a factor 15 at least in part upon the transaction history associated with
score for the customer IP address based at least in part upon   the third party public key . The factor score may be associ
the location associated with the customer IP address . In           ated with the potentially suspicious or seemingly fraudulent
some embodiments , the factor score may increase for a              past transactions associated with the third party public key.
location associated with high risk and decrease for a location In some embodiments, suspicious transactions , such as a
associated with low risk , depending on the circumstances 20 high value transaction of 1000 units of cryptocurrency , may
associated with customer 102 . For example , if cryptocur-          indicate a higher risk of fraudulent activity and thus increase
rency risk detection engine 232 determines the location is a        the factor score . In some embodiments , cryptocurrency risk
country , and that country is frequently associated with            detection engine 232 determines a pattern of spending based
fraudulent transactions , then the factor score may increase .      on the transaction history and then determines if the current
As another example , if it is known that customer 102 resides 25 transaction is a common transaction or an abnormal one
in a state, but the IP address reflects a location in another       compared to the transaction history . For example , if the third
state or country, then the factor score may increase because        party public key regularly transmits 1000 units of crypto
customer 102 is not in the normal location .                        currency on a weekly basis, then cryptocurrency risk detec
   Cryptocurrency risk detection engine 232 , in step 914           tion engine 232 may determine the requested transaction of
determines whether the at least one block chain factor 30 1000 units of cryptocurrency indicates a lower risk of
identified in step 906 includes a third party IP address . The fraudulent activity and thus decreases the factor score.
third party IP address is the IP address associated with third         Cryptocurrency risk detection engine 232 determines a
party . If the at least one block chain factor does not include     factor score for the at least one block chain factor in step
a third party IP address , the method continues to step 920 . 928 . In some embodiments, the at least one block chain
If the at least one block chain factor includes a third party IP 35 factor only includes a customer IP address, a third party IP
address , then cryptocurrency risk detection engine 232 , in        address, and a third party public key, such that there are no
step 916 , determines the location associated with the third        other factor scores to determine. If the at least one block
party IP address . In some embodiments , the determined             chain factor includes other block chain factors , for example ,
location may be a physical address, GPS coordinates, a city ,       an age of the customer public key , an age of the third party
a state , or a country . In step 918 , cryptocurrency risk 40 public key , or an age of the cryptocurrency, then cryptocur
detection engine 232 calculates a factor score for the third        rency risk detection engine 232 determines a factor score for
party IP address based at least in part upon the location           each of these other block chain factors. In some embodi
associated with the third party IP address . In some embodi-        ments, the factor score for the age of the customer public key
ments, the factor score may increase for a location associ-         and the factor score for the age of the third party public key
ated with high risk and decrease for a location associated 45 may increase as the age increases and decrease as the age
with low risk , depending on the circumstances . For example , decreases . For example, a new third party public key may
if cryptocurrency risk detection engine 232 determines the indicate a risk of fraudulent activity because a third party
location is a restricted country , and the enterprise is subject may have created it only to engage in a fraudulent transac
to restrictions that it cannot receives funds or send funds to   tion . In this example , cryptocurrency risk detection engine
the restricted country , then the factor score may increase. 50 232 may calculate a high factor score for the age of the third
   In step 920 , cryptocurrency risk detection engine 232 party public key . In some embodiments, an increase in age
determines whether the at least one block chain factor             of the cryptocurrency itselfmay decrease the factor score for
identified in step 906 includes a third party public key . If the age of the cryptocurrency. For example, a recently
cryptocurrency risk detection engine 232 determines that the       created unit of cryptocurrency may have been created
at least one block chain factor identified in step 906 does not 55 through fraudulentmeans, and it may indicate a higher risk ,
include a third party public key, then the method continues and thus increase the factor score for the age of the cryp
at step 928 . If cryptocurrency risk detection engine 232 tocurrency . Although certain embodiments are described , it
determines the at least one block chain factor identified in     should be understood that there can be any number of factor
step 906 includes a third party public key , then it retrieves   scores corresponding to one or more block chain factors .
the transaction history associated with the third party public 60 In step 930 , cryptocurrency risk detection engine 232
key in step 922 . In some embodiments , cryptocurrency risk         determines the amount of cryptocurrency associated with the
detection engine 232 may retrieve the transaction history           cryptocurrency transaction . Although different types of
from transactions 208 stored in the enterprise cryptocur-           cryptocurrencies use different units of cryptocurrency , cryp
rency server 130. In other embodiments, cryptocurrency risk    tocurrency risk detection engine 232 is able to determine the
detection engine 232 may retrieve the transaction history 65 amount of cryptocurrency in the appropriate unit . In addi
from a source outside the enterprise , such as the third party tion , cryptocurrency risk detection engine 232 can determine
enterprise server 150 or the internet. In step 924 , cryptocur      fractions of the unit of cryptocurrency . For example , cryp
                                                     US 10 ,275 ,772 B2
                              63                                                                  64
tocurrency risk detection engine 232 is able to determine the        detection engine 232 may determine suspicious activity . As
cryptocurrency transaction includes 1000 Bitcoins, 0 .001           another example, if the risk score is above the transaction
Litecoins, 1 million Namecoins , 7 .5 Dogecoins, 23 Peer            approval threshold , cryptocurrency risk detection engine
coins, or 1 Mastercoin .                                             232 may determine suspicious activity by the third party. If
   In step 932 cryptocurrency risk detection engine 232 5 cryptocurrency risk detection engine 232 determined in step
calculates a risk score for performing the cryptocurrency 940 that the risk score does not indicate potentially suspi
transaction based at least in part upon the block chain              cious activity by the third party , then the method ends.
information and the amount of cryptocurrency . The risk                If cryptocurrency risk detection engine 232 determined in
score may be calculated in a number of suitable ways . In            step 940 that the risk score indicates potentially suspicious
some embodiments, the risk score increases as the amount of 10 activity by the third party , then in step 942 the method
cryptocurrency increases assuming that the larger the trans -       communicates a notification to the customer that the risk
action the higher the risk of a fraudulent transaction . For        score indicates potentially suspicious activity by the third
example , if the transaction is for 2 million units of crypto -     party. In some embodiments , these communicationsmay be
currency , rather than 10 units of cryptocurrency , then the risk   delivered to device 110 through the enterprise application .
score may increase. In some embodiments , the risk score 15 For example , the communication may comprise a pop up
will be based at least in part upon the factor scores for the        notification from the enterprise application displaying a
at least one block chain factor. For example , cryptocurrency       message that the risk score indicates potentially suspicious
risk detection engine 232 may add all of the factor scores up        activity by the third party from the enterprise application . In
to determine the overall risk score . In some embodiments, certain embodiments, this communication may also include
cryptocurrency risk detection engine 232 may weight each 20 what the suspicious activity is, the highest factor score from
of the factor scores depending on the importance to risk of          the block chain factors , or the risk score comparison to the
fraud . For example, there may be a high concern related             threshold . This communication may also include informa
foreign IP addresses and thus cryptocurrency risk detection          tion regarding whether the transaction was approved . For
engine 232 may weight that factor score by two when                  example , a message may be displayed to customer 102
calculating the risk score . In some embodiments , cryptocur- 25 saying that although the transaction of receiving 2 Bitcoins
rency risk detection engine 232 determines the average ofall     from third party was approved , the third party ' s behavior is
of the factor scores when calculating the risk score . In some       suspicious because it was delivered from a suspicious coun
embodiments, cryptocurrency risk detection engine 232                try. As another example , the message may specify that the
calculates an overall factor score and multiples it by the third party 's transaction history includes transactions
amount of cryptocurrency .                                    30 involving over 2000 Litecoins on a daily basis . In some
   In step 934 , cryptocurrency risk detection engine 232        embodiments , the notification may include information
determines whether the transaction is approved based at          about why the third party 's activity is suspicious, but also
least upon the risk score . In some embodiments , cryptocur -    allow customer 102 to verify that customer 102 wants to
rency risk detection engine 232 compares the risk score to a    perform the transactions despite the high risk score and
threshold to determine whether the transaction is approved . 35 potentially suspicious activity. After communicating a noti
For example , if the risk score is above the threshold , then it     fication to customer, the method ends.
is not approved and if the risk score is below the threshold           Modifications, additions , or omissions may bemade to the
then it is approved . In some embodiments , the threshold may       methods described herein without departing from the scope
change depending on the customer, the third party , the type         of the invention . For example , the steps may be combined ,
of cryptocurrency, the amount of cryptocurrency , or any 40 modified , or deleted where appropriate , and additional steps
other factor relating to the transaction . For example , if the may be added . Additionally , the steps may be performed in
customer is long -term , important, reliable , or trustworthy,  any suitable order without departing from the scope of the
then the threshold may be set higher and allow the customer present disclosure . While discussed as cryptocurrency risk
to engage in higher risk transactions with a larger risk score .     detection engine 232 performing the steps, any suitable
    If cryptocurrency risk detection engine 232 determines 45 component of enterprise cryptocurrency server 130 may
that the transaction is approved in step 934 , then in step 936 , perform one or more steps of the method .
it is communicated to the customer and the third party that          Although the present invention has been described with
the transaction is approved . If cryptocurrency risk detection       several embodiments , a myriad of changes, variations,
engine 232 determines that the transaction is not approved in        alterations, transformations, and modifications may be sug
step 934 , then in step 938 , it is communicated to the 50 gested to one skilled in the art, and it is intended that the
customer and the third party that the transaction is not            present invention encompass such changes , variations ,
approved . In some embodiments, these communications                 alterations, transformations, and modifications as fall within
may be delivered to third party enterprise server 150 , device the scope of the appended claims.
 110 , or enterprise cryptocurrency server 130 . For example ,    FIG . 10 illustrates an example flowchart for facilitating
the communication may be in the form of an email associ- 55 cryptocurrency validation . The method begins at step 1002
ated with the customer 's account and display a message that by storing a customer profile associated with customer 102
the transaction is not approved . This communication may       in memory 202 or customer accounts 203 . Memory 202 and
also include one or more reasons why the transaction was or    customer accounts 203 may comprise a plurality of customer
was not approved in certain embodiments.                       profiles. In some embodiments , each customer 102 has an
    In step 940 , cryptocurrency risk detection engine 232 60 individual customer profile . In some embodiments , a cus
determines whether the risk score indicates potentially sus         t omer profile contains multiple customers 102 with a com
picious activity by the third party . In some embodiments,          monality , such as a common home address or a common
cryptocurrency risk detection engine 232 may determine               cryptocurrency account. For example , a mother and a daugh
suspicious activity if the risk score is above a certain   ter may have a single joint cryptocurrency account with the
threshold . For example, if the risk score is below the 65 enterprise and thus the customer profile may include infor
transaction approval threshold , but above the potentially           mation regarding both the mother and her daughter. In some
suspicious activity threshold , then cryptocurrency risk             embodiments , customer profile comprises information asso
                                                     US 10 ,275 ,772 B2
                              65                                                                      66
ciated with a customer 102, including, but not limited to , a          transaction history may include only transactions over a
customer name, a customer address , one ormore customer                certain amount of cryptocurrency . As another example , the
public cryptocurrency keys , one or more customer IP                   transaction history may include only transactions within a
addresses, one or more customer cryptocurrency wallets ,               certain time period, such as transactions that occurred within
and a cryptocurrency transaction history .                          5 the last one month , the last one year , or the last 5 years . In
   In step 1004 , validation engine 234 receives a request to          certain embodiments , the transaction history of customer
perform a cryptocurrency transaction with a third party .              102 may include only transactions from a certain public key,
Examples of cryptocurrency transactions include making a               transactions from one or more public keys contained in the
purchase , transferring money from an account, and trans -             samewallet, or a combination of these transactions. The first
ferring money to an account. In some embodiments , the 10 factor score may be associated with the suspicious or
request may be initiated by customer 102 through an enter              seemingly fraudulent past transactions associated with cus
prise application on device 110 . For example , customer 102           tomer 102 . In some embodiments , suspicious transactions ,
may use device 110 to request to transfer funds from a                 such as a high value transaction of 1000 units of cryptocur
cryptocurrency account to a third party on device 110 . In             rency , may indicate a higher risk of fraudulent activity and
some embodiments, the request may be initiated by cus - 15 thus increase the first factor score. In some embodiments ,
tomer 102 utilizing a cryptocurrency bank card , such as a             validation engine 234 determines a pattern of spending
debit card or credit card encoded with cryptocurrency infor -          based on the transaction history and is able to determine if
mation associated with a customer account 203 associated               the current transaction is a common transaction or an
with customer 102 , when making a purchase . For example ,     abnormal one compared to the transaction history . For
customer 102 may be using a cryptocurrency debit card to 20 example , if customer 102 regularly transmits 1000 units of
purchase a basketball from a third party 's website , such as cryptocurrency on a weekly basis , then validation engine
a sporting goods store . In some embodiments , the third party 234 may determine the requested transaction of 1000 units
may be a merchant, a retailer, a business , a person outside   of cryptocurrency indicates a lower risk of fraudulent activ
the enterprise , or an account outside the enterprise .        ity and thus decrease the first factor score .
   In step 1006 , validation engine 234 determines the 25 In step 1012 , validation engine 234 calculates a second
amount of cryptocurrency involved in the cryptocurrency       factor score based at least in part upon the customer IP
transaction . Although differenttypes of cryptocurrencies use address. In some embodiments, validation engine 234 deter
different units of cryptocurrency, validation engine 234 may mines a location associated with the customer IP address. In
determine the amount of cryptocurrency in the appropriate      some embodiments , the determined location may be a physi
unit . In addition , validation engine 234 may determine 30 cal address, GPS coordinates, a city, a state , or a country . In
fractions of the unit of cryptocurrency . For example , cryp - some embodiments , the second factor score may increase for
tocurrency risk detection engine 232 is able to determine a location associated with high risk and decrease for a
that the cryptocurrency transaction includes 1000 Bitcoins ,           location associated with low risk , depending on the circum
0 .001 Litecoins , 1 million Namecoins, 7 .5 Dogecoins, 23             stances associated with customer 102 . For example, if
Peercoins, or 1 Mastercoin . In certain embodiments, a 35 validation engine 234 determines the location is a country,
cryptocurrency transaction may include a plurality of types            and that country is commonly associated with fraudulent IP
of cryptocurrency and validation engine 234 determines the             addresses , then the second factor score may increase. As
amount of each individual cryptocurrency . For example ,               another example , if it is known that customer 102 resides in
validation engine 234 may determine that a cryptocurrency              one state , but the IP address reflects a location in another
transaction involves 1 Bitcoin , 2 Dogecoins, and 0 . 001 40 state or country , then the second factor score may increase
Mastercoins. Validation engine 234 may also determine                  because customer 102 sends a request to transfer funds from
exchange rates between the types of cryptocurrencies, such             an abnormal location for customer 102 .
that it can determine an objective amount of total crypto -               In step 1014 , validation engine 234 determines the trust
currency involved in the transaction . For example, valida             worthiness of customer 102 based at least upon the stored
tion engine 234 may determine a cryptocurrency transaction 45 customer profile . In certain embodiments , the trustworthi
involving 1 Bitcoin , 2 Dogecoins, and 0 . 001 Master coins is         ness may be stored in the customer profile . The enterprise
equivalent to 5 Litecoins.                                             may have previously determined that customer 102 is trust
   In step 1008 , validation engine 234 determines the type of         worthy because , for example , customer 102 has a long
cryptocurrency involved in the cryptocurrency transaction .            history as a customer of the enterprise and the enterprise has
For example , validation engine 234 may determine that only 50 experienced no issues with the accounts or activities of
Bitcoins are involved in the requested transaction . In certain        customer 102 . Also , validation engine 234 may determine
embodiments , validation engine 234 determines that mul-               the trustworthiness of customer 102 based at least in part
tiple types of cryptocurrency are involved in the cryptocur-           upon the first factor score and / or the second factor score . For
rency transaction . For example, validation engine 234 may             example , if in step 1012 , validation engine 234 determines
determine that the transaction includes two types of cryp - 55 a high factor score because of a suspicious IP address , then
tocurrencies, but does not specify which types of cryptocur-           validation engine 234 may determine that customer 102 is
rency . In certain embodiments , validation engine 234 deter -         not trustworthy. As another example , if in step 1010 , vali
mines the specific type of cryptocurrencies involved in the            dation engine 234 determines a low first factor score because
transaction . For example, validation engine 234 may deter -           there are no or very few large transactions in the transaction
mine that the transaction includes Peercoins and Dogecoins , 60 history of customer 102 , then validation engine 234 may
or that the transaction includes Bitcoins, Dogecoins, and       determine customer 102 is trustworthy. In some embodi
Mastercoins.                                                           ments , the trustworthiness of customer 102 may be repre
   In step 1010 , validation engine 234 calculates a first factor      sented by a sliding scale , a number, a checkmark , a yes , a no ,
score based at least in part upon the transaction history of           or a verbal qualifier such as very, incredibly , not, not very ,
customer 102 . In some embodiments , the transaction history 65 or not at all .
may include the entire transaction history of customer 102 or             In step 1016 , validation engine 234 calculates a risk score
may include only certain transactions. For example, the                for the cryptocurrency transaction based at least in part upon
                                                        US 10 ,275,772 B2
                                67                                                                68
the amount of cryptocurrency , the type of cryptocurrency,              number of received validations is greater than , less than , or
and the trustworthiness of the customer. The risk score may             equal to the number of required validations . For example ,
be calculated in a number of suitable ways . In some embodi-            validation engine 234 may receive two validations and
ments, the risk score increases as the amount of cryptocur              determine this is less than the five required validations.
rency increases assuming that the larger the transaction , the 5    The method continues to step 1026 , where validation
higher the risk of a fraudulent transaction . For example , if   engine 234 determines whether the number of received
the transaction is for 2 million units of cryptocurrency, then          validations complies with the number of required valida
the risk score will increase .                                          tions . In certain embodiments , the number of received
   In some embodiments , the risk score may be based upon               validations must be equal to or greater than the number of
the type of cryptocurrency. For example , Litecoin may be 10 required validations for validation engine 234 to determine
more likely to involve a fraudulent transaction , while Doge -          they comply with each other. For example , validation engine
coin may be less likely to involve a fraudulent transaction .           234 may determine in step 1020 that the three received
Thus, if validation engine 234 determines the cryptocur -               validations is greater than the required number of two
rency transaction involves Litecoin , then the risk score may           validations and thus validation engine 234 determines that
increase , but if the cryptocurrency transaction involves 15 the number of received validations complies with the num
Dogecoin , then the risk score may decrease . As another     ber of required validations.
example , a “mixed ” cryptocurrency transaction that includes              If validation engine 234 determines that the number of
multiple types of cryptocurrency , for example 1 Bitcoin and            received validations complies with the number of required
 2 Litecoins, may indicate an increase in the risk of a                 validations in step 1026 , then in step 1028 , validation engine
fraudulent transaction . Thus, if validation engine 234 deter - 20 234 sends a notification to the third party that the crypto
mines the cryptocurrency transaction is a “mixed ” crypto -             currency transaction is confirmed and the method ends. In
currency transaction , then the risk score may increase .               some embodiments , sending a notification to the third party
  In certain embodiments , the risk score may decrease if               may simplify the process of third parties accepting crypto
customer 102 is trustworthy. For example , if the amount and            currency as payment from customer 102. For example ,
type of cryptocurrency creates a high risk score , but vali- 25 validation engine 234 sending a notification to the third
dation engine 234 determines customer 102 is incredibly         party that the cryptocurrency transaction is confirmed does
trustworthy, then validation engine 234 may lower the risk              not require that the third party determine the number of
score associated with the cryptocurrency transaction . As               validations itself. If validation engine 234 determines that
another example , if validation engine 234 determines cus -             the number of received validations does not comply with the
tomer 102 is only moderately trustworthy, then the risk score 30 number of required validations in step 1026 , then in step
may neither increase nor decrease .                                     1030 , validation engine 234 sends a notification to customer
   In some embodiments, validation engine 234 may weight                102 and the third party that the cryptocurrency transaction is
each of the factors contributing to the risk score depending            not confirmed . In some embodiments, validation engine 234
on the importance of risk of fraud . For example , it may be            may transmit the notification to third party enterprise server
known by validation engine 234 that the amount of the 35 150 . Validation engine 234 may transmit the notification to
cryptocurrency transaction is the biggest factor contributing           a third party device , such as the one that requested the
to whether the transaction is likely fraudulent. Thus valida            transaction , in some embodiments . For example , if customer
tion engine 234 may more heavily weight this factor in                  102 attempts to pay for an item at a third party retailer store
determining the risk score .                                 with a bank cryptocurrency card or with device 110 , then
   In step 1018 , validation engine 234 compares the risk 40 validation engine 234 may transmit the notification to the
score to at least one threshold . In certain embodiments, the           cash register attempting to complete the purchase for cus
at least one threshold may be predetermined or may be                   tomer 102 .
configured by enterprise cryptocurrency server 130 or vali-                The method continues in step 1032 , where validation
dation engine 234 . Validation engine 234 may determine that            engine 234 may communicate a request to customer 102 to
the risk score is greater than , less than , or equal to the 45 retransmit cryptocurrency . The request may be in the form of
threshold in certain embodiments . In some embodiments ,        a notification , as described above , that customer 102
validation engine 234 may determine that the risk score is      receives on device 110 . For example , the notification may be
between one or more thresholds. For example , if there are      communicated as an email, text message, alert in the cus
three thresholds of 10 , 50 , and 100 , and the risk score is 50 .5 ,   tomer account, or a pop up on the enterprise application . The
validation engine 234 may determine that the risk score is 50 method then ends.
 greater than the threshold of 50 and less than the threshold   Modifications, additions , or omissions may bemade to the
of 100 .                                                      methods described herein without departing from the scope
   In step 1020 , validation engine 234 determines the num -             of the invention . For example , the steps may be combined ,
ber of required validations to confirm the cryptocurrency               modified , or deleted where appropriate , and additional steps
transaction . In some embodiments , a number of thresholds 55 may be added . Additionally , the steps may be performed in
may correspond to the number of required validations to       any suitable order without departing from the scope of the
confirm the cryptocurrency transaction . Using the example    present disclosure . While discussed as validation engine 234
above , validation engine 234 may determine a risk score performing the steps , any suitable component of enterprise
below threshold 10 requires 1 validation , a risk score                 cryptocurrency server 130 may perform one or more steps of
between thresholds 10 and 50 requires 2 validations, a risk 60 the method.
score between thresholds 50 and 100 requires 4 validations ,     FIG . 11 illustrates an example flowchart for facilitating
and a risk score above threshold 100 requires 6 validations.            cryptocurrency storage in an online vault that may be
   In step 1022 , validation engine 234 receives a number of implemented by the example systems of FIG . 1 and /or FIG .
validations from a plurality of miners and in step 1024 ,     2 . At step 1102, enterprise cryptocurrency server 130 may
validation engine 234 compares the number of received 65 receive an electronic request to store a private key associated
validations to the number of required validations. In certain with cryptocurrency . For example , enterprise cryptocur
embodiments, validation engine 234 may determine the rency server 130 may receive such a request over links 116 .
                                                       US 10 ,275 ,772 B2
                               69                                                                    70
The request may be in conjunction with or may include a                currency server 130 may associate the quantity of crypto
request to store or associate cryptocurrency with a certain            currency with the customer account 203 . Next, at step 1206 ,
customer account 203. In response to the request, at step              enterprise cryptocurrency server 130 may deposit the quan
1104 enterprise cryptocurrency server 130 may use vault                tity of cryptocurrency into an offline vault 212 that may be
engine 236 to generate a first vault key based at least in part 5 communicatively coupled to enterprise cryptocurrency
upon the private key .Avault key may be any suitable portion           server 130 . In certain embodiments, depositing the quantity
of the received private key thatmay be stored in online vault          of cryptocurrency may comprise storing one or more private
210 .
   At step 1106 , vault engine 236 may determine whether a keys    offline
                                                                          associated with the quantity of cryptocurrency in
                                                                           vault 212 . According to some embodiments, a func
function or algorithm (e .g., hash function , encryption func - 10 tion or algorithm  may be applied to the one or more private
tion , etc .) should be applied to the first vault key. If no keys before storage        in offline vault 212 .
function or algorithm may be applied , then the example                  At step 1208 , after deposit , vault engine 236 may deter
method may proceed to step 1110 . Otherwise , in response to
determining that a hash function , for example , at step 1108 ,        mine whether a threshold has been exceeded involving
                                                                 offline vault 212 . For example, the threshold may be related
may be applied to the first generated vault key, vault engine 15 01
236 may apply the hash function to the second vault key. to a total amount of cryptocurrency , private keys associated
Vault engine 236 may do this by selecting a particular hash
function from a plurality of hash functions . In certain       any other suitable quantifiable information associated with
embodiments, the selection may be based on the geographic depositing cryptocurrencies in offline vault 212 . If the
location of where the first vault key may be stored . After 20 threshold is not exceeded , the example method may end. If
applying the hash function , vault engine 236 may store                the threshold is exceeded , then , at step 1210 , vault engine
information associated with the generated first vault key             2 36 may communicate a message to facilitate the discon
such that that the private key may be retrieved by enterprise         n ection of offline vault 212 . In certain embodiments , the
cryptocurrency server 130 subsequent to the storage in                 disconnection may be from network 120 , from data center
online vault 210 . The example method may proceed to step 25 server 160, or enterprise cryptocurrency server 130 . Accord
1110 .                                                       ing to some embodiments, the hardware containing the
  Next, at step 1110 , vault engine 236 may generate a                 now -disconnected offline vault 212 may be physically
second vault key based at least in part upon the private key.          secured.
The second vault key may be any suitable portion of the                  FIG . 13 illustrates an example flowchart for facilitating
received private key that may be stored in online vault 210 . 30 peer -to -peer cryptocurrency transactions that may be imple
The second vault key may be a distinct portion of the private         mented by the example systems of FIG . 1 and/ or FIG . 2 . In
key from the portion of the private key used for the first vault       general, the method begins at step 1302, where customer
key or there may be some overlap . At step 1112 , vault engine
236 may determine whether a function or algorithm ( e . g .,           102 may initiate a request for a financial transaction to
hash function , encryption function , etc.) should be applied to 3535 may
                                                                      "transfer funds from a source to a destination . Customer 102
                                                                             select virtual account 172 as either the source to
the second vault key. If no function or algorithm may be transfer               funds out of virtual account 172 ) or the destination
applied , then the example method may proceed to step 1116 .
Otherwise , in response to determining that a hash function , ( to transfer funds into virtual account 172 ). Enterprise
for example , may be applied to the second generated vault cryptocurrency server 130 may receive such a request over
key, at step 1114 , vault engine 236 may apply the hash 40 links 116 from payment service server 170 . At step 1304, in
function to the second vault key . Vault engine 236 may do    response , enterprise cryptocurrency server 130 determines
this by selecting a particular hash function from a plurality that customer 102 initiated the request for the financial
ofhash functions. In certain embodiments, the selection may   transaction to transfer an amount of currency . Next, at step
be based on the geographic location of where the second                1306 , peer- to -peer engine 238 may validate the financial
vault key may be stored . According to some embodiments 45 transaction based at least upon the data received from
the function applied to the second vault key may be different          payment service center 170 . In certain embodiments, enter
than the function applied to the first vault key . After applying      prise cryptocurrency server 130 may receive the data over a
the hash function , vault engine 236 may store information             dedicated interface with the payment service server 170 .
associated with the generated second vault key such that that             At step 1308 , peer -to -peer engine 238 may also determine
the private key may be retrieved by enterprise cryptocur- 50 that a certain virtual account 172 is associated with a certain
rency server 130 subsequent to the storage in online vault             customer account 203 based at least upon the data received
210 . The example method may proceed to step 1116 .                    from the payment service server 170 . If the financial trans
  Once the vault keys are generated , at step 1116 , vault             action passes validation , peer - to -peer engine 238 may deter
engine 236 may facilitate the storage of the vault keys in            mine a quantity of cryptocurrency equivalent to the amount
online vaults 210 . For example , vault engine 236 may 55 of currency at step 1310 . For example , peer -to -peer engine
facilitate the storage of the first vault key in a first online       238 may determine a quantity of cryptocurrency that has the
vault 210 at a first data center ( e. g ., data center server 160a ). same approximate value as the amount of currency.
Next, at step 1118 , vault engine 236 may facilitate the                Next, at step 1312 , peer-to -peer engine 238 may deter
storage of the second vault key in a second online vault 210           mine whether the quantity of cryptocurrency exceeds the
at a second data center ( e . g ., data center server 160b ) .      60 total quantity of cryptocurrency associated with customer
   FIG . 12 illustrates an example flowchart for facilitating          account 203 . If not, the example method may proceed to step
cryptocurrency storage in an offline vault that may be                 1316 . If so , then peer -to - peer engine 238 may purchase , at
implemented by the example systems of FIG . 1 and /or FIG .            step 1314 , on the behalf of customer 102 , the difference in
2 . The example method may start at step 1202, where                   quantities. For example ,peer-to -peer engine 238 may facili
enterprise cryptocurrency server 130 may receive a request 65 tate the purchase of the cryptocurrency from an exchange
to deposit a quantity of cryptocurrency into a customer       server 140 . Peer- to -peer engine 238 may then transfer, at
account 203. In response, at step 1204, enterprise crypto              step 1316 , the quantity of cryptocurrency to payment service
                                                   US 10 ,275,772 B2
                           71                                                                          72
server 170. In certain embodiments , this may involve the                2. The system of claim 1, the one or more processors
transfer of private and /or public keys associated with the            further operable to :
quantity of cryptocurrency .                                             determine whether the transaction is approved based at
  Although the present invention has been described with                     least in part upon the risk score ; and
several embodiments , a myriad of changes, variations, 5                 communicate to the customer and the third party whether
alterations, transformations, and modifications may be sug                  the transaction is approved .
gested to one skilled in the art, and it is intended that the            3 . The system of claim 1, the one or more processors
present invention encompass such changes, variations,              further operable to :
alterations , transformations, and modifications as fall within      determine whether the risk score indicates suspicious
the scope of the appended claims.                               10      activity by the third party ; and
                                                                         communicate a notification to the customer that the risk
  What is claimed is:                                                        score indicates suspicious activity by the third party.
  1. A cryptocurrency risk detection system , comprising one             4 . The system of claim 1 , wherein calculating a risk score
or more processors operable to :                                       comprises:
  receive a request from a customer account to perform a 15              identifying at least one additionalblock chain factor based
     cryptocurrency transaction with a third party, the cus                 at least in part upon the block chain information ;
     tomer account being associated with a customer public               determining a factor score for the at least one additional
    key ;                                                                   block chain factor ; and
  retrieve block chain information associated with the cryp              wherein the risk score is based further at least in part upon
     tocurrency transaction ;                                     20        the factor score for the at least one additional block
  identify at least one block chain factor based on the block               chain factor.
     chain information ;                                                 5 . The system of claim 4 , wherein the at least one
  determine that at least one block chain factor includes an           additional block chain factor comprise at least one of a
    age of a cryptocurrency associated with the cryptocur -      customer IP address, a third party IP address , a customer
     rency transaction ;                                      25 public key , an age of the customer public key, an age of the
  calculate a factor score for the age of the cryptocurrency ; third party public key , and an age of the cryptocurrency .
  determine that at least one block chain factor includes a         6 . The system of claim 4 , the one or more processors
    third party public key ;                                     further operable to : determine whether the at least one block
  in response to determining that the atleast one block chain          chain factor includes a customer IP address :
    factor includes the third party public key :              30          in response to determining whether the at least one block
    review a transaction history associated with the third                   chain factor includes a customer IP address :
       party public key ;                                                   determine a location associated with the customer IP
    calculate a factor score for the third party based on the                 address ; and
       transaction history ;                                             calculate a factor score for the customer IP address based
     determine that there is at least one additional public key 35         at least in part upon the location associated with the
       in a same wallet as the third party public key ;                     customer IP address ;
     in response to determining that that there is at least one          determine whether the at least one block chain factor
       additional public key in the same wallet as the third               includes a third party ) IP address ;
       party public key :                                                in response to determining whether the at least one block
       review a transaction history associated with the at 40               chain factor includes a third party IP address :
          least one additional public key in the same wallet                determine a location associated with the third party IP
            as the third party public key;                                    address; and
       update the factor score for the third party based on              calculate a factor score for the third party IP address based
            the transaction history associated with the at least            at least in part upon the location associated with the
            one additional public key in the samewallet as the 45           third party IP address .
         third party public key ;                                        7 . A cryptocurrency risk detection engine comprising
  determine the amount of cryptocurrency associated with       instructions stored in a memory , the instructions, when
    the cryptocurrency transaction;                            executed by a processor, operable to cause the risk detection
  calculate a risk score for performing the cryptocurrency     engine to :
    transaction based at least in part upon the factor score 50 receive a request from a customer account to perform a
    for the third party and the amount of cryptocurrency ;          cryptocurrency transaction with a third party , the cus
  determine, based on the risk score, that the cryptocurrency               tomer account being associated with a customer public
     transaction is approved ;                                             key ;
  select a hash function from a plurality of hash functions              retrieve block chain information associated with the cryp
     based on the geographic location of a data center server 55            tocurrency transaction ;
    where a token representing the customer public key                   identify at least one block chain factor based on the block
    may be stored ;                                                        chain information ;
  apply the hash function to generate the token representing             determine that at least one block chain factor includes an
    the customer public key ;                                               age of a cryptocurrency associated with the cryptocur
  store the token in the data center server;            60                  rency transaction ;
  encode the token representing the customer public key                  calculate a factor score for the age of the cryptocurrency ;
    onto a payment instrument to conduct the cryptocur                   determine that at least one block chain factor includes a
     rency transaction ;                                                    third party public key ;
  electronically link the customer account to the payment                in response to determining that the at least one block chain
     instrument by encoding the token ; and                65               factor includes the third party public key :
  execute the cryptocurrency transaction using the payment                  review a transaction history associated with the third
     instrument.                                                              party public key ;
                                                    US 10 ,275 ,772 B2
                                73                                                          74
     calculate a factor score for the third party based on the       determine whether the at least one block chain factor
        transaction history ;                                           includes the customer IP address ;
     determine that there is at least one additional public key      in response to determining whether the at least one block
        in a same wallet as the third party public key ;                chain factor includes the customer IP address :
     in response to determining that that there is at leastone 5        determine a location associated with the customer IP
        additional public key in the same wallet as the third             address; and
        party public key:                                              calculate a factor score for the customer IP address
        review a transaction history associated with the at              based at least in part upon the location associated
           least one additional public key in the same wallet 10         with the customer IP address ;
           as the third party public key ;                           determine whether the at least one block chain factor
        update the factor score for the third party based on            includes the third party IP address;
           the transaction history associated with the at least      in response to determining whether the at least one block
           one additional public key in the same wallet as the          chain factor includes the third party IP address:
           third party public key ;                                    determine a location associated with the third party IP
                                                                15        address; and
   determine the amount of cryptocurrency associated with               calculate a factor score for the third party IP address
     the cryptocurrency transaction ;                                       based at least in part upon the location associated
   calculate a risk score for performing the cryptocurrency                 with the third party IP address.
     transaction based at least in part upon the factor score        12 . AA cryptocurrency risk detection method , comprising :
                                                                     12
     for the third party and the amount of cryptocurrency ; 20       receiving a request from a customer account to perform a
  determine, based on the risk score, that the cryptocurrency          cryptocurrency transaction with a third party , the cus
    transaction is approved ;                                           tomer account being associated with a customer public
  select a hash function from a plurality of hash functions            key ;
     based on the geographic location of a data center server        retrieving block chain information associated with the
     where a token representing the customer public key 25             cryptocurrency transaction ;
    may be stored ;                                                  identifying at least one block chain factor based on the
  apply the hash function to generate the token representing            block chain information ;
    the customer public key ;                                        determining, using a processor, that at least one block
  store the token in the data center server;                           chain factor includes an age of a cryptocurrency asso
  encode the token representing the customer public key 30             ciated with the cryptocurrency transaction ;
     onto a payment instrument to conduct the cryptocur-             calculating, using the processor, a factor score for the age
     rency transaction ;                                               of the cryptocurrency ;
   electronically link the customer account to the payment           determining, using the processor, that at least one block
     Instrument by encoding the token ; and                             chain factor includes a third party public key ;
   execute the cryptocurrency transaction using the payment 35       in response to determining that the at least one block chain
      instrument .                                                     factor includes the third party public key ;
   8 . The cryptocurrency risk detection engine of claim 7 ,           reviewing , using the processor, a transaction history
wherein the risk assessment engine is further operable to :               associated with the third party public key ;
  determine whether the transaction is approved based at               calculating, using the processor, a factor score for the
     least in part upon the risk score ; and                40           third party based on the transaction history ;
   communicate to the customer and the third party whether             determining, using the processor, that there is at least
      the transaction is approved .                                       one additional public key in a same wallet as the
   9 . The cryptocurrency risk detection engine of claim 7 ,              third party public key ;
wherein the cryptocurrency risk detection engine is further            in response to determining that that there is at least one
operable to :                                               45            additional public key in the same wallet as the third
  determine whether the risk score indicates suspicious                   party public key :
      activity by the third party ; and                                   reviewing , using the processor, a transaction history
   communicate a notification to the customer that the risk                 associated with the at least one additional public
      score indicates suspicious activity by the third party .                  key in the same wallet as the third party public
   10 . The cryptocurrency risk detection engine of claim 7 , 50            key ;
wherein the cryptocurrency risk detection engine is further               updating , using the processor, the factor score for the
operable to :                                                                third party based on the transaction history asso
  identify at least one additionalblock chain factor based at                   ciated with the at least one additional public key in
     least in part upon the block chain information, wherein                    the same wallet as the third party public key ;
     the at least one additional block chain factor comprises 55     determining,