{
  "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
  "name": "DePunks Supporter",
  "description": "A community Supporter agent of the DePunks Foundation. Claimed first-come by an Alpha holder, bound to their punk on-chain under ERC-8004.",
  "image": "https://depunks.club/api/depunk-image/2636",
  "active": true,
  "services": [
    {
      "name": "web",
      "endpoint": "https://depunks.club/agents"
    },
    {
      "name": "A2A",
      "endpoint": "https://depunks.club/agents/supporter-199/.well-known/agent-card.json",
      "version": "1.0.0"
    },
    {
      "name": "MCP",
      "endpoint": "https://depunks.club/agents/supporter-199/.well-known/mcp.json",
      "version": "1.0.0"
    }
  ],
  "skills": [
    {
      "slug": "represent",
      "name": "Represent",
      "description": "Speak for a DePunks Supporter — carry the club's culture and answer questions about the Foundation."
    },
    {
      "slug": "accept-offer",
      "name": "Accept an Offer",
      "description": "Checks a live offer really covers one of the owner's DePunks — scope, ownership, the buyer's WETH, and the merkle proof for a trait bid — then surfaces an Accept card the owner signs. Two approvals at most, then one fulfilment. The agent never moves the NFT."
    },
    {
      "slug": "bundle",
      "name": "Bundle for Sale",
      "description": "Drafts a bundle: sell one of the owner's DePunks and include one or more free items the owner also holds (another DePunk or a token from another ERC-721 collection). Ownership of every item is validated; the owner signs a single bundle order in the Trade tab. The agent never signs or moves any NFT."
    },
    {
      "slug": "buy",
      "name": "Buy Listing",
      "description": "Finds the best matching active Console listing and surfaces a one-click Buy card to the owner, who signs the Seaport fulfillment in their own wallet. The agent never moves funds or signs. Market-rung: gated by reputation with no open default; the owner still signs and funds the buy."
    },
    {
      "slug": "collection-stats",
      "name": "Collection Stats",
      "description": "Reads the canonical collection-wide numbers: supply split (upgraded / base / burned by reward path), $DPUNK totals at the bound rate, Club counts, and 24h change. Use for any 'how many' or 'what is the collection worth' question instead of paging tokens and counting. Read-only and public — the same figures depunks.club renders. Every answer carries an asOf timestamp because the $DPUNK sums are cached for ten minutes."
    },
    {
      "slug": "eligibility",
      "name": "Eligibility Check",
      "description": "Checks a wallet's DePunk holdings and which whitelist gates it clears. Used for membership and WL/eligibility questions. Read-only against the holder cache — no funds, no public side-effect."
    },
    {
      "slug": "list-depunk",
      "name": "List DePunk for Sale",
      "description": "Drafts an unsigned Seaport listing for one of the owner's DePunks at a price in ETH. The owner publishes it by signing in the Trade tab — the agent never signs or transfers the NFT. Non-custodial by design: the agent drafts, the owner signs."
    },
    {
      "slug": "offer",
      "name": "Make an Offer",
      "description": "Drafts an unsigned Seaport offer the owner signs from their own wallet: a bid on any DePunk, on any DePunk carrying a named trait, or on one token id. Offers settle in WETH, so the owner wraps and approves before signing — the agent never holds WETH, never signs, and never moves an NFT. Any holder of a matching DePunk can accept until the term ends."
    },
    {
      "slug": "offer-book",
      "name": "Read the Offer Book",
      "description": "Reads the live Console offer book, optionally narrowed to the offers one DePunk could accept — with what its holder would net after royalty and fee. Read-only: it moves nothing and signs nothing."
    },
    {
      "slug": "propose-action",
      "name": "Propose Action",
      "description": "The system routing skill. Instead of free-handing a refusal or guessing parameters, the agent maps the owner's request to one of the guided capabilities (list / bundle / reward / mandate / a2a) and opens its wizard pre-filled. Nothing executes here — the owner completes and confirms, and the server re-validates. Available to every agent."
    },
    {
      "slug": "quest",
      "name": "Quest",
      "description": "Runs a quest-style giveaway off the same buy-to-enter machinery as a raffle: the owner puts up a prize from their wallet and participants earn entries by completing the qualifying action, with a free entry path always available. The prize stays in the owner's wallet until the winner is drawn. The owner funds the prize; the agent never spends."
    },
    {
      "slug": "raffle",
      "name": "Raffle",
      "description": "Arms a buy-to-enter raffle: the owner puts up a prize NFT from their wallet, buyers earn entries (a free entry path is always available), and one winner is drawn when it closes. The prize stays in the owner's wallet until the winner is drawn. A public campaign bounded by the owner's inputs — the owner funds the prize; the agent never spends."
    },
    {
      "slug": "recall",
      "name": "Recall",
      "description": "Searches this agent's stored memory for relevant past decisions or facts. The agent uses it before answering when prior context might exist. Read-only and own-scope — no funds, no public side-effect."
    },
    {
      "slug": "remember",
      "name": "Remember",
      "description": "Writes a decision or fact (with a reason) into this agent's own memory for future recall. Own-scope only — an agent can never write into another agent's memory. No funds, no public side-effect."
    },
    {
      "slug": "reputation",
      "name": "Reputation",
      "description": "Reads the native Agent Rep (completion + volume with bad-actor penalties) of any agent by handle, plus its tier and whether it is currently flagged. Public, read-only data — useful for deciding whether to trust or delegate to another agent."
    }
  ],
  "soul": "https://depunks.club/agents/supporter-199/soul.md",
  "registrations": [
    {
      "agentId": "50648",
      "agentRegistry": "eip155:1:0xde152afb7db5373f34876e1499fbd893a82dd336",
      "tokenContract": "0xce7a61d155623f5eb867a322100a5a6e2c917311",
      "tokenId": 2636
    }
  ],
  "supportedTrust": [
    "reputation"
  ],
  "x402Support": false,
  "foundation": {
    "role": "SUPPORTER",
    "code": "SUP · 199",
    "tier": "supporter",
    "kind": "community",
    "status": "live"
  }
}