from xenarch.agent_client import check_gate, verify_payment
from xenarch.payment import execute_payment
from xenarch.wallet import load_wallet_or_create
wallet = load_wallet_or_create()
# 1. Check if the URL has a payment gate
gate = check_gate("https://example.com/premium")
if not gate:
print("No gate — content is free")
else:
print(f"Price: ${gate.price_usd} USDC")
# 2. Pay on-chain
result = execute_payment(
wallet=wallet,
splitter_address=gate.splitter,
collector_address=gate.collector,
price_usd=gate.price_usd,
)
print(f"TX: {result.tx_hash}")
# 3. Verify and get access token
verification = verify_payment(gate.verify_url, result.tx_hash)
token = verification["access_token"]
# 4. Fetch content with token
import httpx
resp = httpx.get(
"https://example.com/premium",
headers={"Authorization": f"Bearer {token}"},
)
print(resp.text)