# US 12,117,993 B2 · Systems and methods for automated recovery of blockchain-based accounts

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,117,993 B2
- Document ID: US12117993B2
- Status: Granted
- Kind: B2
- Application number: 18/350,245
- Filed: 2023-07-11
- Published: 2023-11-02
- Granted: 2024-10-15
- Earliest claimed: 2019-05-02
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Adam Vukich; Kevin P. Kelly; Adnan Malik; Mykhaylo Bulgakov; William Carroll; Steven Quadros; Abdelkader Benkreira
- Web page: https://patentgrep.com/patent/US12117993B2

## CPC

- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06Q 10/10: Office automation; Time management
- G06Q 20/065: {using e-cash}
- G06Q 20/36: using electronic wallets or electronic money safes
- G06Q 20/40: Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 63/123: {received data contents, e.g. message integrity}
- G06Q 2220/00: Business processing using cryptography
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method of recovering blockchain wallet items, the method including: configuring a first smart contract to authorize a second smart contract to initiate transfer of one or more wallet items registered to the first smart contract to a location specified by the second smart contract; configuring the second smart contract to initiate transfer of the one or more wallet items from the first smart contract in response to receiving a first recovery verifier; receiving, via an API and by the second smart contract, a wallet recovery request associated with the first smart contract, the wallet recovery request specifying a third smart contract as being a recipient wallet; and based on the wallet recovery request and responsive to receiving the first recovery verifier, initiating, by the second smart contract, a transfer of the one or more wallet items from the first smart contract to the third smart contracts.

## Claims

### Claim 1

A method of recovering blockchain wallet items, the method comprising:
configuring a first smart contract with a recovery logic authorizing a second smart contract to initiate transfer of one or more wallet items registered to the first smart contract to a recipient wallet specified by the second smart contract;
receiving, by the second smart contract, a wallet recovery request received from a user account associated with the first smart contract;
generating, by an instantiation logic of the second smart contract, a third smart contract as the recipient wallet, by registering the third smart contract to a blockchain at a third blockchain address, wherein the third smart contract is customized to the user account by using the instantiation logic to modify an existing code file of a template recovery wallet based on user account attributes, the user account attributes comprising at least a delivery method for providing a private key associated with the third smart contract to a user associated with the user account;
receiving, by the second smart contract, a first recovery verifier;
relaying, by the second smart contract, the third blockchain address of the third smart contract to the recovery logic; and
initiating by the second smart contract, a transfer of the one or more wallet items from the first smart contract to the third smart contract by executing a routine of the recovery logic.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
configuring the third smart contract to authorize the second smart contract to initiate transfer of one or more wallet items registered to the third smart contract to a blockchain address specified by the second smart contract; and
configuring, by one or more processors, the second smart contract to initiate transfer of the one or more wallet items from the third smart contract in response to receiving a second recovery verifier.

### Claim 3 (depends on 2)

The method of claim 2, wherein the second recovery verifier is identical to the first recovery verifier.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
responsive to the completion of the transfer of the one or more wallet items from the first smart contract to the third smart contract, deregistering the third blockchain address of the third smart contract from the blockchain.

### Claim 5 (depends on 1)

The method of claim 1, wherein initiating the transfer of the one or more wallet items from the first smart contract to the third smart contract comprises initiating a transfer of a portion of the one or more wallet items from the first smart contract to the second smart contract.

### Claim 6 (depends on 1)

The method of claim 1, further comprising: delivering to the user, the private key associated with the third smart contract, via the delivery method specified in the modified code file of the third smart contract.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
the first recovery verifier comprises receiving a multi-signal trigger from a plurality of verifier smart contracts,
the method further comprises configuring the second smart contract to accept the multi-signal trigger from the plurality of verifier smart contracts, and
the multi-signal trigger comprises a predetermined passcode sent from each of the plurality of verifier smart contracts.

### Claim 8 (depends on 1)

The method of claim 1, wherein:
the delivery method specified in the modified code file of the third smart contract is email; and
the third smart contract is configured with an additional recovery logic to initiate transfer of one or more wallet items registered to the third smart contract to a recipient wallet blockchain address specified by the second smart contract.

### Claim 9 (depends on 1)

