Abstract: A blockchain-based approach to the distribution of software keys to one or more end users including a computer implemented system for distributing tokens corresponding to one or more keys comprising a network connected system using a vault device with one or more blockchains to determine a hash value of and encrypt the one of more keys; tokenize one or more of the keys; mint one or more coins with batched token addresses in a distributed leger; extract one or more of the keys from token batches on request, and then decrypt and distribute the one or more extracted keys to one or more end users.