@x1pay/langchain
LangChain/LangGraph tools for AI agent x402 payments on X1
Crawler Summary
OpenTerms tools for CrewAI agents. Add machine-readable permission checks and fail-closed guarded tool execution. crewai-openterms Permission-aware CrewAI tools for checking OpenTerms before an agent acts. Related OpenTerms Packages openterms-py](https://pypi.org/project/openterms-py/) — Core Python SDK for checking machine-readable permission rules. $1 — OpenTerms tools for LangChain agents. $1 — OpenTerms tools for CrewAI agents. $1 — Runnable examples for Python, LangChain, and CrewAI. $1 — SDK reference and integration guide Capability contract not published. No trust telemetry is available yet. Last updated 5/31/2026.
Freshness
Last checked 5/31/2026
Best For
crewai-openterms is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
OpenTerms tools for CrewAI agents. Add machine-readable permission checks and fail-closed guarded tool execution. crewai-openterms Permission-aware CrewAI tools for checking OpenTerms before an agent acts. Related OpenTerms Packages openterms-py](https://pypi.org/project/openterms-py/) — Core Python SDK for checking machine-readable permission rules. $1 — OpenTerms tools for LangChain agents. $1 — OpenTerms tools for CrewAI agents. $1 — Runnable examples for Python, LangChain, and CrewAI. $1 — SDK reference and integration guide
Public facts
3
Change events
0
Artifacts
0
Freshness
May 31, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 5/31/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
May 31, 2026
Vendor
Jstibal
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 5/31/2026.
Setup snapshot
git clone https://github.com/jstibal/crewai-openterms.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Jstibal
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
0
Snippets
0
Languages
python
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
OpenTerms tools for CrewAI agents. Add machine-readable permission checks and fail-closed guarded tool execution. crewai-openterms Permission-aware CrewAI tools for checking OpenTerms before an agent acts. Related OpenTerms Packages openterms-py](https://pypi.org/project/openterms-py/) — Core Python SDK for checking machine-readable permission rules. $1 — OpenTerms tools for LangChain agents. $1 — OpenTerms tools for CrewAI agents. $1 — Runnable examples for Python, LangChain, and CrewAI. $1 — SDK reference and integration guide
Permission-aware CrewAI tools for checking OpenTerms before an agent acts.
openterms-py](https://pypi.org/project/openterms-py/) — Core Python SDK for checking machine-readable permission rules. langchain-openterms — OpenTerms tools for LangChain agents. crewai-openterms — OpenTerms tools for CrewAI agents. openterms-examples — Runnable examples for Python, LangChain, and CrewAI. OpenTerms SDK docs — SDK reference and integration guide.
pip install crewai-openterms
The package documents and checks only these OpenTerms permission keys:
read_contentscrape_dataapi_accesscreate_accountmake_purchasespost_contentallow_trainingThe guard is fail-closed by default.
| Result | Default behavior |
|---|---|
| allowed | Proceed |
| denied | Block |
| null | Block |
| not_specified | Block |
| no_openterms_json | Block |
| low confidence | Block or escalate |
| conditional result | Block or escalate unless conditions are verified |
During public alpha, many domains do not publish openterms.json. That is expected, but it blocks by default. To allow permissive fallback, pass fail_closed=False explicitly.
Use this when an agent needs a structured permission check.
from crewai import Agent, Task, Crew
from crewai_openterms import OpenTermsCheckTool
checker = OpenTermsCheckTool()
researcher = Agent(
role="Web Researcher",
goal="Gather information from websites while respecting their terms",
backstory=(
"Before accessing a website, check its OpenTerms permissions "
"using the openterms_check tool."
),
tools=[checker],
)
task = Task(
description="Check whether github.com allows read_content and scrape_data.",
expected_output="A summary of permitted actions on github.com.",
agent=researcher,
)
crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()
Use this when an agent should receive a go or no-go decision before acting.
from crewai import Agent, Task, Crew
from crewai_openterms import OpenTermsGuardTool
guard = OpenTermsGuardTool(fail_closed=True) # default
researcher = Agent(
role="Permission-aware researcher",
goal="Use websites only when OpenTerms permits the intended action",
backstory=(
"Before taking action on a website, use openterms_guard. "
"If it blocks or escalates, do not proceed."
),
tools=[guard],
)
task = Task(
description="Check whether example.com permits scrape_data before scraping.",
expected_output="A go or no-go decision.",
agent=researcher,
)
crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()
Permissive fallback must be explicit:
guard = OpenTermsGuardTool(fail_closed=False)
Use this pattern when OpenTerms should mechanically control whether a downstream tool executes.
from crewai.tools import BaseTool
from crewai_openterms import OpenTermsGuardedTool
class FetchPageTool(BaseTool):
name: str = "fetch_page"
description: str = "Fetch a page after permission is granted."
def _run(self, url: str, **kwargs):
return f"Fetched {url}"
fetch_page = FetchPageTool()
guarded_fetch = OpenTermsGuardedTool(
wrapped_tool=fetch_page,
action="read_content",
fail_closed=True, # default
)
result = guarded_fetch._run(url="https://example.com/page")
OpenTermsGuardedTool blocks the wrapped tool by default unless the OpenTerms check returns allowed. fail_closed=False is the only permissive fallback.
When a domain's openterms.json includes a discovery block, the guard can surface MCP server URLs and API spec URLs in the allowed response.
Example:
ALLOWED: acme-corp.com permits 'api_access'. You may proceed. MCP servers available: https://acme-corp.com/mcp/sse. API specs available: https://api.acme-corp.com/v1/openapi.json.
The package uses openterms-py when installed through the SDK extra or development dependencies. If the SDK is unavailable, the client falls back to direct openterms.json fetch behavior.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
LangChain/LangGraph tools for AI agent x402 payments on X1
An implementation of a multi-agent swarm using LangGraph
LangGraph Multi-Agent Supervisor
LangChain tools for OceanBus — give your LangChain and CrewAI agents a global identity, encrypted messaging, and Yellow Pages service discovery with a single import.
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-10-08T23:14:52.533Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"label": "Vendor",
"value": "Jstibal",
"category": "vendor",
"href": "https://github.com/jstibal/crewai-openterms",
"sourceUrl": "https://github.com/jstibal/crewai-openterms",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-23T06:54:01.647Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "protocols",
"label": "Protocol compatibility",
"value": "OpenClaw",
"category": "compatibility",
"href": "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-05-23T06:54:01.647Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "handshake_status",
"label": "Handshake status",
"value": "UNKNOWN",
"category": "security",
"href": "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jstibal-crewai-openterms/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true,
"metadata": {}
}
]Change Events JSON
[]
Sponsored
Ads related to crewai-openterms and adjacent AI workflows.