Saltar al contenido
0%

Deja de pegar claves privadas en Cursor: cómo darle una wallet a tu coding agent

Alchemy Team headshot

Escrito por Alchemy Team

Publicado el 29 de julio de 20268 min de lectura

Deja de pegar claves privadas en Cursor: cómo darle una wallet a tu agente de código

Estás en medio de un build. Tu agente en Cursor escribió la llamada al contrato, eligió la red y está listo para enviar una transacción de prueba. Solo una cosa se interpone entre el plan y una transacción firmada: una clave. Entonces pegas una private key en un archivo .env que el agente puede leer, y sigues construyendo.

Ese único paso es la razón por la que muchos desarrolladores experimentados mantienen a la IA alejada de todo lo que toque fondos reales. Una private key es todo o nada. Una vez que tu agente puede leerla, puede mover todo lo que hay en esa wallet, en cualquier chain, de forma permanente, sin manera de deshacerlo. Y un agente es probabilístico por diseño: muy bueno la mayor parte del tiempo, ocasionalmente equivocado con total confianza.

Hay una mejor manera de hacer esto. Le das al agente una wallet sin darle la clave. A continuación te mostramos cómo funciona esto con agent wallets en el Alchemy CLI, y dónde están los límites reales.

El problema es la clave, no el agente

Es tentador tratar al agente como el riesgo, pero el agente no es realmente el problema. Una private key nunca fue diseñada para compartirse. No tiene noción de "puedes enviar hasta este monto", "solo en estas chains", "solo durante la próxima hora", ni "en realidad, detente ahora". Es un único secreto que otorga control total, y la única manera de usarlo es exponerlo.

Hasta ahora, los desarrolladores han tenido dos opciones, y ambas tienen costos reales. Puedes pegar la clave en .env y aceptar que el agente tiene control total de los fondos, lo que te deja a un prompt extraviado de una wallet vaciada. O puedes conectar un wallet SDK a un backend personalizado y reconstruir tú mismo la autenticación, la firma y la revocación, lo que representa semanas de trabajo que la mayoría de los equipos no debería asumir. Lo primero es demasiado riesgoso, y lo segundo demasiado costoso.

Lo que realmente quieres se parece más a cómo ya piensas el acceso en el resto de tu stack. No entregas la contraseña root. Emites una credencial acotada, defines qué puede hacer, y la revocas cuando terminas. Una wallet debería funcionar de la misma manera.

Cómo funcionan las agent wallets

Las agent wallets en el Alchemy CLI te permiten crear una wallet desde el dashboard, otorgarle a tu terminal una sesión acotada y con tiempo limitado, y dejar que el agente envíe transacciones reales desde la línea de comandos. La private key nunca toca el CLI, nunca toca Alchemy, y nunca queda en un archivo .env. Ayuda pensarlo como tres capas, cada una controlada por una parte distinta.

La capa de custodia: otro guarda la clave

La private key de la wallet la guarda Privy, nuestro partner de embedded wallets, en su propia infraestructura. No está en tu laptop, no está en tu repo, y no está en nuestros sistemas. Esto es lo que cambia el cálculo de riesgo. El secreto que estabas por pegar en .env ahora es algo que ni tú ni tu agente manejan directamente.

La capa de sesión: el agente recibe permiso, no el secreto

Cuando ejecutas alchemy wallet connect, el CLI genera un par de claves P-256 nuevo en tu máquina, y la mitad privada de ese par nunca sale del dispositivo. Tu navegador abre el dashboard de Alchemy, donde eliges la wallet y apruebas una sesión. La aprobación adjunta la clave pública de tu CLI como firmante de esa wallet, acotada a capacidades específicas y limitada por un vencimiento que tú defines.

A partir de ahí, cada llamada de firma es un desafío de dos pasos. Nuestro backend construye el payload exacto que Privy espera, tu CLI firma esos bytes precisos localmente, y solo entonces la solicitud llega a Privy. Si la sesión venció, fue revocada, o falla alguna verificación de binding, el siguiente intento de firma es rechazado antes de que salga de nuestra infraestructura. El agente actúa a través de una sesión que tú definiste, no a través de un secreto que posee.

