Skip to main content

Python client for 2s.io — pay-per-call AI agent APIs on Base via x402.

Project description

2sio (Python)

Python client for 2s.io — pay-per-call AI agent APIs on Base via x402.

pip install "2sio[x402]"

Quick start

import os
from twosio import TwoS

# private_key is an EVM key (0x...) holding USDC on Base mainnet.
client = TwoS(private_key=os.environ["EVM_PRIVATE_KEY"])

r = client.patents.search(q="neural network", limit=5)
print(r.data["hits"][0]["title"])
print("paid:", r.cost_usd, "USDC, tx:", r.settlement["tx_hash"])

Settles on Base mainnet in ~2 seconds. Prices start at $0.001/call.

If you'd rather construct the signer yourself (e.g. for a custodial KMS-backed wallet), pass it directly:

from eth_account import Account
signer = Account.from_key(os.environ["EVM_PRIVATE_KEY"])
client = TwoS(signer=signer)

What's included

39 endpoints, namespaced by group:

client.patents.search(q="...")
client.patents.detail(applicationNumber="18566276")
client.crypto.address_validate(chain="eth", address="0xd8dA...")
client.ai.summarize(url="https://example.com")
client.law.sanctions_check(name="John Smith")
client.geocode.address(query="350 5th Ave, New York, NY")
client.weather.zip(zip="94103")
# ... and more

Full catalog: https://2s.io/api/directory. OpenAPI: https://2s.io/api/openapi.

Safety

  • The client refuses to sign payments above max_price_usd (default $0.10).
  • Optional on_payment_requested hook for per-call approval.
client = TwoS(
    private_key=os.environ["EVM_PRIVATE_KEY"],
    max_price_usd=0.05,
    on_payment_requested=lambda info: info["amount_usd"] < 0.02,
)

Errors

  • TwoSError — HTTP error from 2s.io.
  • PaymentRefusedError — local refusal (price cap or hook).

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

2sio-0.1.3.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

2sio-0.1.3-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file 2sio-0.1.3.tar.gz.

File metadata

  • Download URL: 2sio-0.1.3.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for 2sio-0.1.3.tar.gz
Algorithm Hash digest
SHA256 c9086e4b62816a90e0f25fc5c58d31d7b5bd428b4251785081fe77851828e9cc
MD5 08265a13adba14852dfe515bcef81b1f
BLAKE2b-256 c0669c68ab60bbd3335aada84ecf723b9bb8a2500fbf364615bf18a556145735

See more details on using hashes here.

File details

Details for the file 2sio-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: 2sio-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for 2sio-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b2cd05e41f9ea375e30fd3dbef3a5bd5a4d60040a2eddfb1246f9f23593ebe2b
MD5 0252a5d8ed3d1b464e4d3b74937f8266
BLAKE2b-256 26d524cafb075092f351ecb85da49d2b388364f4f88ad30acbf8826e764015d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page