The method of claim 1, wherein:
the existing code file of the template recovery wallet further comprises one or more unalterable portions, wherein the one or more unalterable portions comprises conditions to initiate return of the one or more wallet items to the first smart contract.

### Claim 10

A system for recovering blockchain wallet items comprising:
one or more processors;
a transceiver; and
a memory having stored thereon computer program code that, when executed by the processor, controls the one or more processors to:
configure a first smart contract with a recovery logic configured to receive a recovery blockchain address that authorizes a second smart contract to initiate transfer of one or more wallet items registered to the first smart contract to the recovery blockchain address specified by the second smart contract;
receive, via the transceiver, a wallet recovery request from a user account associated with the first smart contract;
generate, by an instantiation logic of the second smart contract, a third smart contract as a recipient wallet, by registering the third smart contract to the blockchain at a third blockchain address, wherein the third smart contract is customized to the user account by using the instantiation logic to modify an existing code file of a template recovery wallet based on user account attributes;
receive, via the transceiver, a first recovery verifier;
relay, using the second smart contract, the third blockchain address of the third smart contract to the recovery logic of the first smart contract; and
initiate a transfer of the one or more wallet items from the first smart contract to the third smart contract by executing a routine of the recovery logic.

### Claim 11 (depends on 10)

The system of claim 10, wherein the computer program code, when executed by the one or more processors, further controls the one or more processors to:
configure the third smart contract to authorize the second smart contract to initiate transfer of one or more wallet items registered to the third smart contract to a blockchain address specified by the second smart contract; and
configure the second smart contract to initiate transfer of the one or more wallet items from the third smart contract in response to receiving a second recovery verifier.

### Claim 12 (depends on 10)

The system of claim 10, wherein:
the user account attributes comprise at least a delivery method for providing a private key associated with the third smart contract to a user associated with the user account.

### Claim 13 (depends on 10)

The system of claim 10, wherein initiating the transfer of the one or more wallet items from the first smart contract to the third smart contract comprises initiating a transfer of a portion of the one or more wallet items from the first smart contract to the second smart contract.

### Claim 14 (depends on 10)

The system of claim 10, wherein:
the existing code file of the template recovery wallet further comprises unalterable portions; and
the system is further configured to receive log-in credentials for the user account associated with the first smart contract.

### Claim 15 (depends on 10)

The system of claim 10, wherein the first recovery verifier comprises a multi-signal trigger received from a plurality of verifier smart contracts, each multi-signal trigger comprising a predetermined passcode.

### Claim 16

A method of recovering blockchain wallet items, the method comprising:
receiving, by one or more processors from a user device, log-in credentials associated with a user account, wherein:
the user account is associated with a user smart wallet, the user smart wallet comprising a recovery logic; and
the recovery logic is configured to allow a recovery agent to transfer items stored in the user smart wallet;
receiving, from the user device, an indication that a key associated with the user smart wallet associated with the user account has been lost;
initiating, by the one or more processors, the recovery agent;
instantiating, by the one or more processors, using an instantiation logic of the recovery agent, a recovery smart wallet, wherein the instantiation logic generates the recovery smart wallet based on a template recovery wallet and by registering the recovery smart wallet to the blockchain at a third blockchain address;
providing, by the recovery agent, the third blockchain address to the recovery logic;
transferring, by the one or more processors, the items stored in the user smart wallet to the recovery smart wallet by executing a routine of recovery logic; and
associating, by the one or more processors, the recovery smart wallet with the user account.

### Claim 17 (depends on 16)

The method of claim 16, further comprising receiving, with the one or more processors, from a plurality of verifier smart contracts, a predetermined recovery phrase, wherein the verifier smart contracts and a recovery phrase are pre-established through the user smart wallet.

### Claim 18 (depends on 16)

The method of claim 16, wherein:
the user account attributes comprise at least a delivery method for providing a private key associated with the recovery smart wallet to an owner associated with the user account.

### Claim 19 (depends on 16)

The method of claim 16, further comprising receiving, with the one or more processors, from an organization associated with the recovery agent, a confirmation of user identity of an owner of the user account.

### Claim 20 (depends on 16)

The method of claim 16, further comprising transferring, with the one or more processors, a portion of the one or more wallet items from the user smart wallet to the recovery agent.
