PaperTax

Hyperliquid tax exports, papertrade trade view and a token launchpad with the $TAX airdrop

Should I use this

Quality & Safety

A
Description quality
92%
Schema completeness
94%
Naming quality
97%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (4)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'get_launchpad_info' description contains placeholder textin get_launchpad_info
  • MEDIUMTool description contains URL to non-standard domainin create_verified_pnl
  • LOWTool 'explain_tax_treatment' description lacks action verbin explain_tax_treatment

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,525Tokens (tool definitions)
~2.9 KBTypical response size
Moderate attention impact (1.97% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "papertax": {
      "url": "https://papertax.xyz/mcp"
    }
  }
}

Remote endpoints

https://papertax.xyz/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_tax_summary(address, tax_year, jurisdiction, sample)

Per-venue realised gains and losses, fees, funding, liquidations, open positions and items needing review for one wallet and tax year, plus trading analytics: fee and funding drag, liquidation review, and net after costs by market and by month.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Public Hyperliquid wallet address"
    },
    "tax_year": {
      "type": "string",
      "enum": [
        "AU-2027",
        "AU-2026",
        "US-2026",
        "US-2025",
        "UK-2027",
        "UK-2026",
        "CA-2026",
        "CA-2025",
        "NZ-2027",
        "NZ-2026"
      ],
      "description": "Tax year. AU-2027 = Australia · FY 2026–27; AU-2026 = Australia · FY 2025–26; US-2026 = United States · 2026; US-2025 = United States · 2025; UK-2027 = United Kingdom · 2026–27; UK-2026 = United Kingdom · 2025–26; CA-2026 = Canada · 2026; CA-2025 = Canada · 2025; NZ-2027 = New Zealand · 2026–27; NZ-2026 = New Zealand · 2025–26. Defaults to the year being filed now."
    },
    "jurisdiction": {
      "type": "string",
      "enum": [
        "AU",
        "US",
        "UK",
        "CA",
        "NZ"
      ],
      "default": "AU",
      "description": "Used when tax_year is not given. AU = 1 Jul–30 Jun; US and CA = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar"
    },
    "sample": {
      "type": "boolean",
      "default": false,
      "description": "Return deterministic sample data instead of reading Hyperliquid"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
🟢get_ledger_events(address, tax_year, jurisdiction, sample, unlock_token, ...)

Individual ledger rows with default tax classification: perp opens, closes, liquidations and funding; spot buys and sells; vault deposits and withdrawals; staking rewards; HyperEVM swaps and protocol deposits; transfers; papertrade mints and staking. Filter by event type or venue. Without paid access, live wallets return the first 10 rows.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Public Hyperliquid wallet address"
    },
    "tax_year": {
      "type": "string",
      "enum": [
        "AU-2027",
        "AU-2026",
        "US-2026",
        "US-2025",
        "UK-2027",
        "UK-2026",
        "CA-2026",
        "CA-2025",
        "NZ-2027",
        "NZ-2026"
      ],
      "description": "Tax year. AU-2027 = Australia · FY 2026–27; AU-2026 = Australia · FY 2025–26; US-2026 = United States · 2026; US-2025 = United States · 2025; UK-2027 = United Kingdom · 2026–27; UK-2026 = United Kingdom · 2025–26; CA-2026 = Canada · 2026; CA-2025 = Canada · 2025; NZ-2027 = New Zealand · 2026–27; NZ-2026 = New Zealand · 2025–26. Defaults to the year being filed now."
    },
    "jurisdiction": {
      "type": "string",
      "enum": [
        "AU",
        "US",
        "UK",
        "CA",
        "NZ"
      ],
      "default": "AU",
      "description": "Used when tax_year is not given. AU = 1 Jul–30 Jun; US and CA = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar"
    },
    "sample": {
      "type": "boolean",
      "default": false,
      "description": "Return deterministic sample data instead of reading Hyperliquid"
    },
    "unlock_token": {
      "type": "string",
      "description": "Unlock token returned by buy_report (or the website after paying), for wallets bought without an API key"
    },
    "type": {
      "type": "string",
      "enum": [
        "open",
        "loss",
        "liq",
        "gain",
        "queued",
        "funding",
        "mint",
        "stake",
        "stakepay",
        "spotbuy",
        "spotgain",
        "spotloss",
        "vaultin",
        "vaultgain",
        "vaultloss",
        "income",
        "airdrop",
        "xfer",
        "evmswap",
        "defiin",
        "defiout",
        "receive"
      ]
    },
    "venue": {
      "type": "string",
      "description": "Venue key: hl (perps), hip3:<dex> (e.g. hip3:xyz), spot, vault, staking, evm (HyperEVM), pt (papertrade), fork, core (deposits and transfers)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "default": 100
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
🟢export_tax_file(address, tax_year, jurisdiction, sample, unlock_token, ...)

Koinly universal CSV, Crypto Tax Calculator advanced CSV, plain-text accountant summary, or the audit pack (audit = JSON with every figure tied to its transaction hash, a rules version and a data fingerprint; auditpdf = the printable PDF). Live wallets need paid access (API key or paid report). Large files are cut short with a download link.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Public Hyperliquid wallet address"
    },
    "tax_year": {
      "type": "string",
      "enum": [
        "AU-2027",
        "AU-2026",
        "US-2026",
        "US-2025",
        "UK-2027",
        "UK-2026",
        "CA-2026",
        "CA-2025",
        "NZ-2027",
        "NZ-2026"
      ],
      "description": "Tax year. AU-2027 = Australia · FY 2026–27; AU-2026 = Australia · FY 2025–26; US-2026 = United States · 2026; US-2025 = United States · 2025; UK-2027 = United Kingdom · 2026–27; UK-2026 = United Kingdom · 2025–26; CA-2026 = Canada · 2026; CA-2025 = Canada · 2025; NZ-2027 = New Zealand · 2026–27; NZ-2026 = New Zealand · 2025–26. Defaults to the year being filed now."
    },
    "jurisdiction": {
      "type": "string",
      "enum": [
        "AU",
        "US",
        "UK",
        "CA",
        "NZ"
      ],
      "default": "AU",
      "description": "Used when tax_year is not given. AU = 1 Jul–30 Jun; US and CA = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar"
    },
    "sample": {
      "type": "boolean",
      "default": false,
      "description": "Return deterministic sample data instead of reading Hyperliquid"
    },
    "unlock_token": {
      "type": "string",
      "description": "Unlock token returned by buy_report (or the website after paying), for wallets bought without an API key"
    },
    "format": {
      "type": "string",
      "enum": [
        "koinly",
        "ctc",
        "summary",
        "audit",
        "auditpdf"
      ],
      "default": "koinly"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
🟢explain_tax_treatment(jurisdiction, event_type)

PaperTax's default treatment notes for Australia, the US, the UK, Canada or New Zealand, optionally for one event type. Not tax advice.

Input Schema

{
  "type": "object",
  "properties": {
    "jurisdiction": {
      "type": "string",
      "enum": [
        "AU",
        "US",
        "UK",
        "CA",
        "NZ"
      ],
      "default": "AU",
      "description": "Used when tax_year is not given. AU = 1 Jul–30 Jun; US and CA = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar"
    },
    "event_type": {
      "type": "string",
      "enum": [
        "loss",
        "liq",
        "gain",
        "queued",
        "funding",
        "mint",
        "stakepay",
        "spotgain",
        "spotloss",
        "vaultgain",
        "vaultloss",
        "income",
        "airdrop",
        "xfer",
        "evmswap",
        "defiin",
        "defiout",
        "receive"
      ]
    }
  },
  "additionalProperties": false
}
🟢create_verified_pnl(address, tax_year, jurisdiction, amounts, private)

Read a wallet's results for one tax year from the chain and return a public, signed link (https://papertax.xyz/v/…) with a share image, for posting on X or anywhere else. Free, and nothing is stored. Dollar amounts are included only when amounts is true. With private true (the default) the wallet address is left out of the link and the page; with private false the page shows it, so check with the user first. It proves what the wallet did, not who owns it.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Public Hyperliquid wallet address"
    },
    "tax_year": {
      "type": "string",
      "enum": [
        "AU-2027",
        "AU-2026",
        "US-2026",
        "US-2025",
        "UK-2027",
        "UK-2026",
        "CA-2026",
        "CA-2025",
        "NZ-2027",
        "NZ-2026"
      ],
      "description": "Tax year. AU-2027 = Australia · FY 2026–27; AU-2026 = Australia · FY 2025–26; US-2026 = United States · 2026; US-2025 = United States · 2025; UK-2027 = United Kingdom · 2026–27; UK-2026 = United Kingdom · 2025–26; CA-2026 = Canada · 2026; CA-2025 = Canada · 2025; NZ-2027 = New Zealand · 2026–27; NZ-2026 = New Zealand · 2025–26. Defaults to the year being filed now."
    },
    "jurisdiction": {
      "type": "string",
      "enum": [
        "AU",
        "US",
        "UK",
        "CA",
        "NZ"
      ],
      "default": "AU",
      "description": "Used when tax_year is not given. AU = 1 Jul–30 Jun; US and CA = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar"
    },
    "amounts": {
      "type": "boolean",
      "default": false,
      "description": "Include net result, gains, losses and fees"
    },
    "private": {
      "type": "boolean",
      "default": true,
      "description": "Leave the wallet address out of the link and page"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
🟢get_launchpad_info(address)

How the PaperTax token launchpad works (HyperEVM testnet now): the 2% pool fee split, what $TAX and PAPER stakers get, the $TAX platform token's split, and the contract addresses (not yet deployed; $TAX address coming soon). With an address, also returns that wallet's PAPER stake on papertrade at the latest HyperEVM mainnet block and whether it currently qualifies for the $TAX airdrop (1,000+ PAPER staked; the airdrop itself depends on the stake at the snapshot taken at launch).

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Optional wallet address to check its PAPER stake"
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools