Account Creation
This document covers the transaction logic required to create accounts on the Flow blockchain. Read the accounts & keys documentation for an overview of the Flow account model.
Batch Account Creation
A single transaction can create multiple accounts by making
multiple calls to the AuthAccount initializer.
Due to current transaction limits, accounts should not be created in batches larger than 20 accounts.
The examples below emit the same flow.AccountCreated event
as a normal account creation transaction.
However, rather than emitting a single event,
these transactions emit one event for each new account.
Check out this page to see how account creation transactions and events work in Go: Create an Account with the Go SDK.
Unique Key For Each Account
_10transaction(publicKeys: [String]) {_10  prepare(signer: AuthAccount) {_10    for publicKey in publicKeys {_10      let account = AuthAccount(payer: signer)_10      account.addPublicKey(publicKey.decodeHex())_10    }_10  }_10}
Same Key For All Accounts
_11transaction(publicKey: String, count: Int) {_11  prepare(signer: AuthAccount) {_11    var i = 0_11    while i < count {_11      let account = AuthAccount(payer: signer)_11      account.addPublicKey(publicKey.decodeHex())_11_11      i = i + 1_11    }_11  }_11}