{"name":"crypto-checker","docs":"/docs","endpoints":[{"method":"GET","path":"/health","description":"Service status."},{"method":"GET","path":"/docs","description":"This API documentation, as Markdown."},{"method":"GET","path":"/v1/openapi.json","description":"The OpenAPI 3.1 description of this API."},{"method":"GET","path":"/v1/lookup","params":["q","deep","fresh","parts"],"description":"Balances, tokens, identity, sanctions status and exchange activity for one wallet."},{"method":"GET","path":"/v1/lookup/stream","params":["q","deep","fresh","parts"],"description":"The same lookup as newline-delimited JSON, as each part finishes."},{"method":"GET","path":"/v1/balance","params":["q","fresh"],"description":"Native coin balances on every chain, and their worth. The fastest read."},{"method":"GET","path":"/v1/history","params":["q","chain","limit","cursor","deep"],"description":"Transfers, newest first, one page at a time."},{"method":"GET","path":"/v1/counterparties","params":["q","chain","direction","limit","cursor","deep"],"description":"Who a wallet paid and was paid by: totals per address, busiest first."},{"method":"GET","path":"/v1/linked","params":["q"],"description":"Wallets that probably share an owner. Inferred, not proof."},{"method":"GET","path":"/v1/sanctions","params":["q","deep"],"description":"Sanctions listing and direct transfers with listed wallets."},{"method":"GET","path":"/v1/trace","params":["q","direction","hops","chain"],"description":"Follow funds across several hops to known entities."},{"method":"GET","path":"/v1/risk","params":["q","hops","chain"],"description":"A 0 to 100 risk score, with the reasons behind it."},{"method":"GET","path":"/v1/behaviour","params":["q","chain"],"description":"Patterns in how a wallet moves funds, each with its numbers. A signal, not proof."},{"method":"GET","path":"/v1/report","params":["q","hops","chain","format","include"],"description":"One AML report for a wallet, as JSON, Markdown or a printable page, with everything it could not see."},{"method":"GET","path":"/v1/tx","params":["hash","chain"],"description":"One transaction explained: parties, value moved and its worth at the time."},{"method":"GET","path":"/v1/compare","params":["a","b","chain"],"description":"What two wallets share: direct transfers, counterparties and deposit addresses."},{"method":"GET","path":"/v1/entity","params":["name","limit","cursor"],"description":"Known addresses of an exchange, sanctioned group or labelled service."},{"method":"GET","path":"/v1/portfolio/history","params":["q","chain"],"description":"Native coin balance over time per chain, worked back from history."},{"method":"GET","path":"/v1/defi","params":["q"],"description":"DeFi positions on EVM chains, read directly from the contracts."},{"method":"GET","path":"/v1/prices","params":["assets","vs"],"description":"Current prices for coins and tokens, with no wallet."},{"method":"POST","path":"/v1/bulk","params":["parts","deep","fresh"],"body":{"wallets":["..."],"deep":false,"fresh":false,"parts":["balance"]},"description":"Up to 50 wallets in one request, or 1,000 for balances alone, read in one batch. JSON, a CSV, or an uploaded file."},{"method":"POST","path":"/v1/watch","body":{"wallet":"...","webhook":"https://..."},"description":"Watch a wallet, with an optional webhook for alerts."},{"method":"GET","path":"/v1/watch","description":"Watched wallets and how their last read went."},{"method":"DELETE","path":"/v1/watch","params":["wallet"],"description":"Stop watching a wallet and drop its events."},{"method":"GET","path":"/v1/watch/events","params":["wallet","limit","cursor"],"description":"What a background read found on a watched wallet, newest first."},{"method":"POST","path":"/v1/jobs","params":["parts","webhook"],"body":"A CSV, a JSON list or an uploaded file of up to 500,000 wallets","description":"Read native balances for a large list in the background. Answers at once with a job id."},{"method":"GET","path":"/v1/jobs","params":["id"],"description":"One job and its progress, or with no id, the jobs this key made."},{"method":"DELETE","path":"/v1/jobs","params":["id"],"description":"Cancel a job and delete its results."},{"method":"GET","path":"/v1/jobs/results","params":["id","format"],"description":"A job’s results so far, as JSON lines or CSV. Wallets not read yet show as pending."},{"method":"GET","path":"/v1/status","description":"What failed in the last hour, by source and reason, how fast each batch lane read, with memory and job counts."},{"method":"GET","path":"/v1/ws","description":"WebSocket: lookups and bulk streamed as they finish, and live prices, balances and watch events."},{"method":"POST","path":"/v1/wallets","body":{"mnemonic":"...","label":"?","chains":"?"},"description":"Import a wallet from a BIP-39 mnemonic. Derives all addresses and stores them encrypted."},{"method":"POST","path":"/v1/wallets/bulk","body":{"wallets":[{"mnemonic":"...","label":"?"}]},"description":"Upload a whole list of mnemonics (JSON, CSV, newline list or a file). A background job imports, derives and scans every one; answers at once with a job id."},{"method":"GET","path":"/v1/wallets/bulk","description":"The bulk jobs this key started."},{"method":"GET","path":"/v1/wallets/bulk/:jobId","params":["items","funded","limit","offset"],"description":"A bulk job: progress, totals, and the per-wallet amounts it found."},{"method":"GET","path":"/v1/wallets","params":["sort","order","limit","offset"],"description":"List wallets with totals."},{"method":"GET","path":"/v1/wallets/dashboard","params":["sort","order","limit","offset"],"description":"A summary of all wallets: total USD, address count, chain count, and the wallet list."},{"method":"GET","path":"/v1/wallets/:id","description":"One wallet and its totals."},{"method":"GET","path":"/v1/wallets/:id/addresses","params":["chain","has_balance","is_deposit","sort","order","limit","offset"],"description":"Addresses derived from a wallet, with cached balances."},{"method":"GET","path":"/v1/wallets/:id/seed","description":"The wallet mnemonic, decrypted. Admin key only, and every access is audited."},{"method":"PATCH","path":"/v1/wallets/:id","body":{"label":"..."},"description":"Update a wallet label."},{"method":"DELETE","path":"/v1/wallets/:id","description":"Delete a wallet and all its addresses."},{"method":"GET","path":"/v1/wallets/:id/audit","params":["limit"],"description":"Audit log for a wallet."},{"method":"POST","path":"/v1/wallets/:id/deposit","body":{"chain":"...","user":"?"},"description":"Assign the next unused address on a chain as a deposit address."},{"method":"POST","path":"/v1/wallets/:id/refresh","description":"Re-read balances for all addresses in a wallet from the chains."},{"method":"POST","path":"/v1/wallets/refresh","description":"Re-read balances for every stored wallet."},{"method":"POST","path":"/v1/wallets/:id/send","body":{"chain":"...","to":"...","amount":"...","token":"?","fee":"?","memo":"?"},"description":"Send native coin or a token from a wallet."},{"method":"POST","path":"/v1/wallets/estimate-fee","body":{"chain":"...","from":"...","to":"...","amount":"...","token":"?"},"description":"Estimate the fee for a send without executing it."},{"method":"GET","path":"/v1/wallets/:id/transactions","params":["chain","direction","status","limit","offset"],"description":"Transaction history for a wallet."},{"method":"GET","path":"/v1/transactions/:id","description":"One transaction by id or hash."},{"method":"PATCH","path":"/v1/transactions/:id","body":{"status":"..."},"description":"Update a transaction status (pending, confirmed, failed)."},{"method":"POST","path":"/v1/fees/configs","body":{"key":"...","feePercent":1.5,"recipients":[{"id":"...","sharePercent":50}]},"description":"Set the fee percentage and recipient split for an API key. Every send on that key takes the cut."},{"method":"GET","path":"/v1/fees/configs","description":"List all fee configs."},{"method":"GET","path":"/v1/fees/configs/:keyTag","description":"The fee config for one key."},{"method":"DELETE","path":"/v1/fees/configs/:keyTag","description":"Remove a key fee config."},{"method":"GET","path":"/v1/fees/ledger","params":["key_tag","recipient","status","limit","offset"],"description":"The fee ledger: every cut accrued per transaction and recipient."},{"method":"GET","path":"/v1/fees/balances","params":["recipient"],"description":"Accrued (unpaid) fee owed per recipient per chain."},{"method":"POST","path":"/v1/fees/mark-paid","body":{"ids":["..."]},"description":"Mark ledger entries as paid out."}]}