Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AproxPay LangChain

LangChain tools for AproxPay — residential proxy with native x402 payments (USDC on Base). No signup, no API key: a buyer wallet signs EIP-3009 transfers per request or session pass.

Two packages in this repo:

Runtime Package Install
Python langchain-aproxpay pip install langchain-aproxpay
JavaScript langchain-aproxpay npm i langchain-aproxpay @langchain/core

Every request sets X-Client-Source: langchain so AproxPay funnel metrics attribute traffic correctly.

Quickstart (Python)

pip install langchain-aproxpay
export APROXPROXY_PRIVATE_KEY=0x…   # dedicated low-balance buyer wallet on Base
from langchain_aproxpay import AproxPayProxyGetTool, create_aproxpay_tools

tool = AproxPayProxyGetTool()  # reads APROXPROXY_PRIVATE_KEY from env
print(tool.invoke({"url": "https://api.ipify.org?format=json"}))

# Or bind the full set:
tools = create_aproxpay_tools()

Quickstart (JavaScript)

npm i langchain-aproxpay @langchain/core
export APROXPROXY_PRIVATE_KEY=0x…
import { createAproxPayTools } from "langchain-aproxpay";

const { aproxpay_proxy_get } = createAproxPayTools();
const result = await aproxpay_proxy_get.invoke({
  url: "https://api.ipify.org?format=json",
});
console.log(result);

Environment

Variable Required Default Notes
APROXPROXY_PRIVATE_KEY yes (unless injecting a test transport) 0x + 64 hex. Use a dedicated low-balance buyer wallet funded with USDC on Base. Never commit or log this value.
APROXPROXY_BASE_URL no https://proxy.aproxpay.com Override for staging/local.

Tools

Tool Pays Purpose
aproxpay_proxy_get ~$0.003 Hero: fetch a URL via residential IP (2MB cap). Optional region, sticky, sticky_duration.
aproxpay_list_countries free ISO exit countries for region.
aproxpay_create_session tiered Ephemeral CONNECT credentials for Playwright / curl.
aproxpay_extend_session ~$0.15 +30 min / +50MB (not for gb tier).
aproxpay_close_session free Invalidate credentials (no refund).

Product A success responses are HTTP 200 with origin status in X-Target-Status — tools return that origin status, not the envelope 200.

Session pass (Playwright)

from langchain_aproxpay import AproxPayCreateSessionTool
import json

raw = AproxPayCreateSessionTool().invoke({"tier": "entry", "region": "us"})
session = json.loads(raw)
# Always use the https proxy URL — never plain http:// against gw:443
proxy_url = session["proxyUrl"]  # https://user:pass@gw.aproxpay.com:443

Production gateway is TLS on :443. Documented fallback: same credentials on :8443 (https://user:pass@gw.aproxpay.com:8443). Plain http:// to :443 hits the web front and returns 404.

Pricing

See aproxpay.com/pricing for the live ladder. Approximate MVP tiers:

Product Price Cap
Per-request (proxy_get) $0.003 2MB
Per-request large $0.015 5MB
Session entry $0.05 30 min + 15MB
Session heavy $0.50 60 min + 200MB
Session gb $2.50 ≤120 min + 1GB dedicated
Extend $0.15 +30 min + 50MB

Security

  • Keep the buyer private key on the machine that runs the agent (non-custodial).
  • Do not log APROXPROXY_PRIVATE_KEY, Authorization, or payment headers.
  • Close session early if you are done — there is no automatic refund.

Development

# JS
cd js && npm ci && npm test && npm run build

# Python
cd python && uv sync --group dev && uv run pytest && uv run ruff check src tests

# Local secret + public-deny hooks (optional, mirrors CI)
pipx install pre-commit && pre-commit install
pre-commit run --all-files

License

MIT © AproxPay

About

LangChain tools for AproxPay residential proxy (x402)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages