BlockINTQL — Sovereign Blockchain Intelligence CLI
Project description
BlockINTQL CLI
Blockchain intelligence CLI for screening addresses, tracing funds, searching identities, and calling the BlockINTQL API from scripts or agents.
Disclaimer
Read this before using BlockINTQL in compliance workflows, with autonomous AI agents, or in any context where outputs may inform a financial, legal, or regulatory decision. Full payment terms, governing law, indemnification, and acceptable use restrictions are set out in the BlockINTQL Terms of Service at blockintql.com/terms. By using this software you agree to those Terms.
1. No Legal or Compliance Advice
BlockINTQL outputs, including CLEAR, CAUTION, and BLOCK verdicts, risk scores, transaction traces, and forensic analysis, are algorithmically generated risk indicators. They are not legal advice, compliance determinations, or regulatory guidance. They do not represent that any address or counterparty is free from sanctions exposure or illicit association. You are solely responsible for all decisions made using this tool's outputs.
2. CLEAR Verdicts Are Not Guarantees
CLEAR means no adverse indicators were found in Block6IQ's database at the time of query. It does not mean an address is safe or sanctions-free. Other databases may contain adverse data not present in Block6IQ's dataset. Independent verification against current, authoritative government sources is required for any regulated use case.
3. Regulatory Disclaimer
Block6IQ is a software and data provider, not a registered compliance service, licensed money services business, or substitute for a qualified compliance officer. Use of this tool does not satisfy any obligation to conduct sanctions screening, AML due diligence, KYC verification, or any other regulated compliance function.
This tool is not intended for use by individuals or entities subject to comprehensive OFAC sanctions programs, or for use in any activity prohibited by applicable law. You are responsible for ensuring your use complies with all laws in your jurisdiction.
4. Autonomous AI Agents
Certain features are designed for use by autonomous AI agents. Agents act without human review. Block6IQ does not monitor or control decisions made by autonomous agents acting on BlockINTQL outputs. Operators are solely responsible for ensuring appropriate human oversight and accountability for any compliance or transactional decisions made by those agents.
AI-generated outputs may contain errors. Commands using AI-powered analysis produce LLM-generated outputs that may contain factual errors or inaccuracies. They are not reviewed by a human before delivery. Regulatory obligations remain with the operator. Deploying BlockINTQL in an agentic workflow does not satisfy any obligation that would otherwise require human review, professional judgment, or a licensed compliance function.
5. Third-Party Provider Integrations
The Service supports optional integration with third-party blockchain analytics providers. If you configure a provider key, the CLI queries that provider directly from your machine. Your provider API key is never transmitted to Block6IQ servers. It is your sole responsibility to confirm that your use of any provider's API via the Service is permitted under your agreement with that provider.
6. Open Source Scope
The MIT License applies solely to the CLI client software in this repository. It does not extend to the Block6IQ API, intelligence database, risk models, or the BlockINTQL query language and architecture, which are proprietary. Use of the API is governed by the Block6IQ Terms of Service at blockintql.com/terms.
7. No Warranty; Liability Cap
THE CLI IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. BLOCK6IQ ASSUMES NO LIABILITY OR RESPONSIBILITY FOR ANY ERRORS, MISTAKES, INACCURACIES, OR OMISSIONS IN ANY OUTPUT OF THIS TOOL.
TO THE MAXIMUM EXTENT PERMITTED BY LAW, BLOCK6IQ'S TOTAL LIABILITY ARISING FROM YOUR USE OF THIS TOOL SHALL NOT EXCEED THE AMOUNTS PAID BY YOU TO BLOCK6IQ IN THE PRECEDING 12 MONTHS. BLOCK6IQ IS NOT LIABLE FOR ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES ARISING FROM RELIANCE ON THIS TOOL.
8. Data and Privacy
Provider API keys never leave your machine. When using the x402 USDC payment path, your payment wallet address is permanently visible on the Base blockchain. Block6IQ does not control on-chain data visibility. Email addresses are collected only if voluntarily provided during a Stripe credit purchase. See the Block6IQ Privacy Policy at blockintql.com/privacy.
9. Acceptance
By installing, downloading, or running BlockINTQL, you confirm you have read this disclaimer and agree to the Block6IQ Terms of Service at blockintql.com/terms. If you do not agree, do not use this software.
Install
pip install blockintql
For wallet-backed keyless x402 payments, use Python 3.10+ so the official x402 buyer SDK can be installed.
From a source checkout:
pip install .
python3 -m blockintql --help
Setup
Set your API key with either an environment variable or the local config file:
export BLOCKINTQL_API_KEY=biq_sk_live_...
blockintql auth --api-key biq_sk_live_...
blockintql status
blockintql auth stores the BlockINTQL API key and an optional default provider name in ~/.blockintql/config.json with 0600 permissions. Keep provider keys and wallet secrets in environment variables instead of the config file.
For keyless pay-per-request access, configure wallet-backed payments locally instead of setting an API key.
Usage
# Fast verdict
blockintql verdict --address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
# Full screen result
blockintql screen --address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --chain ethereum
# Enrich with a local provider call
blockintql screen --address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 \
--chain ethereum \
--provider metasleuth \
--provider-url "https://your-route/{address}"
# Generic provider
blockintql verdict --address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa \
--provider generic \
--provider-url "https://example.com/screen/{address}"
# Natural language intelligence
blockintql query "is this address linked to Lazarus Group?"
# Plan an investigation and open a recommended workspace
blockintql ask "Open a deeper stablecoin investigation workspace for this wallet" \
--address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 \
--budget-credits 12 \
--open-workspace
# Prediction-market investigation workflow
blockintql prediction market analysis 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
# Stablecoin flow and holdings charts
blockintql chart stablecoin-flows --hours 24
blockintql chart wallet-stablecoin-balances 0x7713974908be4bed47172370115e8b1219f4a5f0
# Review the current state of an investigation workspace
blockintql workspace review <workspace_id>
# Inspect the recent ask / planner / outcome thread
blockintql workspace conversation <workspace_id> --limit 5
# Continue the same case with a follow-up ask
blockintql workspace chat <workspace_id> \
"Go deeper on counterparties and bridge exposure" \
--open-workspace
# Multi-address analysis
blockintql analyze "check if these wallets transacted with each other" \
--address 0x123... \
--address 0x456...
# Identity search
blockintql profile --identifier @lazarus_trader
# Transaction tracing
blockintql trace --txid abc123... --hops 5
# ENS resolution
blockintql ens vitalik.eth
Agent Mode
Use --agent --quiet for machine-readable output in pipelines:
RESULT=$(blockintql screen --address "$PAYMENT_DEST" --chain bitcoin --agent --quiet)
SAFE=$(echo "$RESULT" | jq -r '.safe')
if [ "$SAFE" = "false" ]; then
echo "Payment blocked"
exit 1
fi
For account verification or workspace automation in scripts:
blockintql status --agent | jq
blockintql ask "Investigate this wallet's stablecoin counterparties" \
--address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 \
--budget-credits 12 \
--open-workspace \
--agent | jq
Provider Enrichment
Provider calls are made directly from the CLI on your machine. BlockINTQL receives the address and chain only.
Provider privacy model:
- Provider API keys are used only in direct CLI-to-provider HTTP calls.
- Raw provider responses stay in local process memory and are not sent to BlockINTQL.
- BlockINTQL only receives the native BlockINTQL request payload, such as
address,chain, and optional BlockINTQL-native context. - The CLI only prints an allowlisted provider summary:
providerentity_nameentity_categoryrisk_scorerisk_indicatorssanctions_hitcanonical_categoryrecommended_verdictseverityconfidence
- You can verify this in the open-source source code:
/blockintql/providers.py/blockintql/cli.py/tests/test_cli.py
Provider adjudication model:
- Vendor-native categories are normalized locally into BlockINTQL canonical classes such as
sanctions,mixer,ransomware,darknet,scam,exchange,defi,bridge, and conservativeunknown_*buckets. - Direct sanctions hits become local
BLOCK. - Mapped elevated-risk categories become local
CAUTIONorBLOCKbased on deterministic policy. - Unmapped or proprietary vendor categories do not silently produce
CLEAR; they degrade to conservativeUNKNOWNorCAUTIONpolicy locally. - This normalization happens in the CLI before terminal output and without sending vendor payloads to BlockINTQL.
Available providers:
chainalysistrmellipticmetasleuthcrystalmerkle_sciencenomisgeneric
Examples:
export BLOCKINTQL_PROVIDER_KEY=...
blockintql screen --address 0x123... --chain ethereum --provider chainalysis
blockintql screen --address 0x123... --chain ethereum --provider metasleuth --provider-url "https://your-route/{address}"
blockintql screen --address 1ABC... \
--provider generic \
--provider-url "https://your-api.com/screen/{address}"
Payment Preferences
blockintql pay stores local wallet-backed payment settings for pay-per-request access. When no API key is present, paid CLI requests use the standard x402 buyer flow automatically.
blockintql pay --wallet-type cdp --auto-pay --max-payment 0.10
Use environment variables for any wallet secrets:
export BLOCKINTQL_CDP_KEY_ID=...
export BLOCKINTQL_CDP_PRIVATE_KEY=...
export BLOCKINTQL_PRIVATE_KEY=...
export EVM_PRIVATE_KEY=...
For agent-mode keyless payments, the CLI uses the standard EVM private-key signer path. BLOCKINTQL_PRIVATE_KEY and EVM_PRIVATE_KEY are both supported.
LangChain
from blockintql.integrations.langchain import BlockINTQLTools
tools = BlockINTQLTools(api_key="biq_sk_live_...").get_tools()
JavaScript
The JavaScript integration exports the SDK from integrations/javascript/src/index.js. This repository does not currently ship a standalone JavaScript CLI binary.
MCP Server
For Model Context Protocol clients:
https://blockintql-mcp-385334043904.us-central1.run.app/mcp
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file blockintql-1.5.4.tar.gz.
File metadata
- Download URL: blockintql-1.5.4.tar.gz
- Upload date:
- Size: 57.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4aecfb31209f939f2cc80f0fd506cbf4f64eff45cfa568a88de1514ae9178f21
|
|
| MD5 |
f46e953e47470f71f2968b4004ce2e2b
|
|
| BLAKE2b-256 |
34103f983fe283f6ff1854bc4f24f9cf855cf88af200171f257150eb61747eab
|
File details
Details for the file blockintql-1.5.4-py3-none-any.whl.
File metadata
- Download URL: blockintql-1.5.4-py3-none-any.whl
- Upload date:
- Size: 50.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18ef7f315875f6f78e76afb2505c821d862e615bb3c4060ad328d32506763157
|
|
| MD5 |
c90d9968127750818d9ad902a1f7f5e4
|
|
| BLAKE2b-256 |
39d53a73527c5c97c7adf5bce4f3bec2d4793f75497b36b3a0cbbb6b9f01509c
|