US 11,741,440 B2
Systems and methods for withdrawal consolidation
Bojan Joveski, San Francisco, CA (US); Paul Collier, San Francisco, CA (US); Maksim Stepanenko, San Francisco, CA (US); Justin O'Brien, San Francisco, CA (US); Vipul Patil, San Francisco, CA (US); and Sahil Amoli, San Francisco, CA (US)
Assigned to Coinbase, Inc., Oakland, CA (US)
Filed by Coinbase, Inc., San Francisco, CA (US)
Filed on Oct. 13, 2021, as Appl. No. 17/500,578.
Application 17/500,578 is a continuation of application No. 16/810,677, filed on Mar. 5, 2020, granted, now 11,151,525.
Claims priority of provisional application 62/836,259, filed on Apr. 19, 2019.
Claims priority of provisional application 62/814,194, filed on Mar. 5, 2019.
Prior Publication US 2022/0036322 A1, Feb. 3, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06Q 20/36 (2012.01); G06Q 20/06 (2012.01); G06Q 20/38 (2012.01); H04L 9/32 (2006.01); G06Q 20/40 (2012.01)
CPC G06Q 20/065 (2013.01) [G06Q 20/3825 (2013.01); G06Q 20/3829 (2013.01); G06Q 20/401 (2013.01); H04L 9/3247 (2013.01); H04L 9/3263 (2013.01); G06Q 20/36 (2013.01); G06Q 2220/00 (2013.01); H04L 2209/56 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-custodial cryptocurrency platform, comprising:
at least one processor; and
memory storing computer-readable instructions that, when executed, cause the non-custodial cryptocurrency platform to:
receive an extended public key from a client device via a network;
receive a withdrawal request from the client device, the withdrawal request identifying a withdrawal amount and a withdrawal destination;
select, using payment unit information stored by the non-custodial cryptocurrency platform for a user of the client device, payment representations to satisfy the withdrawal request;
in response to the withdrawal request, generate, using the extended public key received from the client device, a consolidation address that is under direct ownership of the user, wherein the platform does not store a private key for the consolidation address;
generate at least one unsigned consolidation transaction that identifies at least one selected payment representation as an input and the generated consolidation address as an output;
generate an unsigned destination transaction that identifies the generated consolidation address as an input and the withdrawal destination as an output;
send, via the network, the unsigned destination transaction and each unsigned consolidation transaction to a signing enclave included in the client device, wherein the signing enclave stores the private key for the consolidation address;
receive, from the signing enclave via the network:
a signed destination transaction for the unsigned destination transaction sent to the signing enclave, wherein the signed destination transaction includes a signature generated by using the private key for the consolidation address; and
a signed consolidation transaction for each unsigned consolidation transaction sent to the signing enclave; and
send the signed destination transaction and each signed consolidation transaction to a cryptocurrency network.