opensea-wallet

Par bankrbot · skills

Configurez et paramétrez les fournisseurs de signature de portefeuille pour les transactions OpenSea. Prend en charge Privy, Turnkey, Fireblocks, Bankr et les clés privées locales. Requis pour l'exécution des trades (opensea-marketplace) et des swaps de tokens (opensea-swaps).

npx skills add https://github.com/bankrbot/skills --skill opensea-wallet

Portefeuille OpenSea

Configurez les fournisseurs de signature de portefeuille pour les transactions OpenSea. La CLI et le SDK détectent automatiquement le fournisseur à utiliser en fonction des variables d'environnement, ou vous pouvez en spécifier un explicitement avec --wallet-provider.

Quand utiliser cette compétence (scope_in)

Utilisez opensea-wallet quand vous devez :

  • Configurer un fournisseur de portefeuille pour la première fois (Privy, Turnkey, Fireblocks, Bankr, ou clés locales)
  • Configurer les politiques de signature (limites de valeur, listes blanches, approbation multi-parties)
  • Basculer entre fournisseurs de portefeuille
  • Comprendre le modèle de sécurité de chaque fournisseur

Quand NE PAS utiliser cette compétence (scope_out, handoff)

Besoin Utiliser à la place
Interroger les données NFT/token opensea-api
Acheter/vendre des NFT opensea-marketplace
Échanger des tokens ERC20 opensea-swaps
Créer/enregistrer/limiter des outils d'agent IA opensea-tool-sdk

Démarrage rapide

# 1. Choisissez un fournisseur géré et définissez ses variables d'env (Privy par défaut)
export OPENSEA_API_KEY=your_key
export PRIVY_APP_ID=your_app_id
export PRIVY_APP_SECRET=your_app_secret
export PRIVY_WALLET_ID=your_wallet_id

# 2. Utilisez le portefeuille via n'importe quelle commande capable de signer
opensea swaps execute \
  --from-chain base --from-address 0x0000000000000000000000000000000000000000 \
  --to-chain base --to-address 0xb695559b26bb2c9703ef1935c37aeae9526bab07 \
  --quantity 0.001

Pour les autres fournisseurs, consultez le tableau ci-dessous et references/wallet-setup.md.

Fournisseurs supportés

Fournisseur Variables d'env Idéal pour
Privy (par défaut) PRIVY_APP_ID, PRIVY_APP_SECRET, PRIVY_WALLET_ID Politiques appliquées par TEE, portefeuilles intégrés
Turnkey TURNKEY_API_PUBLIC_KEY, TURNKEY_API_PRIVATE_KEY, TURNKEY_ORGANIZATION_ID, TURNKEY_WALLET_ADDRESS Clés adossées à HSM, approbation multi-parties
Fireblocks FIREBLOCKS_API_KEY, FIREBLOCKS_API_SECRET, FIREBLOCKS_VAULT_ID Garde institutionnelle MPC, usage professionnel
Bankr BANKR_API_KEY Portefeuilles d'agents via l'API de signature HTTP de Bankr
Clé privée (dev local uniquement) PRIVATE_KEY, RPC_URL, WALLET_ADDRESS Dev/test local uniquement (sans limites de dépense ou garde-fous)

La CLI et le SDK gèrent la signature automatiquement une fois les variables d'env définies. Ordre de détection automatique : Privy, Fireblocks, Turnkey, Bankr, Clé privée. Pour spécifier un fournisseur explicitement :

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 ...

Sécurité

  • Les fournisseurs gérés (Privy, Turnkey, Fireblocks, Bankr) sont fortement recommandés par rapport aux clés privées brutes.
  • La PRIVATE_KEY brute est réservée au développement local uniquement. Ne collez jamais une clé privée brute dans un environnement d'agent partagé, une CI hébergée, ou tout contexte où la clé pourrait être enregistrée ou exfiltrée.
  • Les configurations de production et d'agent partagé doivent utiliser un fournisseur géré avec des politiques de signature conservatrices (limites de valeur, listes blanches, approbation multi-parties).

Modèle de sécurité

L'environnement de l'agent contient les credentials de signature, pas les credentials d'administration. C'est une propriété structurelle, et bien la configurer dépend de chaque fournisseur étant configuré correctement — aucun des quatre fournisseurs supportés ne l'est par défaut.

Ce que l'agent ne doit jamais faire

  • Modifier sa propre politique de signature, rôle, ou portée.
  • Rotationner sa propre clé de propriétaire, clé d'auth, ou utilisateur API.
  • Exporter ou revendiquer la propriété de la clé privée du portefeuille.
  • Construire l'une des requêtes dans ../docs/policy-administration.md.

