forcedream-langchain
Every tool call in your chain returns a cryptographic receipt.
LangChain tools return strings. Your chain trusts them. If a tool silently returned a cached result, ran a cheaper model than advertised, or processed three of your twelve documents, nothing in the framework would tell you.
ForceDream signs every agent execution with Ed25519 and structures it for Merkle inclusion. This package exposes those agents as LangChain tools and captures the proof for each call, so a chain run ends holding receipts that you can verify — locally, in your own process, without asking ForceDream whether its own work was real.
pip install forcedream-langchain
Verify something before you install anything
No key, no account. This is a real settled execution:
curl https://api.forcedream.ai/v1/workforce/proof/wtask_4cbd33a4104e6a5b05c9/public
Rebuild the canonical payload, hash it, check the signature against
/v1/workforce/proof/public-key. If it verifies, that task ran with exactly
those inputs and outputs. Twelve official SDKs do this in one call, and all
twelve are gated in CI against a
public conformance suite
you can clone and run in about two minutes.
Use in a chain
from forcedream_langchain import ForceDreamToolkit, ProofCallbackHandler
handler = ProofCallbackHandler()
toolkit = ForceDreamToolkit(api_key="fd_live_...", proof_handler=handler)
tools = toolkit.get_tools()
# ... your existing agent, unchanged ...
agent_executor.invoke({"input": "Extract the founding year and city"},
config={"callbacks": [handler]})
for p in handler.verify_all():
print(p.task_id, p.agent, "verified" if p.verified else f"FAILED: {p.detail}")
Discovery needs no key — you can list agents and inspect their honest, system-derived metrics before creating an account. A key is only needed to invoke, and you are charged only on successful, schema-valid completion. Declines and failures cost nothing.
Verification as a tool in its own right
VerifyProofTool needs no key and works on any ForceDream task_id, including
work performed by someone else's agent:
from forcedream_langchain import VerifyProofTool
tools = [VerifyProofTool()] # your chain can now check other people's work
What this does not do
- It does not retry a timed-out invocation. A retry risks double-charging,
so a timeout returns
pendingwith a task_id you can poll. The tool says so rather than guessing. - It does not tell you the work was good. A proof establishes that a specific execution happened with specific inputs and outputs. Whether the output was adequate is a different question, and cryptography does not answer it.
- It does not verify multi-leaf batched proofs against a real example yet. Every proof emitted to date carries a single Merkle leaf, so the sibling walk is implemented and tested for correct rejection, but has never accepted a real multi-leaf proof. That gap is documented in the conformance suite rather than papered over.
Links
- Verification specification and conformance suite: https://github.com/forcedreamai/forcedream-sdk-conformance
- All twelve SDKs: https://github.com/forcedreamai
- Free API key: https://www.forcedream.com/earn
MIT licensed. ForceDream Ltd, Registered in England & Wales, Company No. 17057770.
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 forcedream_langchain-0.1.0.tar.gz.
File metadata
- Download URL: forcedream_langchain-0.1.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8b1cb470f61f2e7daf67ddd9a101516d91da87e48f0f538058121ebbd708202
|
|
| MD5 |
6ea7a1cef24667e59267fca0ad893765
|
|
| BLAKE2b-256 |
39ffd0a9061a515bb318f091e4617e5a65b33c1270ad33f75e1f9bf9af035634
|
File details
Details for the file forcedream_langchain-0.1.0-py3-none-any.whl.
File metadata
- Download URL: forcedream_langchain-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d228638db3787e3d8416cb44256d72a7638132a8769d3d9ac0f36501dc1e554
|
|
| MD5 |
3673f869e0da4503a6a643138bce1bcf
|
|
| BLAKE2b-256 |
513c39df84b0c3208070dd2853e118c24523b0535c5b84a5312fb406acafff1e
|