fahali
Market intelligence AI agents can verify. Every verdict carries a signed SHA-256 receipt. Every judged signal has a public replay URL. The track record keeps its misses and publishes its methodology. Forecast probabilities are Brier-scored against realized outcomes.
Zero dependencies. Works with any agent framework. Observation, not advice.
pip install fahali # Python
npm install fahali # JS/TS
Free key (50 calls/day, no card): app.fahaliai.com/developer · Docs: fahaliai.com/developer · MCP: https://mcp.fahaliai.com/mcp
Direct
import { FahaliClient } from "fahali";
const fahali = new FahaliClient({ apiKey: process.env.FAHALI_API_KEY });
const verdict = await fahali.verdict(["BTCUSDT"]); // committee read + signed receipt
const record = await fahali.symbolRecord("BTCUSDT"); // judged record, misses included
OpenAI (and anything using function-calling format)
import { FahaliClient, FAHALI_TOOLS, executeTool } from "fahali";
const fahali = new FahaliClient({ apiKey: process.env.FAHALI_API_KEY });
const tools = FAHALI_TOOLS.map((t) => ({ type: "function", function: t }));
// ...pass `tools` to chat.completions.create; on a tool call:
const result = await executeTool(fahali, call.function.name, JSON.parse(call.function.arguments));
LangChain (Python)
from fahali import FahaliClient
from fahali.langchain import get_langchain_tools
tools = get_langchain_tools(FahaliClient(api_key=...))
CrewAI
from fahali.crewai import get_crewai_tools
LlamaIndex
from fahali.llamaindex import get_llamaindex_tools
AutoGen / smolagents / Semantic Kernel / raw OpenAI
from fahali import FahaliClient, TOOL_SPECS, execute_tool # function-calling format
Vercel AI SDK
import { tool, jsonSchema, generateText } from "ai";
import { FahaliClient, toAiSdkTools } from "fahali";
const fahali = new FahaliClient({ apiKey: process.env.FAHALI_API_KEY });
const { text } = await generateText({
model,
tools: toAiSdkTools(fahali, { tool, jsonSchema }),
prompt: "Is anything threatening a BTC-heavy portfolio right now? Cite replays.",
});
LangChain.js
import { DynamicStructuredTool } from "@langchain/core/tools";
import { FahaliClient, toLangchainTools } from "fahali";
const fahali = new FahaliClient({ apiKey: process.env.FAHALI_API_KEY });
const tools = toLangchainTools(fahali, { DynamicStructuredTool });
Tools
| Tool | What your agent gets |
|---|---|
fahali_verdict |
18-engine committee read: agreement, dissent on the record, signed receipt, replay URL |
fahali_forecast_72h |
Crash/neutral/pump distribution, Brier-calibrated |
fahali_tape |
Latest judged calls market-wide: hits and misses |
fahali_symbol_record |
Per-symbol judged record with replay URLs |
fahali_track_record |
Aggregate scorecard: lift vs base rate, sample sizes, disclosed gaps |
fahali_recent_alerts |
Live detections across covered crypto and US equities |
Why this instead of a terminal or search
Terminals were built for human eyes; search gives agents unaccountable text. Fahali's answers are claims your agent can check: methodology at fahaliai.com/methodology, pricing free → metered at fahaliai.com/developer.
MIT © Future Legends AI. Nothing here is a recommendation to buy or sell anything.
Metadata
Release files for fahali 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fahali-0.1.2.tar.gz | 4.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fahali-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.2 kB
Release files / fahali-0.1.2.tar.gz
| Download URL | fahali-0.1.2.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd3eb856d3e3371a85102ad074645ab90e6394896ba1d79404f033af0ab461a8
|
|
BLAKE2b-256 checksum How to use checksums |
af9cf3a6fc698b81826d26692f7dae3c39373f9d568a765c8f91acc8044e1fa8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 24, 2026.
Transparency logRelease files / fahali-0.1.2-py3-none-any.whl
| Download URL | fahali-0.1.2-py3-none-any.whl |
|---|---|
| Size | 6.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b43a62423b90cb4326e5a1292205f41858ff969b90cc850a27b748cd7e45c18
|
|
BLAKE2b-256 checksum How to use checksums |
1ed16c37dd198663a8f6defe15014b9846f14697f0800c5058c39fc0e644d4fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 24, 2026.
Transparency log