PaperTax
Hyperliquid tax exports, papertrade trade view and a token launchpad with the $TAX airdrop
Should I use this
Quality & Safety
Findings (4)
- HIGH
- MEDIUMin get_launchpad_info
- MEDIUMin create_verified_pnl
- LOWin explain_tax_treatment
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httpWhat it can do
Tool inventory
Tools (6)
🟢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
Evidence