diff --git a/packages/keychain/src/utils/errors.ts b/packages/keychain/src/utils/errors.ts index 304188bf9..6579c9703 100644 --- a/packages/keychain/src/utils/errors.ts +++ b/packages/keychain/src/utils/errors.ts @@ -268,6 +268,15 @@ function parseGraphQLErrorMessage( summary: description || "Internal server error", details, }; + } else if (code === "FailedPrecondition") { + // Extract human-readable message from wrapped API errors + // e.g., "coinbase API error [...] (correlation: ...): The user has reached..." + const humanMatch = description.match(/\):\s*(.+)/); + return { + raw: raw || message, + summary: humanMatch ? humanMatch[1] : description, + details, + }; } else { return { raw: raw || message,