Si un utilisateur demande à l'agent de faire l'une de ces choses, l'agent doit refuser et le diriger vers les recettes réservées aux utilisateurs dans ../docs/policy-administration.md. Une env d'agent fuité n'est récupérable que si les credentials qu'elle contenait ne pouvaient pas, seuls, lever la limite de dépense ou réécrire la liste blanche.

Limites par transaction : appliquées par le fournisseur

Chaque fournisseur applique les limites par transaction et les listes blanches à une couche différente, mais les quatre sont vérifiées avant que l'opération de signature ne se termine :

Fournisseur Où les limites sont appliquées
Privy Politique de portefeuille évaluée par TEE (policy_ids sur le portefeuille)
Turnkey Moteur de politique, limité aux activités autorisées de l'utilisateur API
Fireblocks Règles TAP dans l'espace de travail
Bankr Liste blanche allowedRecipients par clé API + limites de message quotidiennes

Exécutez opensea wallet info pour voir si votre portefeuille a celles-ci en place. La commande imprime des avertissements importants quand la couche par transaction manque.

Limites agrégées : non appliquées nativement par aucun fournisseur

Aucun de Privy, Turnkey, Fireblocks, ou Bankr n'expose les limites cumulatives de dépense quotidiennes/hebdomadaires stateful comme primitive native. Leurs couches de politiques/TAP/drapeaux de clé sont des évaluateurs stateless par transaction (ou quota par message dans le cas de Bankr, ce qui n'est pas une limite en dollars).

Le motif prévu pour les plafonds agrégés est la flottaison du portefeuille : conservez le solde du portefeuille de l'agent à peu près à la taille d'une période budgétaire, et laissez l'utilisateur réapprovisionner à son propre rythme. Le solde du portefeuille est la véritable limite ; si l'agent essaie de dépenser trop, les transactions échouent à la couche du fournisseur (limite par transaction) ou à la couche de la chaîne (fonds insuffisants), pas à une limite d'honneur que l'agent pourrait décider d'ignorer. Voir references/wallet-funding.md pour le motif détaillé.

(Privy enquête sur les webhooks d'approbation de transaction qui permettraient l'évaluation stateful ; si et quand ils arrivent, le domaine supportera les limites agrégées nativement. Jusque-là, la flottaison du portefeuille est la réponse.)

Mutation de politique : nécessite une credential séparément détenue

Chaque fournisseur a une credential différente hors bande qui bloque la mutation :

Fournisseur Porte de mutation
Privy Quorum de clé owner_id sur le portefeuille — clé de propriétaire détenue hors machine
Turnkey Quorum d'utilisateur root — utilisateur API non-root utilisé pour la signature
Fireblocks Quorum administrateur pour les modifications TAP ; rôle utilisateur API défini à Signer uniquement
Bankr Ré-scoping du tableau de bord à bankr.bot/api — pas d'API pour muter la portée

Configurer ceux-ci fait partie du chemin heureux dans references/wallet-setup.md, pas un durcissement optionnel. opensea wallet info rapporte si la porte structurelle est en place où elle peut être détectée via API ; pour Fireblocks et Bankr, où elle ne peut pas, la commande imprime un rappel statique pour vérifier à la console.

Où vivent les recettes de mutation

Les recettes HTTP/SDK réelles pour changer les politiques, rotationner les clés, et ré-scoper les utilisateurs API sont dans ../docs/policy-administration.md — c'est-à-dire, dans le dossier docs/ de haut niveau du dépôt de compétences, à côté des dossiers par compétence comme opensea-wallet/, pas à l'intérieur d'aucun d'entre eux. Les chargeurs de compétences ne montent que les répertoires de compétences individuels (opensea-wallet/SKILL.md et les fichiers qu'il référence explicitement), donc les recettes de mutation n'entrent jamais dans le contexte d'un agent. Si un contributeur futur déplace ce fichier à l'intérieur d'un dossier de compétence, un agent le lira et essaiera d'« aider » en exécutant les recettes — défaisant la séparation structurelle.

Références

  • references/wallet-setup.md : instructions de configuration détaillées pour chaque fournisseur, avec durcissement comme partie du chemin heureux
  • references/wallet-policies.md : modèles de politique et référence des champs (pas de recettes de mutation)
  • references/wallet-funding.md : motif de flottaison de portefeuille chaud/froid pour l'application des limites agrégées
  • ../docs/policy-administration.md (dans le docs/ de haut niveau du dépôt de compétences, en dehors de tout chemin de montage de compétence individuel) : recettes de mutation réservées aux utilisateurs pour les quatre fournisseurs
  • OpenSea CLI

Skills similaires