wavecli createCreate
Create initializes a new wallet from a freshly generated aezeed mnemonic. The daemon generates the seed, encrypts it with the supplied password, and returns the mnemonic so the caller can record it. For recovery flows the caller MAY supply an existing mnemonic in the request; in that case the same mnemonic is echoed back. Proxies waverpc.GenSeed + waverpc.InitWallet server-side.
Endpoints
rpc Create(CreateRequest) returns (CreateResponse)POST/v1/wallet/createExamples
wavecli createwavecli createconn, err := grpc.NewClient("localhost:10029",
grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
log.Fatal(err)
}
defer conn.Close()
client := wavewalletrpc.NewWalletServiceClient(conn)
ctx := context.Background()
req := &wavewalletrpc.CreateRequest{
WalletPassword: "c3RyYXdiZXJyeS1tb29zZQ==",
RecoverState: false,
}
resp, err := client.Create(ctx, req)
if err != nil {
log.Fatal(err)
}
fmt.Println(resp)import grpc
import wallet_pb2
import wallet_pb2_grpc
channel = grpc.insecure_channel('localhost:10029')
stub = wallet_pb2_grpc.WalletServiceStub(channel)
request = wallet_pb2.CreateRequest(
wallet_password="c3RyYXdiZXJyeS1tb29zZQ==",
recover_state=False,
)
response = stub.Create(request)
print(response)const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');
const packageDefinition = protoLoader.loadSync('wallet.proto');
const { wavewalletrpc } = grpc.loadPackageDefinition(packageDefinition);
const client = new wavewalletrpc.WalletService(
'localhost:10029',
grpc.credentials.createInsecure(),
);
const request = {
"wallet_password": "c3RyYXdiZXJyeS1tb29zZQ==",
"recover_state": false
};
// Calls wavewalletrpc.WalletService.Create.
client.create(request, (err, response) => {
if (err) throw err;
console.log(response);
});curl -X POST http://localhost:10031/v1/wallet/create \
-H 'Content-Type: application/json' \
-d '{"wallet_password":"c3RyYXdiZXJyeS1tb29zZQ==","recover_state":false}'const res = await fetch('http://localhost:10031/v1/wallet/create', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"wallet_password": "c3RyYXdiZXJyeS1tb29zZQ==",
"recover_state": false
}),
});
const createResponse = await res.json();RequestCreateRequest
CreateRequest carries the parameters for WalletService.Create: the encryption password, optional seed material, and recovery options.
| Field | Type | Description |
|---|---|---|
wallet_password | bytes | wallet_password is the password used to encrypt the on-disk seed. Must be at least 8 bytes. The password is consumed and zeroed by the daemon after wallet initialization. |
seed_passphrase | bytes | seed_passphrase is the optional aezeed passphrase (BIP39-style 25th-word) protecting the mnemonic itself. Distinct from wallet_password. |
mnemonic | repeated string | mnemonic is the 24-word aezeed mnemonic to import. Empty means "generate a fresh seed"; non-empty means "recover from this mnemonic". When non-empty the response echoes the same mnemonic back unchanged. |
recover_state | bool | recover_state asks the daemon to scan deterministic Ark wallet keys after importing mnemonic and rebuild local Ark state from chain and indexer data. |
recovery_window | uint32 | recovery_window is the number of key indexes to scan per recovery key family. Zero uses the daemon wallet.recoverywindow config value. |
ResponseCreateResponse
CreateResponse returns the wallet mnemonic and identity, plus a summary of any Ark-state recovery performed during Create.
| Field | Type | Description |
|---|---|---|
mnemonic | repeated string | mnemonic is the 24-word aezeed mnemonic for the wallet. For fresh wallets (request mnemonic empty) this is the newly generated seed and the caller MUST persist it offline before any unlock sequence - losing it makes the wallet unrecoverable. For recovery flows (request mnemonic supplied) this is the same mnemonic echoed back for confirmation. |
identity_pubkey | string | identity_pubkey is the hex-encoded daemon wallet identity public key derived from the newly created wallet. |
recovery_ran | bool | recovery_ran is true when Create attempted Ark-state recovery. |
recovered_boarding_addresses | uint32 | recovered_boarding_addresses is the number of boarding addresses rebuilt and persisted from deterministic keys. |
recovered_boarding_utxos | uint32 | recovered_boarding_utxos is the number of confirmed wallet UTXOs found at recovered boarding addresses during the recovery scan. |
recovered_vtxos | uint32 | recovered_vtxos is the number of indexed VTXOs restored into local wallet state. |
recovered_oor_receive_scripts | uint32 | recovered_oor_receive_scripts is the number of registered OOR receive scripts matched and restored into local ownership metadata. |
recovered_oor_events | uint32 | recovered_oor_events is the number of OOR recipient events processed during recovery. |