# DeepTally > Solana wallet reporting over a REST API and a hosted MCP endpoint, paid per call with x402 (USDC on Solana). Reporting only, never custody. Quotes are free and need no account. A scan or a read is paid per call inside the request; the receipt an answer carries buys the same read again. An account (an API key or an MCP token) is optional and adds a watchlist and free reads of the wallets it watches. ## Docs - [MCP guide](https://deeptally.io/docs/mcp.md): the whole client-side guide as markdown -- endpoint, authentication, every tool, how a paid tool call settles, and configuration for the common hosts - [Terms of service](https://deeptally.io/docs/terms.md): reporting rather than custody, per-call pricing in USDC, and what happens when a scan fails or runs out of budget - [Privacy policy](https://deeptally.io/docs/privacy.md): what is held and why, including that chain data is public and shared between customers, and that page views are cookieless - [Contact](https://deeptally.io/docs/contact.md): how to reach a person, and the three identifiers that make a support request answerable in one reply - [OpenAPI document](https://deeptally.io/v1/openapi.json): every REST endpoint, its parameters and its responses ## Endpoints Every endpoint below is an entry point: it takes no account and no key. `/mcp` is Streamable HTTP carrying JSON-RPC 2.0, with `Authorization: Bearer lm_...` or nothing at all. A route marked paid answers an unpaid request with HTTP 402 and the price; the OpenAPI document above has the parameters and the response of each one. - [GET /healthz](https://deeptally.io/healthz): free - [GET /health](https://deeptally.io/health): free - [GET /v1/openapi.json](https://deeptally.io/v1/openapi.json): free - [GET /v1/blockhash](https://deeptally.io/v1/blockhash): free - [GET /v1/quote/{address}](https://deeptally.io/v1/quote/{address}): free - [GET /v1/prices/spot](https://deeptally.io/v1/prices/spot): free - [GET /v1/prices/history](https://deeptally.io/v1/prices/history): free - [POST /v1/scans](https://deeptally.io/v1/scans): paid per call (x402, USDC on Solana) - [GET /v1/jobs](https://deeptally.io/v1/jobs): free - [GET /v1/jobs/{id}](https://deeptally.io/v1/jobs/{id}): free - [POST /v1/jobs/{id}/cancel](https://deeptally.io/v1/jobs/{id}/cancel): free - [POST /v1/jobs/{id}/retry](https://deeptally.io/v1/jobs/{id}/retry): free - [POST /v1/events](https://deeptally.io/v1/events): free - [POST /v1/auth/logout](https://deeptally.io/v1/auth/logout): free - [POST /v1/auth/siws/nonce](https://deeptally.io/v1/auth/siws/nonce): free - [POST /v1/auth/siws/verify](https://deeptally.io/v1/auth/siws/verify): free - [GET /auth/login](https://deeptally.io/auth/login): free - [GET /auth/callback](https://deeptally.io/auth/callback): free - [GET /auth/logout](https://deeptally.io/auth/logout): free - [GET /v1/wallets/{address}](https://deeptally.io/v1/wallets/{address}): paid per call (x402, USDC on Solana) - [GET /v1/wallets/{address}/ledger](https://deeptally.io/v1/wallets/{address}/ledger): paid per call (x402, USDC on Solana) - [GET /v1/wallets/{address}/positions](https://deeptally.io/v1/wallets/{address}/positions): paid per call (x402, USDC on Solana) - [GET /v1/wallets/{address}/value-history](https://deeptally.io/v1/wallets/{address}/value-history): paid per call (x402, USDC on Solana) - [GET /v1/wallets/{address}/flows](https://deeptally.io/v1/wallets/{address}/flows): paid per call (x402, USDC on Solana) - [GET /v1/txns/{signature}](https://deeptally.io/v1/txns/{signature}): free - [GET /v1/reports](https://deeptally.io/v1/reports): paid per call (x402, USDC on Solana) - [POST /v1/wallets/{address}/reclassify](https://deeptally.io/v1/wallets/{address}/reclassify): free - [GET /v1/snapshots/{token}](https://deeptally.io/v1/snapshots/{token}): free - [GET /v1/snapshots/{token}/og.png](https://deeptally.io/v1/snapshots/{token}/og.png): free - [ANY /mcp](https://deeptally.io/mcp): free - [GET /llms.txt](https://deeptally.io/llms.txt): free - [GET /llms-full.txt](https://deeptally.io/llms-full.txt): free