The default configuration for the Askar wallet in ACA-Py creates an in-memory (non-persistent) wallet unless explicit parameters are provided to make it persistent. My intention is to create a persistent wallet, so I have specified the required wallet parameters (such as --wallet-type askar, --wallet-name, and --wallet-key). However, I suspect that my custom parameters are not actually being used by the Aries agent—possibly due to internal defaults or code logic that overrides user-supplied values. The primary evidence for this is that, after running the agent, there is no .sqlite wallet database in the ~/.aries_askar/ directory (as verified with ls -la ~/.aries_askar/). This strongly suggests that the agent is still creating an in-memory wallet, rather than a persistent one. Additionally, as noted in the documentation, in-memory wallets are usually assigned a random name such as 'faber_wallet_check30a06fc5. If the agent output shows such a name, or a name different from the one I specified, it further confirms that my parameters are being ignored or overridden. Despite specifying persistent wallet parameters, the agent continues to create a non-persistent in-memory wallet—most likely because internal defaults take precedence over my custom arguments. Please help me to make the wallet persistent. # faber_wallet_check.py import asyncio import sys from runners.agent_container import AriesAgent, create_agent_with_args, arg_parser async def main(): # Step 1: Parse CLI args (arg_parser already includes --wallet-type) parser = arg_parser(ident="faber_wallet_check", port=8020) # Add only what is NOT present in arg_parser parser.add_argument( "--wallet-name", help="Name of the wallet (for persistence, e.g., 'faber_wallet')", default=None, ) parser.add_argument( "--wallet-key", help="Key/passphrase for the wallet", default=None, ) parser.add_argument( "--seed", help="Deterministic seed for agent DID (32 characters, optional)", default=None, ) args = parser.parse_args() # Debug: print parsed configuration print("Initializing demo agent faber_wallet_check with AIP 20 and credential type indy") print("Parsed configuration:") for key in ("wallet_type", "wallet_name", "wallet_key", "seed"): print(f" {key}: {getattr(args, key, None)}") # Validate seed length if provided if args.seed and len(args.seed) != 32: print(f"ERROR: --seed must be exactly 32 characters (got {len(args.seed)})", file=sys.stderr) sys.exit(1) # Step 2: Prepare extra args for the agent launcher extra = {} if args.wallet_name: extra["wallet-name"] = args.wallet_name if args.wallet_key: extra["wallet-key"] = args.wallet_key if args.seed: extra["seed"] = args.seed if args.wallet_type: extra["wallet-type"] = args.wallet_type # Step 3: Launch the agent faber_agent = await create_agent_with_args( args, ident="faber_wallet_check", extra_args=extra, ) # Step 4: Create AriesAgent wrapper for admin API calls agent = AriesAgent( ident="faber_wallet_check", http_port=faber_agent.start_port, admin_port=faber_agent.start_port + 1, genesis_data=faber_agent.genesis_txns, genesis_txn_list=faber_agent.genesis_txn_list, wallet_type=args.wallet_type, seed=args.seed, public_did=False, ) # Step 5: Initialize ACA-Py (create wallet, register public DID if enabled) await faber_agent.initialize(the_agent=agent) # Step 6: Wait for admin API readiness max_retries = 30 for i in range(1, max_retries + 1): try: await agent.admin_GET("/status") break except Exception: print(f"Waiting for admin API (attempt {i}/{max_retries})...") await asyncio.sleep(1) else: print("ERROR: Admin API did not become available, exiting.") await faber_agent.terminate() sys.exit(1) # Step 7: List all DIDs in the wallet to confirm persistence try: resp = await agent.admin_GET("/wallet/did") print("DIDs currently in wallet:") for did_entry in resp.get("results", []): did = did_entry.get("did") verkey = did_entry.get("verkey") public = did_entry.get("public", False) print(f" DID: {did}, Verkey: {verkey}, Public: {public}") except Exception as e: print(f"ERROR fetching DIDs from wallet: {e}", file=sys.stderr) # Cleanup: terminate the ACA-Py agent process await faber_agent.terminate() if __name__ == '__main__': asyncio.get_event_loop().run_until_complete(main()) Input python3 -m runners.faber_wallet_check \ --wallet-type askar \ --wallet-name faber_wallet \ --wallet-key supersecretfaberkek \ --seed faber000000000000000000000000001 Output (venv) nmuslim162022@instance-20250614-033016:~/aries-cloudagent-python/demo$ python3 -m runners.faber_wallet_check \ --wallet-type askar \ --wallet-name faber_wallet \ --wallet-key supersecretfaberkek \ --seed faber000000000000000000000000001 Initializing demo agent faber_wallet_check with AIP 20 and credential type indy Parsed configuration: **wallet_type**: askar **wallet_name**: faber_wallet **wallet_key**: supersecretfaberkek seed: faber000000000000000000000000001 Initializing demo agent faber_wallet_check with AIP 20 and credential type indy Started webhook listener on port: 8022 Aries | Registering faber_wallet_check ... using ledger: http://localhost:9000/register Aries | nym_info: {'did': 'QWTxizRo9A1tWdEPYkFPHe', 'seed': 'faber000000000000000000000000001', 'verkey': 'Dp8p4z8fC3MadWn4q5BxtfJMwyXNhaCJRfhB4sAepkU7'} Aries | Registered DID: QWTxizRo9A1tWdEPYkFPHe Created public DID Aries | ['/home/nmuslim162022/aries-cloudagent-python/venv/bin/python3', '-m', 'aries_cloudagent', 'start', '--endpoint', 'http://localhost:8020', '--label', 'faber_wallet_check', '--auto-ping-connection', '--auto-respond-messages', '--inbound-transport', 'http', '0.0.0.0', '8020', '--outbound-transport', 'http', '--admin', '0.0.0.0', '8021', '--admin-insecure-mode', '**--wallet-type**', 'askar', '-**-wallet-name**', 'faber_wallet_check30a06fc5', '**--wallet-key**', 'faber_wallet_check30a06fc5', '--preserve-exchange-records', '--auto-provision', '--public-invites', '--emit-new-didcomm-prefix', '--genesis-transactions', …. (venv) nmuslim162022@instance-20250614-033016:~/aries-cloudagent-python/demo$ ls -la ~/.aries_askar/ total 8 drwxrwxr-x 2 nmuslim162022 nmuslim162022 4096 Jun 30 08:35 . drwxr-x--- 37 nmuslim162022 nmuslim162022 4096 Jul 1 00:51 .. Continue reading...