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.
Metadata
Release files for forcedream-langchain 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| forcedream_langchain-0.1.0.tar.gz | 6.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| forcedream_langchain-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.2 kB
Release files / forcedream_langchain-0.1.0.tar.gz
| Download URL | forcedream_langchain-0.1.0.tar.gz |
|---|---|
| Size | 6.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8b1cb470f61f2e7daf67ddd9a101516d91da87e48f0f538058121ebbd708202
|
|
BLAKE2b-256 checksum How to use checksums |
39ffd0a9061a515bb318f091e4617e5a65b33c1270ad33f75e1f9bf9af035634
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / forcedream_langchain-0.1.0-py3-none-any.whl
| Download URL | forcedream_langchain-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8d228638db3787e3d8416cb44256d72a7638132a8769d3d9ac0f36501dc1e554
|
|
BLAKE2b-256 checksum How to use checksums |
513c39df84b0c3208070dd2853e118c24523b0535c5b84a5312fb406acafff1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|