---
title: "MetaMask Snap | Caso de Estudio de Wavect"
canonical: https://wavect.io/es/case-studies/metamask-snap/
language: es
description: "El modelo de Account Abstraction de Boba con Hybrid Compute ejecuta lógica on-chain/off-chain; el MetaMask Snap lo lleva nativo al wallet Web3 más usado."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

[← Todos los casos de estudio](/es/case-studies/)

![MetaMask Snap logo](/img/clients/svg/boba-network.svg)

CASOS DE ESTUDIO · 2025

MetaMask Snap

# El stack de Account Abstraction de Boba, nativo dentro de MetaMask. Sin wallet nueva que aprender.

El modelo de Account Abstraction de Boba Network permite smart wallets con Hybrid Compute para ejecutar lógica on-chain/off-chain de forma transparente. El MetaMask Snap lo lleva de forma nativa al wallet Web3 más utilizado del mundo.

FUNDS Desarrollo Fullstack 2025 En Vivo

Resumen

Tipo de proyecto Desarrollo Fullstack

Sector [Blockchain / Integración de Wallets](/es/industries/blockchain-web3/)

Etapa Enterprise · $115M recaudados

Tamaño del proyecto Retainer mensual

Año 2025

Stack

Typescript MetaMask Snaps Solidity Ethers.js

Estado En Vivo

