Skip to main content

Official Python SDK for the PathCourse AI gateway -- 15 inference tokens, x402 micropayments, ERC-8004 agent identity, USDC on Base L2.

Project description

pathcourse-sdk

Official Python SDK for the PathCourse Health AI gateway.

15 inference tokens. USDC micropayments on Base L2 via x402. No accounts required.


Install

pip install pathcourse-sdk

How PathCourse works (in 30 seconds)

PathCourse is built for autonomous agents. You don't sign up. There's no dashboard. You fund an on-chain wallet, claim an API key, and make inference calls — all programmatically.

  1. Your agent has (or creates) a Base L2 wallet holding at least 25 USDC.
  2. You send that USDC to the PCH treasury wallet.
  3. You call pathcourse.claim_key(tx_hash, wallet) to retrieve your API key.
  4. You construct PathCourseClient(api_key=...) and make inference calls.
  5. Balance is deducted per request. Check it any time with client.get_balance().

No credit card. No KYC. No human in the loop.


First-time setup — get an API key

Requirements: a Base L2 wallet and at least 25 USDC in it. Treasury wallet address is published at gateway.pathcoursehealth.com/.well-known/agent.json under payment.treasury_wallet.

import pathcourse

# Step 1: You've already sent >= 25 USDC to the PCH treasury wallet on Base.
#         Capture the tx_hash and the wallet address you sent from.

# Step 2: Claim your API key. Polls up to ~3 minutes while the deposit confirms
#         and your account provisions.
result = pathcourse.claim_key(
    tx_hash="0xYourDepositTxHash",
    wallet="0xYourSendingWallet",
)

print(result["api_key"])      # pch_prod_b_...
print(result["tier"])         # uncertified | bronze | silver | gold
print(result["balance_usdc"]) # e.g. "25.00000000"

# Store result["api_key"] securely. It won't be shown again via this endpoint.

Set the key as an environment variable for future runs:

export PCH_API_KEY="pch_prod_b_..."

Quick Start (once you have a key)

from pathcourse import PathCourseClient, PCH_FAST

client = PathCourseClient()  # reads PCH_API_KEY from env
client.verify_key()          # confirms the key works (cheap, no billing)

response = client.chat(
    model=PCH_FAST,
    messages=[{"role": "user", "content": "Explain x402 micropayments in one paragraph."}],
)
print(response.text)

Embeddings, translation, rerank

from pathcourse import PathCourseClient, PCH_EMBED

client = PathCourseClient()

emb = client.embed("The quick brown fox jumps over the lazy dog.")
print(len(emb.embeddings[0]))  # embedding dimension

fr = client.translate("Hello world", target_language="fr")
print(fr["translated_text"])   # "Bonjour le monde"

ranked = client.rerank(
    query="how does x402 work?",
    documents=["USDC is a stablecoin...", "x402 is an HTTP status code...", "Base is an L2..."],
    top_n=2,
)

Account controls

# Current balance + top-up instructions
bal = client.get_balance()
print(bal["balance_usdc"], bal["low_balance"])

# Spend history from the on-chain ledger
usage = client.get_usage(limit=20)
print(usage["summary"]["total_spend_usdc"])

# Days of service at current burn rate
runway = client.get_runway()
print(runway["runway_days"], runway["status"])

# Server-side daily spend cap (resets at UTC midnight; pass 0 to remove)
client.set_budget(daily_limit_usdc=10.00)

# Webhook alerts when balance drops below threshold
client.register_webhook(
    url="https://my-agent.example.com/pch-events",
    threshold_usdc=25.00,
)

Models

Constant Model Use Case Price
PCH_FAST pch-fast Fast reasoning, classification, routing $0.44/M tokens
PCH_PRO pch-pro Deep reasoning, multi-step planning $1.96/M tokens
PCH_CODER pch-coder Code generation, debugging $3.50/M tokens
PCH_IMAGE pch-image Text-to-image generation $0.028/image
PCH_AUDIO pch-audio Text-to-speech (standard) $1.85/M chars
PCH_AUDIO_PREMIUM pch-audio-premium Text-to-speech (premium) $37.00/M chars
PCH_DOCUMENTS pch-documents Document parsing, OCR $0.26 in / $1.48 out per M tokens
PCH_TALK pch-talk Voice conversation $0.001/min
CLAUDE_HAIKU claude-haiku Third-party (Silver+) Markup over provider cost
CLAUDE_SONNET claude-sonnet Third-party (Gold) Markup over provider cost
PCH_EMBED pch-embed Text embeddings $0.015/M tokens
PCH_TRANSCRIBE pch-transcribe Speech-to-text $0.0008/min
PCH_TRANSLATE pch-translate Translation $0.08/M chars
PCH_EXTRACT pch-extract Zero-shot entity extraction $0.012/M tokens
PCH_RERANK pch-rerank Retrieval reranking $0.025/M tokens

Machine-readable rate sheet: gateway.pathcoursehealth.com/v1/pricing.

Environment variables

  • PCH_API_KEY — your PathCourse API key
  • PCH_BASE_URL — override gateway URL (default: https://gateway.pathcoursehealth.com)

Error handling

from pathcourse import (
    PathCourseClient,
    InsufficientBalanceError, AuthenticationError,
    ModelNotInTierError, InferenceUnavailableError,
)

client = PathCourseClient()

try:
    client.chat(model="pch-pro", messages=[{"role": "user", "content": "hi"}])
except InsufficientBalanceError:
    # balance hit the $10 floor — top up via the treasury_wallet
    ...
except AuthenticationError:
    # key is invalid or the service is suspended
    ...
except ModelNotInTierError:
    # this tier can't access the requested model — upgrade cert or pick another
    ...

Settlement

All billing is in USDC on Base L2 (chain_id 8453) via the x402 payment protocol. USDC contract: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. No accounts, no credit cards, no KYC.

Links

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

pathcourse_sdk-0.2.2.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

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

pathcourse_sdk-0.2.2-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file pathcourse_sdk-0.2.2.tar.gz.

File metadata

  • Download URL: pathcourse_sdk-0.2.2.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for pathcourse_sdk-0.2.2.tar.gz
Algorithm Hash digest
SHA256 335033b88414edb47cae4cc3df0cd8a4112fdc67799457b55b0ff0aa91c041e3
MD5 d3a7c7898362356cfd2eccb099ab3e28
BLAKE2b-256 6c67d79be4d3a29d338fc5f0390554c1289e62f40a758f48c8feef5364de9b21

See more details on using hashes here.

File details

Details for the file pathcourse_sdk-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: pathcourse_sdk-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for pathcourse_sdk-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6b80353231f5c23b76696645b1e1bbdcba60ee28becced07570311446bf329dd
MD5 86623817e9890c090d2111b0ffa028a8
BLAKE2b-256 71fbde8f95e4b47d68caa2e9178e0e74c896a1accc1fb7277ea6ac3f80c06b50

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