La capa de control: tú conservas el kill switch

El dashboard es el único lugar donde se crea o revoca una wallet, y la revocación es un clic que surte efecto de inmediato. También puedes ejecutar alchemy wallet disconnect desde la terminal. Si una sesión empieza a hacer algo que no pretendías, la terminas y la firma se detiene. Nunca quedas simplemente esperando que una sesión se comporte bien, porque siempre puedes terminarla.

Qué puede hacer realmente el agente

Una vez que una sesión está activa, el agente tiene una superficie de transacciones completa con la que trabajar. En chains EVM puede enviar tokens nativos y ERC-20, hacer llamadas a contratos, gestionar approvals de ERC-20, hacer swaps y bridges entre mainnets. En Solana puede enviar SOL y tokens SPL. Las transacciones se ejecutan a través de nuestras Wallet APIs, así que el patrocinio de gas mediante Gas Manager, el batching, los reintentos automáticos, y los pagos de gas en ERC-20 vienen incluidos.

Como el CLI fue construido como una superficie de herramientas para agentes, tu agente adopta estos comandos por sí solo. La flag --json devuelve output estructurado, --no-interactive evita que los comandos se bloqueen en prompts, y alchemy agent-prompt emite un documento JSON que describe cada comando, flag y código de error. Colócalo en un system prompt y el agente aprende toda la superficie de una sola vez. No hay SDK que integrar ni nada que tenga que inferir a partir de documentación.

Para quién es esto y en qué flujos encaja

Esto es para el desarrollador que vive en Cursor o Claude Code y construye onchain: alguien que integra un protocolo DeFi, arma un flujo de pagos, o prueba un contrato, y quiere que el agente realmente ejecute transacciones en vez de detenerse en el punto donde se necesita una firma. Si alguna vez dejaste que el agente escribiera el código y luego terminaste la parte onchain a mano, esto cierra esa brecha. Dos flujos muestran dónde se gana su lugar.

El primero es el ciclo de build y test. Estás integrando contra un protocolo, y tu agente ya escribió el código. Para saber si realmente funciona, alguien tiene que enviar transacciones reales: financiar el contrato, llamarlo, revisar el estado resultante, ajustar y volver a ejecutarlo. Hacer esto a mano significa que apruebas y pegas cada transacción tú mismo, que es exactamente la tediosidad que trajiste al agente para eliminar. Con una sesión, creas una wallet, la financias con un balance pequeño, apruebas una sesión acotada a un vencimiento corto, y dejas que el agente ejecute todo el ciclo. Envía, lee el resultado, e itera mientras observas, y cuando la sesión vence, su acceso termina por sí solo.

El segundo es un agente que ejecuta una tarea onchain de varios pasos. Parte del trabajo es una secuencia y no una llamada única: hacer swap de un token en mainnet, hacer bridge de lo obtenido a una L2, y luego depositarlo en una posición. Puedes describir el resultado deseado y dejar que el agente ejecute los pasos a través de la sesión, en vez de ejecutar cada uno tú mismo. La sesión limita qué capacidades puede usar el agente y por cuánto tiempo — no cuánto puede mover — así que financia la wallet con lo que la tarea necesita, define un vencimiento corto, y revoca cuando termines.

Una mirada honesta a los límites

Una herramienta que maneja dinero es más fácil de confiar cuando sus creadores son claros sobre dónde se detiene. Aquí hay algunos límites que vale la pena conocer antes de depender de esto en producción.

Las políticas de patrocinio de gas y fees controlan las tarifas de transacción. No son límites de gasto de la wallet, así que no trates una política de Gas Manager como un tope de lo que el agente puede mover. Los swaps y bridges hoy son solo para EVM mainnet. El session signer no hace firma directa de transacciones EVM en bruto; las acciones se ejecutan a través de llamadas a la Alchemy Wallet API como wallet_prepareCalls y wallet_sendCalls. Y la sesión está exactamente tan acotada como tú la definas en el dashboard, así que el vencimiento y las capacidades que configures son el límite real, no una sugerencia.

