OpenSea 지갑
OpenSea 거래를 위한 지갑 서명 제공자를 설정하고 구성합니다. CLI와 SDK는 환경 변수를 기반으로 사용할 제공자를 자동 감지하거나, --wallet-provider를 사용하여 명시적으로 지정할 수 있습니다.
이 스킬을 사용해야 하는 경우 (scope_in)
다음과 같은 경우 opensea-wallet을 사용하세요:
- 처음으로 지갑 제공자 설정 (Privy, Turnkey, Fireblocks, Bankr 또는 로컬 키)
- 서명 정책 구성 (값 상한, 허용 목록, 다중 서명 승인)
- 지갑 제공자 간 전환
- 각 제공자의 보안 모델 이해
이 스킬을 사용하지 말아야 하는 경우 (scope_out, 인계)
| 필요 사항 | 대신 사용할 것 |
|---|---|
| NFT/토큰 데이터 조회 | opensea-api |
| NFT 구매/판매 | opensea-marketplace |
| ERC20 토큰 스왑 | opensea-swaps |
| AI 에이전트 도구 빌드/등록/게이트 | opensea-tool-sdk |
빠른 시작
# 1. 관리형 제공자를 선택하고 환경 변수 설정 (기본 Privy 예시)
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. 서명 가능한 명령을 통해 지갑 사용
opensea swaps execute \
--from-chain base --from-address 0x0000000000000000000000000000000000000000 \
--to-chain base --to-address 0xb695559b26bb2c9703ef1935c37aeae9526bab07 \
--quantity 0.001
다른 제공자는 아래 표와 references/wallet-setup.md를 참조하세요.
지원되는 제공자
| 제공자 | 환경 변수 | 가장 적합한 용도 |
|---|---|---|
| Privy (기본) | PRIVY_APP_ID, PRIVY_APP_SECRET, PRIVY_WALLET_ID | TEE-시행 정책, 임베디드 지갑 |
| Turnkey | TURNKEY_API_PUBLIC_KEY, TURNKEY_API_PRIVATE_KEY, TURNKEY_ORGANIZATION_ID, TURNKEY_WALLET_ADDRESS | HSM-지원 키, 다중 서명 승인 |
| Fireblocks | FIREBLOCKS_API_KEY, FIREBLOCKS_API_SECRET, FIREBLOCKS_VAULT_ID | 엔터프라이즈 MPC 관리, 기관 사용 |
| Bankr | BANKR_API_KEY | Bankr의 HTTP 서명 API를 통한 에이전트 지갑 |
| 개인 키 (로컬 개발 전용) | PRIVATE_KEY, RPC_URL, WALLET_ADDRESS | 로컬 개발/테스트 전용 (지출 한도 또는 보호 장치 없음) |
환경 변수가 설정되면 CLI와 SDK가 자동으로 서명을 처리합니다. 자동 감지 순서: Privy, Fireblocks, Turnkey, Bankr, 개인 키. 제공자를 명시적으로 지정하려면:
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 ...
보안
- 관리형 제공자 (Privy, Turnkey, Fireblocks, Bankr)가 원시 개인 키보다 강력히 권장됩니다.
- 원시
PRIVATE_KEY는 로컬 개발 전용입니다. 공유 에이전트 환경, 호스팅 CI, 또는 키가 로깅되거나 유출될 수 있는 어떤 컨텍스트에도 원시 개인 키를 붙여넣지 마십시오. - 프로덕션 및 공유 에이전트 설정은 보수적인 서명 정책 (값 상한, 허용 목록, 다중 서명 승인)을 갖춘 관리형 제공자를 사용해야 합니다.
보안 모델
에이전트의 환경은 서명 자격 증명을 보유하며, 관리 자격 증명은 보유하지 않습니다. 이는 구조적 속성이며, 각 제공자가 올바르게 구성되어야 합니다. 네 가지 지원 제공자 중 어느 것도 기본적으로 이 상태로 제공되지 않습니다.
에이전트가 절대 해서는 안 되는 작업
- 자체 서명 정책, 역할 또는 범위를 수정합니다.
- 자체 소유자 키, 인증 키 또는 API 사용자를 교체합니다.
- 지갑의 개인 키를 내보내거나 소유권을 주장합니다.
../docs/policy-administration.md의 요청을 구성합니다.
사용자가 에이전트에게 이러한 작업을 요청하면 에이전트는 거부하고 ../docs/policy-administration.md의 사용자 전용 레시피로 안내해야 합니다. 유출된 에이전트 환경은 보유한 자격 증명만으로는 지출 상한을 해제하거나 허용 목록을 다시 작성할 수 없는 경우에만 복구 가능합니다.
거래당 상한: 제공자에 의해 시행
각 제공자는 서로 다른 계층에서 거래당 상한 및 허용 목록을 시행하지만, 네 가지 모두 서명 작업이 완료되기 전에 확인됩니다:
| 제공자 | 상한이 시행되는 위치 |
|---|---|
| Privy | TEE 평가 지갑 정책 (지갑의 policy_ids) |
| Turnkey | 정책 엔진, API 사용자의 허용된 활동 범위로 제한 |
| Fireblocks | 작업 공간의 TAP 규칙 |
| Bankr | API 키당 allowedRecipients 허용 목록 + 일일 메시지 제한 |
opensea wallet info를 실행하여 지갑에 이러한 기능이 있는지 확인하세요. 이 명령은 거래당 계층이 누락된 경우 큰 경고를 출력합니다.
집계 상한: 어떤 제공자도 기본적으로 시행하지 않음
Privy, Turnkey, Fireblocks, Bankr 중 어느 것도 상태 저장 일일/주별 누적 지출 상한을 기본 기능으로 제공하지 않습니다. 해당 정책/TAP/키 플래그 계층은 상태 비저장 거래당 평가자(또는 Bankr의 경우 메시지 할당량, 이는 달러 상한이 아님)입니다.
집계 상한을 위한 의도된 패턴은 지갑 플로트입니다: 에이전트의 지갑 잔액을 대략 한 예산 기간에 맞게 유지하고, 사용자가 자신의 일정에 따라 재충전하도록 합니다. 지갑 잔액이 실제 상한입니다. 에이전트가 초과 지출을 시도하면 거래는 제공자 계층(거래당 상한) 또는 체인 계층(잔액 부족)에서 실패하며, 에이전트가 무시할 수 있는 명예 시스템 제한이 아닙니다. 자세한 패턴은 references/wallet-funding.md를 참조하세요.
(Privy는 상태 저장 평가를 허용하는 트랜잭션 승인 웹훅을 조사 중입니다. 해당 기능이 제공되면 필드는 기본적으로 집계 상한을 지원하게 됩니다. 그때까지는 지갑 플로트가 답입니다.)
정책 변경: 별도로 보유한 자격 증명 필요
각 제공자는 변경을 제어하는 서로 다른 대역 외 자격 증명을 가지고 있습니다:
| 제공자 | 변경 게이트 |
|---|---|
| Privy | 지갑의 owner_id 키 정족수 — 소유자 키는 오프라인 상태로 보관 |
| Turnkey | 루트 사용자 정족수 — 서명에는 루트가 아닌 API 사용자 사용 |
| Fireblocks | TAP 변경을 위한 관리자 정족수; API 사용자 역할은 Signer로만 설정 |
| Bankr | bankr.bot/api에서 대시보드 재범위 지정 — 범위를 변경할 수 있는 API 없음 |
이러한 설정은 references/wallet-setup.md의 행복 경로의 일부이며, 선택적 강화가 아닙니다. opensea wallet info는 API를 통해 감지할 수 있는 경우 구조적 게이트가 마련되었는지 보고합니다. Fireblocks 및 Bankr의 경우 감지할 수 없으므로 명령은 콘솔에서 확인하라는 정적 알림을 출력합니다.
변경 레시피 위치
정책 변경, 키 교체, API 사용자 재범위 지정을 위한 실제 HTTP/SDK 레시피는 ../docs/policy-administration.md에 있습니다. 즉, 스킬 저장소의 최상위 docs/ 폴더에 각 스킬 폴더(opensea-wallet/ 등)와 나란히 위치하며, 그 내부에는 없습니다. 스킬 로더는 개별 스킬 디렉토리(opensea-wallet/SKILL.md 및 명시적으로 참조하는 파일)만 마운트하므로 변경 레시피는 에이전트의 컨텍스트에 절대 들어가지 않습니다. 향후 기여자가 이 파일을 스킬 폴더 내부로 이동하면 에이전트가 이를 읽고 레시피를 실행하여