Skip to main content

dominusnode-langchain

LangChain tools for the DominusNode AI-agent relay network (v2). Agents fetch the web through exit IPs contributed by other operators, pay per GB from a prepaid wallet (live prices from dominusnode_network_pricing, nothing hardcoded), and can earn by contributing their own IP with the DominusNode node agent.

Built on the official dominusnode Python SDK v2: all HTTP, SSRF and DNS-rebinding checks, gateway username flags and validation come from the SDK.

pip install dominusnode-langchain
export DOMINUSNODE_API_KEY=dn_live_...   # read from the environment, never a tool argument

Defaults: API https://api.dominusnode.com, relay gateway proxy.dominusnode.com. Override with DOMINUSNODE_BASE_URL / DOMINUSNODE_PROXY_HOST. Proxy traffic uses TLS to the gateway (HTTPS proxy, port 8443). For a self-hosted coordinator set DOMINUSNODE_PROXY_URL=https://<proxy-host>:8443; DOMINUSNODE_PROXY_INSECURE=1 selects plaintext 8080 for local development only (production gateways refuse it).

Usage

from langchain.agents import create_agent
from dominusnode_langchain import DominusNodeToolkit

tools = DominusNodeToolkit().get_tools()          # 19 StructuredTools
agent = create_agent("anthropic:claude-sonnet-4-5", tools=tools)
agent.invoke({"messages": [{"role": "user", "content": "What does residential traffic cost per GB?"}]})

DominusNodeToolkit is a LangChain BaseToolkit; each tool is a StructuredTool with a pydantic args_schema, and errors come back as scrubbed Error: ... strings.

The 19 tools

# Tool What it does SDK call
1 dominusnode_fetch Fetch a public URL through the relay (GET/HEAD; country, ip_class, session_id, allow_http) proxy.fetch
2 dominusnode_proxy_url Gateway proxy URL/username for your own client (key shown as a placeholder) proxy.build_username
3 dominusnode_network_policy Relay policy: ports, blocked targets, sanctioned countries network.policy
4 dominusnode_network_pricing Live per-GB prices by IP class and node earning shares network.pricing
5 dominusnode_network_stats Online nodes, countries, IP classes network.stats
6 dominusnode_balance Prepaid wallet balance wallet.get_balance
7 dominusnode_transactions Wallet transactions wallet.get_transactions
8 dominusnode_topup_crypto Crypto top-up invoice ($10-$1,000) wallet.top_up_crypto
9 dominusnode_check_payment Crypto invoice status wallet.get_crypto_status
10 dominusnode_usage Bandwidth usage and cost usage.get
11 dominusnode_active_sessions Active sessions (no IPs) sessions.get_active
12 dominusnode_report_session Report a bad session sessions.report
13 dominusnode_node_list Your relay nodes nodes.list
14 dominusnode_node_tier Node-operator tier and share nodes.tier
15 dominusnode_node_setup_guide Steps to earn by running the node agent static text
16 dominusnode_credits_balance Earned node credits credits.balance
17 dominusnode_credits_convert Points to the MCP server or SDK (needs a wallet signature) none (signed flow)
18 dominusnode_payouts_list On-chain payouts payouts.list
19 dominusnode_x402_info x402 micropayment info x402.get_info

Security

  • The API key comes from DOMINUSNODE_API_KEY (or constructor config). It is never a tool argument, never in a tool schema and never in tool output; dominusnode_proxy_url returns a <DOMINUSNODE_API_KEY> placeholder.
  • Every result and error is scrubbed of dn_live_/dn_test_/dn_node_/dn_proxy_ keys and JWTs.
  • dominusnode_fetch (via the SDK): GET/HEAD only, ports 80/443, private/local hosts and DNS-rebinding refused, redirects not followed, 10 MB cap, sanctioned countries refused. Plaintext http:// needs allow_http=true and is visible to the exit node.
  • Signed flows (node registration, withdrawals, payout wallet) are not LLM tools: use the DominusNode MCP server, the node agent, or the SDK with a signer key file.

Configuration env vars: DOMINUSNODE_API_KEY, DOMINUSNODE_BASE_URL, DOMINUSNODE_PROXY_HOST, DOMINUSNODE_PROXY_URL (https://host[:port], TLS; default port 8443, self-host 8443 too), DOMINUSNODE_PROXY_TLS_PORT, DOMINUSNODE_PROXY_INSECURE=1 (plaintext, local dev only) and DOMINUSNODE_PROXY_PORT (plaintext port).

Development

pip install -e ../../sdks/python -e '.[dev]'
pytest

License

MIT

Metadata

Release files for dominusnode-langchain 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dominusnode-langchain 2.2.0
File Size Uploaded Provenance Actions
dominusnode_langchain-2.2.0.tar.gz 11.7 kB Without provenance Details for dominusnode_langchain-2.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dominusnode-langchain 2.2.0
File Interpreter ABI Platform Actions
dominusnode_langchain-2.2.0-py3-none-any.whl Python 3 none any Details for dominusnode_langchain-2.2.0-py3-none-any.whl

Total release size: 24.6 kB

Release files / dominusnode_langchain-2.2.0.tar.gz

Download URL dominusnode_langchain-2.2.0.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
099517cee5c2a3a41636b97184cd01815ad5fc03f1591fc3949027d8ae92df47
BLAKE2b-256 checksum
How to use checksums
382f420c7628008c0d945b62064cfdbe1ee30a21d6fde62a1f33b3320375ee18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.18

Release files / dominusnode_langchain-2.2.0-py3-none-any.whl

Download URL dominusnode_langchain-2.2.0-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
36d6f571519e79ed9e0642076b221333d8f41fbbfb9ca5b37580ffaca5f8a4f2
BLAKE2b-256 checksum
How to use checksums
696c28b7e81c6259a9ebe56eb5bde401695341bdc1ad459895fbbddd47ade767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.18

Security for dominusnode-langchain 2.2.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page