Nada de esto es una solución alternativa; es cómo está pensado que funcione el sistema. La wallet conserva la custodia, la sesión lleva el permiso, y tú conservas la capacidad de terminarla.

Cómo empezar

Las agent wallets en el CLI ya están disponibles, sin lista de espera y sin un tier separado. Necesitas Node 22 o superior y una cuenta de Alchemy. Tres comandos te llevan a una wallet controlable por agente:

bash
Copied
npm i -g @alchemy/cli@latest alchemy auth alchemy wallet connect --mode session

El paso de conexión abre el dashboard, donde apruebas la sesión y defines su scope y vencimiento. Antes de cualquier workflow que modifique estado, haz que el agente verifique primero la sesión:

bash
Copied
alchemy --json --no-interactive wallet status --verify

Cuando el trabajo termine, cierra la sesión:

bash
Copied
alchemy wallet disconnect

Los equipos que construyen los productos onchain más exigentes ya funcionan sobre Alchemy, moviendo más de un billón de dólares al año a través de más de 100 chains. El punto de las agent wallets es que esa misma infraestructura ahora respalda la wallet que le das a tu coding agent, sin entregar la clave. En vez de pegar una private key en Cursor, puedes darle al agente una sesión acotada y conservar la capacidad de revocarla en cualquier momento.

Lee la documentación de agent wallets, explora Alchemy para agentes, o instala el CLI para probarlo.

FAQ

¿Cómo le doy a un AI coding agent una wallet sin compartir mi private key?

Crea una wallet en el dashboard de Alchemy, y luego ejecuta alchemy wallet connect --mode session en tu terminal. El CLI genera un keypair local y el dashboard aprueba una sesión acotada y con tiempo limitado. El agente envía transacciones a través de esa sesión, mientras la private key permanece con el proveedor de la wallet y nunca se expone.

¿Dónde se almacena realmente la private key?

La private key de la wallet la guarda Privy, el partner de embedded wallets de Alchemy, en su propia infraestructura. Nunca se escribe en tu máquina, en tu repositorio, ni en un archivo .env, y nunca toca el CLI ni los sistemas propios de Alchemy. Tu agente actúa a través de una sesión aprobada y no a través de la clave misma.

¿Puedo revocar el acceso de un agente a la wallet?

Sí. Revoca la sesión desde el dashboard de Alchemy con un clic, o ejecuta alchemy wallet disconnect desde la terminal. La revocación surte efecto de inmediato, y el siguiente intento de firma de esa sesión es rechazado. Las sesiones también expiran automáticamente en el momento que definas al aprobarlas.

¿Qué puede hacer el agente con una agent wallet?

En chains EVM, un agente puede enviar tokens nativos y ERC-20, hacer llamadas a contratos, gestionar approvals, hacer swaps y bridges entre mainnets. En Solana, puede enviar SOL y tokens SPL. Las transacciones se ejecutan a través de las Wallet APIs de Alchemy, así que el patrocinio de gas, el batching, los reintentos y los pagos de gas en ERC-20 están disponibles.

¿Las políticas de patrocinio limitan cuánto puede gastar un agente?

No. Las políticas de patrocinio de gas y fees controlan las tarifas de transacción, no los balances de la wallet. No son límites de gasto. El límite real de lo que un agente puede hacer son las capacidades y el vencimiento que definas en la sesión desde el dashboard, así que acota la sesión de manera deliberada.

¿Qué necesito para empezar?

Necesitas Node 22 o superior y una cuenta de Alchemy. Las agent wallets en el CLI ya están disponibles, sin lista de espera y sin un tier separado. Instala con npm i -g @alchemy/cli@latest, ejecuta alchemy auth, y luego alchemy wallet connect --mode session para aprobar una sesión desde el dashboard.

Background gradient

Construye magia blockchain

Alchemy combina los productos y herramientas de desarrollo Web3 más potentes con recursos, comunidad y un soporte legendario.