diff --git a/src/commands/profile.rs b/src/commands/profile.rs
index 954a408cfe8e68f2a50487820d01eb952807f1f3..cbbd426519385d202b85275c92f2e2ad62dd2107 100644
--- a/src/commands/profile.rs
+++ b/src/commands/profile.rs
@@ -491,8 +491,9 @@ pub async fn handle_command(data: Data, command: Subcommand) -> Result<(), GcliE
 
 /// Get Nostr profile from a relay
 async fn get_profile(data: Data, relay_url: Option<String>) -> Result<(), GcliError> {
-    // Get keypair from vault using configured address
-    let keypair = fetch_or_get_keypair(&data, data.cfg.address.clone()).await?;
+    // Get keypair for signing
+    // Use the configured address or prompt the user if not set
+    let keypair = fetch_or_get_keypair(&data, data.cfg.address.clone(), Some(CryptoScheme::Ed25519)).await?;
     
     // Get Nostr pubkey in hex format (used for protocol)
     let pubkey = get_nostr_pubkey(&keypair)?;
@@ -705,8 +706,9 @@ async fn set_profile(
          return Ok(());
     }
 
-    // Get keypair from vault using configured address
-    let keypair = fetch_or_get_keypair(&data, data.cfg.address.clone()).await?;
+    // Get keypair for signing
+    // Use the configured address or prompt the user if not set
+    let keypair = fetch_or_get_keypair(&data, data.cfg.address.clone(), Some(CryptoScheme::Ed25519)).await?;
     
     // Get Nostr pubkey in hex format (used for protocol)
     let pubkey = get_nostr_pubkey(&keypair)?;