O que OpenSea Wallet faz?
Configura e configura provedores de assinatura de carteira para transações OpenSea. A CLI e o SDK detectam automaticamente qual provedor usar com base nas variáveis de ambiente, ou você pode especificar um explicitamente com --wallet-provider.
Quando usar esta skill (scope_in)
Use opensea-wallet quando você precisar:
- Configurar um provedor de carteira pela primeira vez (Privy, Turnkey, Fireblocks, Bankr ou chaves locais)
- Configurar políticas de assinatura (limites de valor, listas de permissões, aprovação multipartidária)
- Alternar entre provedores de carteira
- Entender o modelo de segurança de cada provedor
Quando NÃO usar esta skill (scope_out, transferência)
| Necessidade | Use em vez disso |
|---|---|
| Consultar dados de NFT/token | opensea-api |
| Comprar/vender NFTs | opensea-marketplace |
| Trocar tokens ERC20 | opensea-swaps |
| Construir/registrar/proteger ferramentas de agente de IA | opensea-tool-sdk |
Início rápido
# 1. Escolha um provedor gerenciado e defina suas variáveis de ambiente (Privy padrão mostrado)
export OPENSEA_API_KEY=sua_chave
export PRIVY_APP_ID=seu_app_id
export PRIVY_APP_SECRET=seu_app_secret
export PRIVY_WALLET_ID=seu_wallet_id
# 2. Use a carteira através de qualquer comando com capacidade de assinatura
opensea swaps execute \
--from-chain base --from-address 0x0000000000000000000000000000000000000000 \
--to-chain base --to-address 0xb695559b26bb2c9703ef1935c37aeae9526bab07 \
--quantity 0.001
Para outros provedores, consulte a tabela abaixo e references/wallet-setup.md.
Provedores suportados
| Provedor | Variáveis de Ambiente | Melhor Para |
|---|---|---|
| Privy (padrão) | PRIVY_APP_ID, PRIVY_APP_SECRET, PRIVY_WALLET_ID | Políticas TEE, carteiras incorporadas |
| Turnkey | TURNKEY_API_PUBLIC_KEY, TURNKEY_API_PRIVATE_KEY, TURNKEY_ORGANIZATION_ID, TURNKEY_WALLET_ADDRESS | Chaves HSM, aprovação multipartidária |
| Fireblocks | FIREBLOCKS_API_KEY, FIREBLOCKS_API_SECRET, FIREBLOCKS_VAULT_ID | Custódia MPC empresarial, uso institucional |
| Bankr | BANKR_API_KEY | Carteiras de agente via API de assinatura HTTP do Bankr |
| Chave Privada (apenas dev local) | PRIVATE_KEY, RPC_URL, WALLET_ADDRESS | Apenas desenvolvimento/testes locais (sem limites de gastos ou proteções) |
A CLI e o SDK lidam com a assinatura automaticamente uma vez que as variáveis de ambiente estão definidas. Ordem de detecção automática: Privy, Fireblocks, Turnkey, Bankr, Chave Privada. Para especificar um provedor explicitamente:
opensea swaps execute --wallet-provider turnkey ...
opensea swaps execute --wallet-provider fireblocks ...
opensea swaps execute --wallet-provider bankr ...
opensea swaps execute --wallet-provider private-key ...
Segurança
- Provedores gerenciados (Privy, Turnkey, Fireblocks, Bankr) são fortemente recomendados em vez de chaves privadas brutas.
PRIVATE_KEYbruta é apenas para desenvolvimento local. Nunca cole uma chave privada bruta em um ambiente de agente compartilhado, CI hospedado ou qualquer contexto onde a chave possa ser registrada ou exfiltrada.- Configurações de produção e agente compartilhado devem usar um provedor gerenciado com políticas de assinatura conservadoras (limites de valor, listas de permissões, aprovação multipartidária).
Modelo de segurança
O ambiente do agente contém credenciais de assinatura, não credenciais administrativas. Esta é uma propriedade estrutural, e acertá-la depende de cada provedor estar configurado corretamente — nenhum dos quatro provedores suportados vem neste estado por padrão.
O que o agente nunca deve fazer
- Modificar sua própria política de assinatura, função ou escopo.
- Rotacionar sua própria chave de proprietário, chave de autenticação ou usuário da API.
- Exportar ou reivindicar a propriedade da chave privada da carteira.
- Construir qualquer uma das solicitações em
../docs/policy-administration.md.
Se um usuário pedir ao agente para fazer qualquer uma dessas coisas, o agente deve recusar e direcioná-lo às receitas apenas para usuário em ../docs/policy-administration.md. Um ambiente de agente vazado é recuperável apenas se as credenciais que ele continha não pudessem, por si só, levantar o limite de gastos ou reescrever a lista de permissões.
Limites por transação: aplicados pelo provedor
Cada provedor aplica limites por transação e listas de permissões em uma camada diferente, mas todos os quatro são verificados antes da operação de assinatura ser concluída:
| Provedor | Onde os limites são aplicados |
|---|---|
| Privy | Política de carteira avaliada por TEE (policy_ids na carteira) |
| Turnkey | Mecanismo de políticas, com escopo nas atividades permitidas do usuário da API |
| Fireblocks | Regras TAP no workspace |
| Bankr | Lista de permissões allowedRecipients por chave de API + limites diários de mensagens |
Execute opensea wallet info para ver se sua carteira possui essas proteções. O comando imprime avisos sonoros quando a camada por transação está ausente.
Limites agregados: não aplicados nativamente por nenhum provedor
Nenhum dos provedores Privy, Turnkey, Fireblocks ou Bankr expõe limites de gastos cumulativos diários/semanais com estado como um primitivo nativo. Suas camadas de políticas/TAP/flag de chave são avaliadores sem estado por transação (ou por cota de mensagem no caso do Bankr, que não é um limite em dólares).
O padrão pretendido para tetos agregados é saldo flutuante da carteira: mantenha o saldo da carteira do agente aproximadamente do tamanho de um período orçamentário e peça ao usuário para reabastecer em seu próprio ritmo. O saldo da carteira é o limite real; se o agente tentar gastar demais, as transações falham na camada do provedor (limite por transação) ou na camada da blockchain (fundos insuficientes), não em um limite de honra que o agente poderia decidir ignorar. Consulte references/wallet-funding.md para o padrão trabalhado.
(O Privy está investigando webhooks de aprovação de transações que permitiriam avaliação com estado; se e quando eles chegarem, o campo suportará limites agregados nativamente. Até lá, saldo flutuante da carteira é a resposta.)
Mutação de política: requer uma credencial mantida separadamente
Cada provedor tem uma credencial fora de banda diferente que controla a mutação:
| Provedor | Portão de mutação |
|---|---|
| Privy | Quórum de chave owner_id na carteira — chave do proprietário mantida fora da máquina |
| Turnkey | Quórum de usuário raiz — usuário da API não raiz usado para assinatura |
| Fireblocks | Quórum de administrador para alterações TAP; função do usuário da API definida como Signer apenas |
| Bankr | Redefinição de escopo no painel em bankr.bot/api — nenhuma API para alterar escopo |
Configurar isso faz parte do caminho feliz em references/wallet-setup.md, não um endurecimento opcional. opensea wallet info relata se o portão estrutural está no lugar onde pode ser detectado via API; para Fireblocks e Bankr, onde não pode, o comando imprime um lembrete estático para verificar no console.
Onde as receitas de mutação vivem
As receitas reais de HTTP/SDK para alterar políticas, rotacionar chaves e redefinir escopo de usuários da API estão em ../docs/policy-administration.md — ou seja, na pasta docs/ de nível superior do repositório da skill, ao lado das pastas por skill como opensea-wallet/, não dentro de nenhuma delas. Os carregadores de skill apenas montam diretórios de skill individuais (opensea-wallet/SKILL.md e os arquivos que ele referencia explicitamente), então as receitas de mutação nunca entram no contexto de um agente. Se um futuro contribuidor mover este arquivo para dentro de uma pasta de skill, um agente o lerá e tentará "ajudar" executando as receitas — quebrando a separação estrutural.
Referências
references/wallet-setup.md: instruções detalhadas de configuração para cada provedor, com endurecimento como parte do caminho felizreferences/wallet-policies.md: modelos de política e referência de campo (sem receitas de mutação)references/wallet-funding.md: padrão de saldo flutuante de carteira quente/frio para aplicação de limite agregado../docs/policy-administration.md(na pastadocs/de nível superior do repositório da skill, fora de qualquer caminho de montagem de skill individual): receitas de mutação apenas para usuário para todos os quatro provedores- OpenSea CLI