Atlas / Skills / bankrbot / Opensea Wallet

Opensea WalletSAFE

skills/bankrbot/opensea-wallet

Bankr Skills equip builders with plug-and-play tools to build more powerful agents.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
—
License
—
Stars
1,202
01

Overview

Bankr Skills equip builders with plug-and-play tools to build more powerful agents.

Read from source at commit 4029e336cef5OBSERVED · 2026-10-09
02

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: opensea-wallet
description: Set up and configure wallet signing providers for OpenSea transactions. Supports Privy, Turnkey, Fireblocks, Bankr, and local private keys. Required for executing trades (opensea-marketplace) and token swaps (opensea-swaps).
homepage: https://github.com/ProjectOpenSea/opensea-skill
repository: https://github.com/ProjectOpenSea/opensea-skill
license: MIT
env:
  PRIVY_APP_ID:
    description: Privy application ID for wallet signing (default provider)
    required: false
    obtain: https://dashboard.privy.io
  PRIVY_APP_SECRET:
    description: Privy application secret
    required: false
    obtain: https://dashboard.privy.io
  PRIVY_WALLET_ID:
    description: Privy wallet ID to sign transactions with
    required: false
  TURNKEY_API_PUBLIC_KEY:
    description: Turnkey API public key
    required: false
    obtain: https://app.turnkey.com
  TURNKEY_API_PRIVATE_KEY:
    description: Turnkey API private key
    required: false
  TURNKEY_ORGANIZATION_ID:
    description: Turnkey organization ID
    required: false
  TURNKEY_WALLET_ADDRESS:
    description: Turnkey wallet address
    required: false
  FIREBLOCKS_API_KEY:
    description: Fireblocks API key
    required: false
    obtain: https://console.fireblocks.io
  FIREBLOCKS_API_SECRET:
    description: Fireblocks API secret
    required: false
  FIREBLOCKS_VAULT_ID:
    description: Fireblocks vault account ID
    required: false
  BANKR_API_KEY:
    description: Bankr API key for HTTP-based agent wallet signing
    required: false
    obtain: https://bankr.bot
dependencies:
  - node >= 18.0.0
---

# OpenSea Wallet

Set up and configure wallet signing providers for OpenSea transactions. The CLI and SDK auto-detect which provider to use based on environment variables, or you can specify one explicitly with `--wallet-provider`.

## When to use this skill (`scope_in`)

Use `opensea-wallet` when you need to:

- Set up a wallet provider for the first time (Privy, Turnkey, Fireblocks, Bankr, or local keys)
- Configure signing policies (value caps, allowlists, multi-party approval)
- Switch between wallet providers
- Understand the security model for each provider

## When NOT to use this skill (`scope_out`, handoff)

| Need | Use instead |
|---|---|
| Query NFT/token data | `opensea-api` |
| Buy/sell NFTs | `opensea-marketplace` |
| Swap ERC20 tokens | `opensea-swaps` |
| Build/register/gate AI agent tools | `opensea-tool-sdk` |

## Quick start

```bash
# 1. Pick a managed provider and set its env vars (Privy default shown)
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. Use the wallet via any signing-capable command
opensea swaps execute \
  --from-chain base --from-address 0x0000000000000000000000000000000000000000 \
  --to-chain base --to-address 0xb695559b26bb2c9703ef1935c37aeae9526bab07 \
  --quantity 0.001
```

For other providers, see the table below and `references/wallet-setup.md`.

## Supported providers

| Provider | Env Vars | Best For |
|----------|----------|----------|
| **Privy** (default) | `PRIVY_APP_ID`, `PRIVY_APP_SECRET`, `PRIVY_WALLET_ID` | TEE-enforced policies, embedded wallets |
| **Turnkey** | `TURNKEY_API_PUBLIC_KEY`, `TURNKEY_API_PRIVATE_KEY`, `TURNKEY_ORGANIZATION_ID`, `TURNKEY_WALLET_ADDRESS` | HSM-backed keys, multi-party approval |
| **Fireblocks** | `FIREBLOCKS_API_KEY`, `FIREBLOCKS_API_SECRET`, `FIREBLOCKS_VAULT_ID` | Enterprise MPC custody, institutional use |
| **Bankr** | `BANKR_API_KEY` | Agent wallets via Bankr's HTTP signing API |
| **Private Key** (local dev only) | `PRIVATE_KEY`, `RPC_URL`, `WALLET_ADDRESS` | Local dev/testing only (no spending limits or guardrails) |

The CLI and SDK handle signing automatically once env vars are set. Auto-detect order: Privy, Fireblocks, Turnkey, Bankr, Private Key. To specify a provider explicitly:

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

## Security

- **Managed providers (Privy, Turnkey, Fireblocks, Bankr) are strongly recommended** over raw private keys.
- **Raw `PRIVATE_KEY` is for local development only.** Never paste a raw private key into a shared agent environment, hosted CI, or any context where the key could be logged or exfiltrated.
- Production and shared-agent setups must use a managed provider with conservative signing policies (value caps, allowlists, multi-party approval).

## Security model

The agent's environment holds *signing* credentials, not *administrative* ones. This is a structural property, and getting it right depends on each provider being configured correctly — none of the four supported providers ship in this state by default.

### What the agent must never do

- Modify its own signing policy, role, or scope.
- Rotate its own owner key, auth key, or API user.
- Export or claim ownership of the wallet's private key.
- Construct any of the requests in `../docs/policy-administration.md`.

If a user asks the agent to do any of these, the agent should refuse and direct them to the user-only recipes in `../docs/policy-administration.md`. A leaked agent env is recoverable only if the credentials it held could not, on their own, lift the spending cap or rewrite the allowlist.

### Per-tx caps: enforced by the provider

Each provider enforces per-tx caps and allowlists in a different layer, but all four are checked **before** the signing operation completes:

| Provider | Where caps are enforced |
|---|---|
| Privy | TEE-evaluated wallet policy (`policy_ids` on the wallet) |
| Turnkey | Policy engine, scoped to the API user's allowed activities |
| Fireblocks | TAP rules in the workspace |
| Bankr | Per-API-key `allowedRecipients` allowlist + daily message limits |

Run `opensea wallet info` to see whether your wallet has 
03

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeNA
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (1)

LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
references/wallet-setup.md:296
export RPC_URL="http://127.0.0.1:8545"  # local dev node only (Hardhat/Anvil/Ganache)

Gates applied: no_behavioural_pass.

Audited 2026-10-09 · audit v0.4.1 · source sha 4029e336cef5full audit observations/trust-audit/skill/bankrbot__opensea-wallet.json · Report an issue / request a re-scan
04

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-094029e336cef5SAFEB89first audit
05

Questions

What does the Opensea Wallet skill do?

Bankr Skills equip builders with plug-and-play tools to build more powerful agents.

Is Opensea Wallet safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can Opensea Wallet access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

How current is this page?

The grade is for one exact copy of the source (4029e336cef5), read on 2026-10-09. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement