# PaperTax

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

- name: io.github.AwakeWeb3/papertax
- version: 0.10.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.AwakeWeb3%2Fpapertax
- tools: https://api.protogrid.dev/v1/servers/io.github.AwakeWeb3%2Fpapertax/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "papertax": {
      "type": "http",
      "url": "https://papertax.xyz/mcp",
      "headers": {
        "Authorization": "Bearer ${PAPERTAX_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${PAPERTAX_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-2d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 8 of 8 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,208 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 3 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 3,208 tokens to load them all
- tool set hash: 70f0b69bcde1e3367419b7228624211c
- tools last changed: 2026-10-19T08:35:27.315Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.AwakeWeb3/papertax.svg)](https://protogrid.dev/servers/io.github.AwakeWeb3/papertax)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `get_launchpad_info` changed (description) **meaning changed**
  - before: 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).
  - after: Status and design notes for the papertax token launchpad and the $TAX token. Both are paused: nothing is deployed (not even on testnet), and there is nothing to launch, stake, claim or buy. Use this to answer questions about the pause or how the launchpad was designed (pool fee split, $TAX allocation). Official news comes only from X @papertaxdev. With an address, also returns that wallet's current PAPER stake on papertrade (public on-chain data); this says nothing about any future airdrop.
- 2026-10-19 `buy_report` added
  - Buy the full report for one wallet and tax year ($29 up to 500 events, $59 up to 5,000, $99 above; upgrades charge the difference). method "card" charges the account owner's saved card: needs Authorization: Bearer ptx_… and the owner's opt-in; set max_price_cents to cap it. method "usdc" returns a quote: send exactly that USDC amount on HyperEVM (chain 999) to the given address, then call again with quote_id and tx_hash. (x402 clients can instead pay in USDC on Base or Solana at GET https://papertax.xyz/api/buy?address=…&year=….) Returns an unlock_token and export links. This spends money: confirm with the user first.
- 2026-10-19 `create_verified_pnl` changed (inputSchema)
- 2026-10-19 `explain_tax_treatment` changed (description, inputSchema)
  - before: papertax's default treatment notes for Australia, the US, the UK, Canada or New Zealand, optionally for one event type. Not tax advice.
  - after: papertax's default treatment notes for Australia, the US, the UK, Canada, New Zealand, Japan or Spain, optionally for one event type. Not tax advice.
- 2026-10-19 `export_tax_file` changed (description, inputSchema, annotations)
  - before: 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.
  - after: Koinly universal CSV, Crypto Tax Calculator advanced CSV, Cryptact custom file (JST, priced in yen by Cryptact), 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.
- 2026-10-19 `get_ledger_events` changed (inputSchema, annotations)
- 2026-10-19 `get_tax_summary` changed (description, inputSchema)
  - before: 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.
  - after: Free. 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, net after costs by market and month). For live wallets, report gives the event count, the full report's price for this caller, whether they already have access, and how to buy it.
- 2026-10-18 `get_games` changed (title, description)
  - before: How PaperTax games work (Liquidation Chicken, The Run, Duel and Lobby rooms on real papertrade positions, with crews and weekly leaderboards), this week's boards (top 10 named players or crews; wallets are never shown), open and live rooms, and the Bulls vs Bears tally. Read-only; playing needs the website and a wallet.
  - after: How papertax games work (Edge, Climb, and 1v1 and Pit rooms on real papertrade positions, with crews and weekly leaderboards), this week's boards (top 10 named players or crews; wallets are never shown), open and live rooms, and the Bulls vs Bears tally. Read-only; playing needs the website and a wallet.
- 2026-10-18 `get_launchpad_info` changed (title, description)
  - before: 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).
  - after: 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).
- 2026-10-18 `explain_tax_treatment` changed (description)
  - before: PaperTax's default treatment notes for Australia, the US, the UK, Canada or New Zealand, optionally for one event type. Not tax advice.
  - after: papertax's default treatment notes for Australia, the US, the UK, Canada or New Zealand, optionally for one event type. Not tax advice.

Full history: https://api.protogrid.dev/v1/servers/io.github.AwakeWeb3%2Fpapertax/changes

## Remotes

- https://papertax.xyz/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (8)

- `buy_report`: Buy the full report for one wallet and tax year ($29 up to 500 events, $59 up to 5,000, $99 above; upgrades charge the difference). method "card" charges the account owner's saved card: needs Authorization: Bearer ptx_… and the owner's opt-in; set max_price_cents to cap it. method "usdc" returns a quote: send exactly that USDC amount on HyperEVM (chain 999) to the given address, then call again with quote_id and tx_hash. (x402 clients can instead pay in USDC on Base or Solana at GET https://papertax.xyz/api/buy?address=…&year=….) Returns an unlock_token and export links. This spends money: confirm with the user first.
- `create_verified_pnl`: 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.
- `explain_tax_treatment`: papertax's default treatment notes for Australia, the US, the UK, Canada, New Zealand, Japan or Spain, optionally for one event type. Not tax advice.
- `export_tax_file`: Koinly universal CSV, Crypto Tax Calculator advanced CSV, Cryptact custom file (JST, priced in yen by Cryptact), 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.
- `get_games`: How papertax games work (Edge, Climb, and 1v1 and Pit rooms on real papertrade positions, with crews and weekly leaderboards), this week's boards (top 10 named players or crews; wallets are never shown), open and live rooms, and the Bulls vs Bears tally. Read-only; playing needs the website and a wallet.
- `get_launchpad_info`: Status and design notes for the papertax token launchpad and the $TAX token. Both are paused: nothing is deployed (not even on testnet), and there is nothing to launch, stake, claim or buy. Use this to answer questions about the pause or how the launchpad was designed (pool fee split, $TAX allocation). Official news comes only from X @papertaxdev. With an address, also returns that wallet's current PAPER stake on papertrade (public on-chain data); this says nothing about any future airdrop.
- `get_ledger_events`: 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.
- `get_tax_summary`: Free. 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, net after costs by market and month). For live wallets, report gives the event count, the full report's price for this caller, whether they already have access, and how to buy it.