En vivo [boba.network](https://boba.network/)

## Resumen

El modelo de Account Abstraction de Boba Network permite smart wallets con Hybrid Compute para ejecutar lógica on-chain/off-chain de forma transparente. El MetaMask Snap lo lleva de forma nativa al wallet Web3 más utilizado del mundo.

## ¿Cuál es el reto?

Los MetaMask Snaps son potentes y están fuertemente sandboxed. Modelo de permisos estricto, contexto de ejecución opinionado, y un borde que atraviesa justo lo que el Account Abstraction de Boba necesitaba hacer. Lograr que gestionar smart wallets se sintiera nativo, sin pelear con la sandbox ni enseñar nada nuevo al usuario.

## ¿Qué decisión tomamos?

### La sandbox de MetaMask no se dobla. El caso de uso sí tenía que doblarse.

> Los Snaps son potentes y están fuertemente aislados. Ese es el modelo de seguridad. Para nuestro caso de uso, la sandbox era una negociación constante: whitelisting de apps, qué puede invocar un Snap, qué puede persistir, qué cruza el borde. Cada restricción había que rodearla, no pelearla. El resultado: una integración de Account Abstraction que vive dentro de las reglas de MetaMask, el único tipo que llega a producción.

## Lo que hicimos

Account Abstraction completo dentro de una sandbox que no admite atajos. Trabajando dentro del proyecto de Boba, construimos primero una capa de abstracción limpia entre el stack AA de Boba y el runtime del Snap. Costó un sprint por adelantado, dejó la integración testeable de extremo a extremo y sobrevivió a cada actualización del runtime de MetaMask. El Snap, el cableado AA y la gestión de smart wallets, todo dentro de la UX nativa de MetaMask. Los usuarios de Boba gestionan smart wallets de Hybrid Compute sin salir del wallet que ya usan.

## Resultados

### MetaMask - Integración Nativa

### Smart Wallets - Habilitados con Hybrid Compute

¿Resultados así para tu proyecto?

Alcance fijo. Plazo fijo. SoW firmado.

[Hablemos](/es/contact/)

## Lo que aprendimos

Los Snaps son potentes pero opinionados. Su modelo de permisos y sandbox obligan a un diseño de interfaz cuidadoso desde el principio. La integración nos forzó a construir una capa de abstracción limpia entre el stack AA de Boba y el runtime del Snap, y eso hizo todo el sistema más testeable. Cuando ese límite falla, el [depurador UserOperation](/es/tools/erc-4337-useroperation-debugger/) congela la representación exacta en local.

## Stack Técnico

- [Typescript](https://www.typescriptlang.org/)
- [MetaMask Snaps](https://metamask.io/snaps/)
- [Solidity](https://soliditylang.org/)
- [Ethers.js](https://docs.ethers.org/)

## Tags

- Account Abstraction
- MetaMask Snap
- Smart Wallet
- Capa 2

## Enlaces y Recursos

[Boba Network](https://boba.network/) [MetaMask Snaps](https://metamask.io/snaps/)

Servicios relacionados

- [Desarrollo Blockchain](/es/services/blockchain/)
- [Desarrollo de Software a Medida](/es/services/software-development/)

Referencias de clientes y marcas

Wavect publica estos casos de estudio sobre su propio trabajo. Los nombres, logotipos y marcas de clientes son propiedad de sus respectivos titulares y se usan aquí para identificar el trabajo, no para dar a entender una asociación, un patrocinio o un respaldo. Cada caso describe la contribución propia de Wavect dentro de un esfuerzo mayor, y otras partes, incluidos los equipos del propio cliente y otros proveedores, contribuyeron a los resultados. Las cifras atribuidas a un cliente son datos reportados por ese cliente. Las cifras sobre nuestro trabajo provienen de nuestros registros a la fecha de revisión indicada, y facilitamos evidencia si se solicita. Las reseñas se reproducen desde la plataforma indicada en cada tarjeta y enlazan a su origen. No publicamos las condiciones comerciales de ningún proyecto, y las capturas de producto siguen siendo propiedad del cliente mostrado. Si apareces aquí y quieres una corrección, un cambio o una retirada, escríbenos y lo atenderemos: [office@wavect.io](mailto:office@wavect.io)

### [Scramble Wallet](/es/case-studies/scramble-wallet/)

Scramble es una wallet cripto multicadena diseñada para simplificar la autocustodia. Compra, vende, negocia activos incluyendo NFTs, con swaps cross-chain y …

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/es/case-studies/metamask-snap/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-05-21",
      "inLanguage": "es",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-21",
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".faq-question",
          ".faq-answer"
        ]
      },
      "url": "https://wavect.io/es/case-studies/metamask-snap/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#metamask-snap-native-smart-wallets",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/es/case-studies/metamask-snap/#webpage",
        "@type": "WebPage",
        "inLanguage": "es",
        "url": "https://wavect.io/es/case-studies/metamask-snap/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-04",
      "identifier": "metamask-snap-native-smart-wallets",
      "inLanguage": "en",
      "text": "Wavect engineered a MetaMask Snap inside Boba Network's build, together with their team, bringing Boba Network's account abstraction and Hybrid Compute smart wallets natively into MetaMask."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@id": "https://wavect.io/es/case-studies/metamask-snap/#case-study",
  "@type": "Article",
  "about": {
    "@id": "https://wavect.io/es/case-studies/metamask-snap/#project",
    "@type": "CreativeWork",
    "creator": {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ]
    },
    "dateCreated": "2025-01-01",
    "description": "Desarrollo Fullstack engagement",
    "funder": {
      "@type": "Organization",
      "name": "MetaMask Snap"
    },
    "name": "MetaMask Snap",
    "subjectOf": {
      "@id": "https://wavect.io/es/case-studies/metamask-snap/#case-study",
      "@type": "Article"
    },
    "url": "https://boba.network/"
  },
  "abstract": "Los MetaMask Snaps son potentes y están fuertemente sandboxed. Modelo de permisos estricto, contexto de ejecución opinionado, y un borde que atraviesa justo lo que el Account Abstraction de Boba necesitaba hacer. Lograr que gestionar smart wallets se sintiera nativo, sin pelear con la sandbox ni enseñar nada nuevo al usuario.",
  "author": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "datePublished": "2025-01-01",
  "description": "El modelo de Account Abstraction de Boba Network permite smart wallets con Hybrid Compute para ejecutar lógica on-chain/off-chain de forma transparente. El MetaMask Snap lo lleva de forma nativa al wallet Web3 más utilizado del mundo.",
  "headline": "MetaMask Snap, Wavect Case Study",
  "image": "https://wavect.io/img/clients/svg/boba-network.svg",
  "inLanguage": "es",
  "isPartOf": {
    "@type": "CollectionPage",
    "name": "Wavect Case Studies",
    "url": "https://wavect.io/es/case-studies/"
  },
  "keywords": "Account Abstraction, MetaMask Snap, Smart Wallet, Capa 2, Typescript, MetaMask Snaps, Solidity, Ethers.js",
  "mainEntityOfPage": "https://wavect.io/es/case-studies/metamask-snap/",
  "mentions": [
    {
      "@type": "DefinedTerm",
      "name": "Typescript",
      "url": "https://www.typescriptlang.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "MetaMask Snaps",
      "url": "https://metamask.io/snaps/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Solidity",
      "url": "https://soliditylang.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Ethers.js",
      "url": "https://docs.ethers.org/"
    }
  ],
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/es/case-studies/metamask-snap/"
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/es/",
      "name": "Inicio",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/es/case-studies/",
      "name": "Casos de Estudio",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/es/case-studies/metamask-snap/",
      "name": "MetaMask Snap",
      "position": 3
    }
  ]
}
```
