> For the complete documentation index, see [llms.txt](https://docs.chiliz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chiliz.com/pt-br/desenvolver/avancado/usar-account-abstraction.md).

# Usar Account Abstraction

## O que é Account Abstraction?

Account Abstraction é uma tecnologia blockchain que permite aos usuários usar smart contracts como suas contas, tornando-as totalmente programáveis.

Seu objetivo é tornar as contas de usuário mais flexíveis e funcionais, melhorando assim a experiência do usuário.

## O que isso significa para desenvolvedores na Chiliz Chain?

Ao implementar AA, desenvolvedores podem melhorar a experiência do usuário do seu projeto: interações mais simples com a Chiliz Chain significam um aplicativo mais amigável.

## Usando a Biconomy na Chiliz Chain

A [Biconomy](https://www.biconomy.io/) oferece um kit de ferramentas de Account Abstraction full-stack, construído em torno do seu **MEE** (Modular Execution Environment) e do SDK **AbstractJS**. A Chiliz Chain é suportada [tanto na Mainnet quanto na Spicy Testnet](https://docs.biconomy.io/contracts-and-audits/supported-chains)

Com a stack da Biconomy, você pode oferecer aos seus usuários:

* Transações sem gas
* Transações em lote e cross-chain
* Carteiras smart-contract (incluindo login social)
* Módulos como session keys, recuperação de conta e muito mais

### Por que o MEE, e não o modelo clássico de Account Abstraction?

A stack anterior da Biconomy era construída sobre o modelo clássico **ERC-4337**, que dependia de infraestrutura separada de bundler e paymaster em cada chain. Desde então, a Biconomy migrou para o **MEE**, que preserva total paridade com o ERC-4337 ao mesmo tempo em que remove suas principais limitações. A comparação [MEE vs ERC-4337](https://docs.biconomy.io/new/learn-about-biconomy/mee-vs-4337) da Biconomy explica o raciocínio:

* **Composabilidade dinâmica:** o ERC-4337 permite apenas batching estático, no qual todos os call data devem ser conhecidos antecipadamente. O MEE permite que cada etapa referencie as saídas de etapas anteriores (lógica condicional, valores em tempo de execução).
* **Orquestração cross-chain nativa**: em vez de transações e assinaturas separadas por chain, o MEE autoriza fluxos multi-chain complexos com uma única assinatura.
* **Abstração universal de gas**: os usuários podem pagar gas em qualquer chain suportada usando tokens de outra, em vez de gerenciar gas por chain.
* **Automação**: o MEE suporta execução agendada e recorrente, algo que o ERC-4337 não possui.
* **Suporte a EOA por padrão**: nenhuma carteira smart-contract (ou EIP-7702) é estritamente necessária.

### Transações sem gas na Chiliz Chain

Um dos usos mais impactantes de AA é eliminar a necessidade de os usuários terem CHZ apenas para interagir com o seu dApp. Com **transações patrocinadas (sem gas)**, o seu aplicativo cobre o gas em nome do usuário, de modo que o onboarding não exige mais que o usuário adquira CHZ primeiro. Combinada com a abstração universal de gas do MEE, o gas também pode ser pago em outro token em vez do ativo nativo da chain. Veja o guia de [patrocínio de gas](https://docs.biconomy.io/gasless-apps/sponsorship) da Biconomy para saber como habilitá-lo.

### Começando

Faça login no [dashboard da Biconomy](https://dashboard.biconomy.io/) e crie um projeto. Cada projeto fornece as credenciais que você usará no seu aplicativo:

* uma **API Key** (ex.: `mee_LDxnuNsXYfvNUGsz6sJbHn`)
* um **Project ID** (ex.: `1sp767r4-5rrs-9o1s-3s6s-4s0r6nrq3647`)

Instale o AbstractJS e o [viem](https://viem.sh/):

```bash
npm install @biconomy/abstractjs viem
```

Em seguida, crie uma conta Nexus e um cliente MEE, apontando a configuração da sua chain para a Chiliz Chain. Os IDs da Chiliz Chain são:

* `Chiliz Mainnet = 88888`
* `Chiliz Spicy Testnet = 88882`

```typescript
import { createMeeClient, toMultichainNexusAccount, getMEEVersion, MEEVersion } from "@biconomy/abstractjs";
import { http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { chiliz, spicy } from "viem/chains";

const eoa = privateKeyToAccount("0xYOUR_PRIVATE_KEY");

// Create a Nexus account configured for Chiliz Chain (and Spicy Testnet)
const orchestrator = await toMultichainNexusAccount({
  chainConfigurations: [
    { chain: chiliz, transport: http(), version: getMEEVersion(MEEVersion.V2_1_0) },
    { chain: spicy, transport: http(), version: getMEEVersion(MEEVersion.V2_1_0) },
  ],
  signer: eoa,
});

// Create the MEE client using your Biconomy dashboard API key
const meeClient = await createMeeClient({
  account: orchestrator,
  apiKey: "mee_LDxnuNsXYfvNUGsz6sJbHn",
});
```

Observação: o SDK da Biconomy continua evoluindo, então siga o guia [Setting up AbstractJS](https://docs.biconomy.io/new/getting-started/set-up-abstractjs) e a [introduction](https://docs.biconomy.io/overview/introduction) para obter o exemplo atual e completo.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chiliz.com/pt-br/desenvolver/avancado/usar-account-abstraction.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
