· 1 observation
Technical updates · 1
Package or technical metadata updated
View technical comparison →Kryptos v1.0.1
Crypto portfolio, tax & books
From the developer
Kryptos does not sell products or take payments inside ChatGPT.
What is my crypto portfolio worth right now?
Developer declarations; not independently tested. Listing last checked Nov 13, 2026. Package observed Nov 12, 2026.
From the marketplace listing
Kryptos brings your crypto portfolio, transaction history, tax figures and accounting ledger into ChatGPT, across 5,000+ exchanges, wallets and blockchains. Ask what you hold and what it is worth, search your transaction history by asset, wallet, label or date, review DeFi positions and NFT collections, and look at the ledger detail behind any trade. Kryptos also finds the data problems that make crypto tax wrong — missing prices, missing cost basis, sells with no matching purchase, balances that disagree with the ledger, wallets you never connected — and lets you fix them in the same conversation: recategorise a transaction, correct a price, merge a transfer that detection missed, or add a trade that never made it into an export. Finance teams can map transactions to a chart of accounts, apply categorisation rules, generate double-entry journals and push them to Xero, QuickBooks or Softledger. You sign in to Kryptos with OAuth and grant access to one workspace. Kryptos never asks for exchange API keys or wallet private keys in the conversation. It reads and records only — no tool can send, swap, withdraw, deposit or trade any asset. Requires a Kryptos account.
Language: English · Automatically detected from descriptions.
Exact text from the indicated source. A mention alone does not establish support for your task.
Kryptos brings your crypto portfolio, transaction history, tax figures and accounting ledger into ChatGPT, across 5,000+ exchanges, wallets and blockchains. Ask what you hold and what it is worth, search your transaction history by asset, wallet, label or date, review DeFi positions and NFT collections, and look at the ledger detail behind any trade. Kryptos also finds the data problems that make crypto tax wrong — missing prices, missing cost basis, sells with no matching purchase, balances that disagree with the ledger, wallets you never connected — and lets you fix them in the same conversation: recategorise a transaction, correct a price, merge a transfer that detection missed, or add a trade that never made it into an export. Finance teams can map transactions to a chart of accounts, apply categorisation rules, generate double-entry journals and push them to Xero, QuickBooks or Softledger. You sign in to Kryptos with OAuth and grant access to one workspace. Kryptos never asks for exchange API keys or wallet private keys in the conversation. It reads and records only — no tool can send, swap, withdraw, deposit or trade any asset. Requires a Kryptos account.
Portfolio and holdings Transaction history Data quality checks Tax reports and cost basis Chart of accounts and ERP journals
Crypto portfolio, transaction, tax and accounting data from your Kryptos workspace.
· 1 observation
Package or technical metadata updated
View technical comparison →Find competitors to follow as you develop your plugin.
Read-only Revolut X crypto exchange data: your balances, orders, fills, and wallet transactions, plus currencies, trading pairs, tickers,...
Shared terms: crypto, portfolio, asset, balance
Awaken Tax helps users inspect cryptocurrency transactions, accounts, portfolios, tax lots, reports, and reconciliation data; correct pri...
Shared terms: crypto, tax, correct, portfolio
Cryptoworth lets ChatGPT read authorized Cryptoworth crypto-accounting portfolio data through 20 read-only tools. Users can inspect autho...
Shared terms: portfolio, accounting, asset, balance
Ask about your own stock and crypto portfolio: holdings, allocation, P&L, and market and social data for the assets you hold. Read-only; ...
Shared terms: portfolio, asset, cost, crypto
Crypto data for AI agents: on-chain wallets and tokens, Hyperliquid, HL Cohorts and Polymarket.
Shared terms: crypto, balance, exchange, label
---
name: crypto-bookkeeping
description: Run crypto bookkeeping for a Kryptos Enterprise workspace — connect Xero, QuickBooks or Softledger, sync the chart of accounts, map transactions to GL accounts with rules, check the generated journals and push them to the ERP. Use when the user mentions a chart of accounts, GL codes, journals, month-end close, Xero, QuickBooks or Softledger.
---
# Crypto bookkeeping (Enterprise)
Map crypto activity to the chart of accounts and send clean journals to the user's accounting system. Explicit instructions from the user take priority over this workflow. Discover everything from the tools: platform, organisation, account codes, rules, task state. Never assume them. Errors return a `code` (for example `NO_TAX_YEAR_PLAN`, `PERIOD_LOCKED`) and a `message`; use both to tell why a call failed.
## Before you start
Call `list_chart_of_accounts`. If it fails with `ENTERPRISE_REQUIRED` (the feature requires an enterprise workspace), the workspace is retail: explain that bookkeeping and ERP sync are Enterprise features, and stop. Two more gates can appear later, and the error message says which one applies:
- an ERP may be disabled for the workspace (`ERP_DISABLED`);
- pushing to an ERP needs a paid Enterprise plan (the trial doesn't include it), and is refused when the period has more transactions than the plan allows (`ENTERPRISE_PLAN_REQUIRED`, `PLAN_TRANSACTION_LIMIT_EXCEEDED`).
State the gate plainly when you hit one.
## How accounts get assigned
Every ledger leg gets a debit and a credit account:
- **Asset rules** (category `ASSET_RULES`) set the asset side. Workspaces start with catch-alls ("Digital Assets" for every token, "Cash Equivalents" for fiat) at the lowest ranks. Within a category the lowest rank that matches wins, so a rule for a specific asset needs a lower rank than the catch-alls; use `reorder_rules` if needed.
- **Custom rules** (`CUSTOM_RULES`) set the other side, for deposits, withdrawals and payments only — for example a staking-reward label to an income account. Trades and transfers use asset rules only.
- **Default rules** map capital gains, capital losses, fees and rounding ("Small Errors") to accounts. They aren't matched against legs; to move them to different accounts, use `update_rule` with a new `coa`.
- **Manual assignments** (`assign_ledger_accounts`, `bulk_assign_ledger_accounts`) are kept. Rule runs and recomputes don't overwrite them.
- Rule changes take effect when `apply_rules` runs, and also on the next workspace recompute (for example after a sync).
## Workflow
1. **Connect the ERP.** Call `list_erps` (shows `isConnected`), then `get_erp_connection_status(platform)`.
- **Not connected, Xero or QuickBooks:** `connect_erp(platform)` returns an `authUrl` for the user to open and approve; you can't do this for them. Check the status again afterwards.
- **Softledger** uses client credentials and is connected in the Kryptos web app. Never ask for or accept those in the chat.
- **Xero:** if `tenantInfo` is empty, no organisation is selected, and syncing, creating accounts and pushing will all fail. Call `list_erp_tenants`, ask which organisation, then `select_erp_tenant`.
- **QuickBooks** connects to one company; there is nothing to select. **Softledger:** `select_erp_tenant` only sets the fallback location for journals whose accounts carry none.
- **Wrong organisation:** switching does not reset anything. After selecting the right one, run `sync_coa_from_erp`, and warn that journals already pushed went to the previous organisation.
- **Broken connection:** the status can still say connected after a token stops refreshing; it shows up as errors or failed tasks. Run `connect_erp` again (and, for Xero with several organisations, select the organisation again).
- **No ERP:** the chart of accounts can be imported from CSV in the web app (ERP Integrations → Custom), or created one account at a time with `create_chart_of_account` (`code`, `naPreview of the first 4,000 characters. Read full instructions →
---
name: get-started
description: Set up a Kryptos workspace — connect blockchain wallets by public address, wait for the import to finish, and give a first look at the portfolio. Use when the user is new to Kryptos, has nothing connected yet, asks to add or connect a wallet, or asks how to get started.
---
# Get started with Kryptos
Help the user connect their wallets and see their portfolio for the first time. Explicit instructions from the user take priority over this workflow. Discover chains, providers and portfolios from the tools; don't assume them. Errors return a `code` (for example `NO_TAX_YEAR_PLAN`, `PERIOD_LOCKED`) and a `message`; use both to tell why a call failed.
## Workflow
1. **See what's already there.** Call `get_integrations`. If wallets are connected, summarise them (chain, alias, last sync) and ask what the user wants to add. Call `get_accounting_settings` and tell the user the country (`countryCode`), base currency and cost-basis method in force. They drive every tax figure, and they're changed in the Kryptos web app, not here.
2. **Pick the portfolio.** Every wallet belongs to a portfolio, in retail and Enterprise workspaces alike. Call `list_portfolios`:
- Enterprise: ask which portfolio to use;
- otherwise: use the one with `isDefault: true`;
- if there are none: offer `create_portfolio`.
Pass its id as `primaryPortfolioId` on every `add_wallet` call.
3. **Collect the wallet.** Ask for the public wallet address and the chain. Wallets are added by **public address only**:
- Never ask for, accept or repeat a private key, seed phrase, API key, secret or password. If the user pastes one, tell them not to share it, don't use it, and suggest they treat it as exposed.
- Exchange accounts (API key or OAuth) and CSV files are connected in the Kryptos web app; say so and move on.
4. **Pick the chains.**
- **EVM address** (`0x` + 40 hex characters): call `detect_wallet_chains` and show the chains with activity. Skip any whose `isWorking` is false, and ask whether to add all of them or only some. The `id` of each result is the `providerId` to use. An empty result means no activity was found; ask the user which chain they use instead of guessing.
- **Any other address** (Bitcoin, Solana and others): find the provider with `get_integration_metadata(search: <chain name>, type: "blockchain", isWorking: true)`. Search matches loosely ("bitcoin" also finds Bitcoin Cash and Bitcoin SV), so confirm the exact provider with the user.
5. **Add it.** After the user confirms the address, chains and portfolio, call `add_wallet` once per chain with `address`, the chain's `providerId`, `primaryPortfolioId`, and an `alias` the user will recognise, such as "Main wallet (Ethereum)".
- Each call starts an import and returns it as `sync`. If `sync` is empty, start one with `sync_integration`.
- If the message says the credentials are already present, that wallet is already connected on that chain; tell the user and move on. If it says the alias exists, pick another alias.
6. **Wait for the import.** Track each sync with `get_sync_job` (or `list_sync_jobs`). `pending`, `queued` and `in_progress` mean it's still running; `completed`, `partially_synced`, `failed` and `cancelled` are final. Imports usually take a few minutes; report progress briefly rather than calling in a tight loop.
- `failed`: the job explains why; report it, and don't retry more than once without asking.
- `partially_synced` with `limitReached: true`: the import stopped at the workspace's transaction limit, so the history is incomplete. Tell the user the limit is raised through their plan or Kryptos support.
7. **First look.** After the imports, a recalculation runs automatically. Wait until `list_tasks(operationType: "workspace-recompute", limit: 1)` is no longer `pending` or `in_progress`; cost basis and gains lag until it finishes. Then:
- `get_dashboard_totals` for net worth, cost basis and unrealised gain (never aPreview of the first 4,000 characters. Read full instructions →
--- name: prepare-tax-year description: Get a tax year ready to file in Kryptos — check the data is complete and the gains are up to date, summarise capital gains, income and expenses for the year, generate the tax report, and optionally lock the period once filed. Use when the user asks for their tax report, their gains or income for a year, or wants to get ready to file. --- # Prepare a tax year Take the user from "is my data ready?" to a generated report for one tax year. Explicit instructions from the user take priority over this workflow. Read every setting from the tools — country, fiscal year, cost-basis method, available reports. Don't assume them. Errors return a `code` (for example `NO_TAX_YEAR_PLAN`, `PERIOD_LOCKED`) and a `message`; use both to tell why a call failed. ## Workflow 1. **Pin down the year and the rules in force.** Call `get_accounting_settings`. It returns: - `countryCode` (ISO-2), `method` (cost basis), `baseCurrency` and `timezone`; - `fiscalStart` / `fiscalEnd` as day/month; - `advancedTxSettings`, where `cost_basis_per_wallet` says whether cost basis is tracked per wallet or across all wallets; - `tagsException`, the workspace's tax treatment per label. **`year` is the calendar year in which the tax year starts.** Work out the exact dates from `fiscalStart` in the workspace `timezone` and confirm them with the user. Examples: a UK 2024/25 tax year (6 Apr 2024 – 5 Apr 2025) is `year: 2024`; an Australian FY2025 (1 Jul 2024 – 30 Jun 2025) is `year: 2024`; a calendar-year country's 2024 is `year: 2024`. 2. **Check the data is settled.** - `list_sync_jobs`: any sync still `pending`, `queued` or `in_progress` will change the figures — offer to wait. A sync that ended `partially_synced` with `limitReached: true` stopped at the workspace's transaction limit, so the history is incomplete; say so. - `get_reconciliation_summary` covers the whole workspace, not just one year. If it shows action items (uncategorised transactions, missing purchase history, missing prices, missing balances), say how many and that they can make the figures wrong, and offer to fix them first (the `review-and-reconcile` skill). If the user wants to carry on, continue and repeat the caveat with the figures. 3. **Make sure gains are current.** Imports and edits trigger a recalculation automatically. - `list_tasks(operationType: "workspace-recompute", limit: 1)`: if it is `pending` or `in_progress`, wait for it. - Then `get_accounting_status`. Only if `hasOutput` is false, or `lastCalculation` is older than the last import or edit, call `trigger_recompute` (it returns a `taskId`) and poll `get_task` until it finishes. - Don't quote figures from a stale calculation. 4. **Summarise the year.** - **Capital gains:** `list_tax_reports(year)` gives proceeds, cost basis, gains, the number of disposals, and a summary of gains and losses (short- and long-term where the country splits them). It also has `missingPurchaseCount` — mention it if it is above zero. A year the plan doesn't cover comes back as a stub with `locked: true` and a `lockReason` instead of figures; tell the user plainly. - **Income and expenses** aren't in that report. Call `get_accounting_breakdown(from, to)` with the tax year's start and end in epoch ms. It is refused, with the reason, if the range touches a tax year the plan doesn't cover, so query one tax year at a time. - Name the cost-basis method the figures use. Figures fetched under different methods aren't comparable; pass `method` explicitly when the user asks to compare. - `list_tax_report_years` only lists years that have disposals. A year with only income won't appear there, but still has figures. 5. **Drill down if asked.** `get_tax_report_disposals(year)` lists each sale with the acquisitions it was matched against (pages start at 0). It is only available for tax years the workspace's plan covers. If it's refused, the `code` says why: `NO_TAX_YEAR_PLAN` (the pl
Preview of the first 4,000 characters. Read full instructions →
--- name: review-and-reconcile description: Review a Kryptos workspace for data problems that make crypto tax figures wrong — uncategorised transactions, missing purchase history, missing prices, balance mismatches, high P&L transactions and unidentified addresses — and fix them with the user. Use when the user asks to review, reconcile, clean up or check their data, asks why a tax figure or balance looks wrong, or wants to get ready to file. --- # Review and reconcile a Kryptos workspace This mirrors the **Review** page in the Kryptos web app (retail and Enterprise): a progress score and six checks. Work through them with the user, fix what the data supports, and ask about everything else. Explicit instructions from the user take priority over this workflow. Discover everything from the tools: counts, thresholds, labels and how this workspace taxes each label. Don't assume them. Errors return a `code` (for example `NO_TAX_YEAR_PLAN`, `PERIOD_LOCKED`) and a `message`; use both to tell why a call failed. If one says a permission or scope is missing, tell the user to reconnect Kryptos and grant it. ## The six checks | Check | Kind | How to list it | Usual fix | | -------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | | Missing Integrations | Suggestion | `get_missing_integrations` | Connect the wallet or exchange, name the address, or ignore it | | Missing Balances | Action item | `get_missing_balances` | Mark scam tokens as spam; find the missing deposit/withdrawal | | Missing Purchase History | Action item | `get_missing_purchases`; rows via `get_transactions(isMissingTransaction: true)` | Connect the source wallet, merge an unmatched transfer, relabel, or add the acquisition | | Missing Price | Action item | `get_missing_prices`; rows via `get_transactions(hasMissingPrice: true, isMissingPriceIgnored: false)` | Set a per-unit price, mark spam, or dismiss | | Uncategorised Transactions | Action item | `get_transactions(types: ["deposit","withdrawal"], labels: ["Deposit","Withdrawal"], isUncategorisedIgnored: false)` | Give each a specific label, merge, or dismiss a pure transfer | | High P&L Transactions | Suggestion | `get_transactions(minTotalGains: <highPnlThreshold>, isHighPnLReviewed: false)` | Check the legs; fix them or mark reviewed | Action items must be resolved before the figures can be trusted. Suggestions are worth checking but may be correct as they are. Don't pass `isMissingTransaction` and `hasMissingPrice` in the same call; they are combined with OR, not AND. ## Workflow 1. **Check the data is settled.** Call `list_sync_jobs`. If any sync is `pending`, `queued` or `in_progress`, the counts will change; offer to wait. A sync that ended `partially_synced` with `limitReached: true` hit the workspace's transaction limit, so its history is incomplete; say so. 2. **Learn how this workspace is taxed.** Call `get_accounting_settings`. Its `tagsException` gives the tax treatment of each label here (for example `CAPITAL_GAIN`, `INCOME`, or none), and `advancedTxSettings` switches categories on or off (crypto-to-crypto, airdrops, rewards, LP tokens…
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
First plugin package for the Kryptos MCP server: portfolio, transactions, reconciliation, tax and accounting tools, with four skills — get-started (connect wallets by address), review-and-reconcile (the six Review checks), prepare-tax-year (from clean data to a generated report) and crypto-bookkeeping (chart of accounts, rules and ERP journals). Tool annotations set on every tool; wallets are added by public address only and no tool accepts API keys or secrets.
Declared in the saved package. Remote tools may change independently.
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
Package observed Nov 12, 2026.
plugin_asdk_app_6abf54b5b0ac8191a6bf0bf6b0e47ae9
Download plugin data (JSON)Plugin details: freshly prepared. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.