Skip to main content

AI Agent Payment Processing SDK - Non-custodial USDC payments for AI agents with bundled intelligence services

Project description

coinrailz

AI Agent Payment Processing SDK - Non-custodial USDC payments for AI agents with bundled intelligence services.

Features

  • Non-custodial: Your wallet, your keys. We never custody funds.
  • Low fees: 1.5% + $0.01 per transaction ($0.05 minimum)
  • Multi-chain: Base Chain primary, with Ethereum, Polygon, Arbitrum support
  • Intelligence bundle: 41 x402 microservices for market data, analytics, and more
  • CDP wallets: Automatic wallet creation via Coinbase Developer Platform
  • Type-safe: Full Pydantic models for all API responses

Installation

pip install coinrailz

Get Your API Key

Instant API Key - Pay $1 (USDC/USDT on Base or Solana) and get your API key immediately. No account required!

  1. Visit https://coinrailz.com/api-keys
  2. Send $1 to the platform wallet
  3. Verify your transaction and receive your key + $5 starter credits

Key Persistence: Your API key is permanent and works across ALL services. One key = unlimited access (credits are deducted per use). You can top up credits anytime with the same key.

Quick Start

from coinrailz import CoinRailz

# Initialize the client
client = CoinRailz(api_key="cr_live_...")  # Get your API key at https://coinrailz.com/api-keys

# Send a payment (1.5% + $0.01 fee)
result = client.send(
    to="0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    amount=100,
    memo="Service payment"
)

if result.success:
    print(f"Payment sent: {result.transaction_id}")
    print(f"Fee: ${result.fee}")
    print(f"Net amount: ${result.net_amount}")

API Reference

Initialization

from coinrailz import CoinRailz

client = CoinRailz(
    api_key="cr_live_...",  # Required
    base_url="https://coinrailz.com",  # Optional, for self-hosted
    timeout=30,  # Optional, request timeout in seconds
    enable_intelligence=False  # Optional, enable x402 intelligence services
)

Send Payment

Send USDC to an address. Fee: 1.5% + $0.01

result = client.send(
    to="0x...",  # Recipient address
    amount=100,  # Amount in USDC
    currency="USDC",  # Optional, default USDC
    memo="Payment for services",  # Optional
    metadata={"order_id": "123"}  # Optional, custom data
)

# Response (SendPaymentResult)
# result.success = True
# result.transaction_id = "sdk_tx_..."
# result.status = "pending"
# result.amount = 100
# result.fee = 1.51
# result.net_amount = 98.49
# result.fee_breakdown.rate = "1.5% + $0.01"

Create Invoice

Create a payment invoice for receiving funds.

invoice = client.create_invoice(
    amount=50,
    description="AI assistant service fee",
    expires_in=15  # Minutes, default 15
)

# Response (InvoiceResult)
# invoice.invoice_id = "sdk_inv_..."
# invoice.payment_address = "0x..."
# invoice.status = "pending"

Get Reports

Get activity reports for your account.

report = client.get_reports(
    period="weekly",  # "daily" | "weekly" | "monthly"
    format="json"  # "json" | "markdown"
)

# Response (ReportResult)
# report.summary.total_transactions = 42
# report.summary.total_volume_usd = 5280.50

Get Balance

Get your wallet balance.

balance = client.get_balance()

# Response (BalanceResult)
# balance.balances.USDC = 1250.00
# balance.balances.ETH = 0.05

Create Wallet

Create a new CDP wallet.

wallet = client.create_wallet()

# Response (WalletResult)
# wallet.wallet_id = "sdk_wallet_..."
# wallet.address = "0x..."
# wallet.status = "active"

Intelligence Services

Access 41 bundled x402 microservices (requires bundle subscription or +0.35% per call).

client = CoinRailz(
    api_key="cr_live_...",
    enable_intelligence=True
)

# Get wallet risk score
risk = client.intelligence("wallet-risk", {"address": "0x..."})

# Get trade signals
signals = client.intelligence("trade-signals", {"token": "ETH"})

# Get token sentiment
sentiment = client.intelligence("token-sentiment", {"token": "BTC"})

Context Manager

The client supports context manager protocol for automatic cleanup:

with CoinRailz(api_key="cr_live_...") as client:
    result = client.send(to="0x...", amount=100)

Error Handling

All API errors return machine-readable structured responses for programmatic handling:

from coinrailz import CoinRailz

result = client.send(to="0x...", amount=100)

if not result.success:
    print(f"Error code: {result.error.code}")
    print(f"Message: {result.error.human_message}")
    print(f"Hint: {result.error.agent_hint}")
    print(f"Recoverable: {result.error.recoverable}")
    
    # Programmatic error handling
    if result.error.code == "PAYMENT_INVALID_TX_HASH_LENGTH":
        # Transaction hash is wrong length
        pass
    elif result.error.code == "PAYMENT_VERIFICATION_FAILED":
        # On-chain verification returned false
        pass
    elif result.error.code == "INSUFFICIENT_CREDITS":
        # Top up credits at coinrailz.com/api-keys
        pass
    elif result.error.code == "RATE_LIMITED":
        # Wait and retry
        import time
        time.sleep(result.error.retry_after or 60)

Error Response Schema

@dataclass
class ErrorResponse:
    code: str           # Stable error identifier for switch statements
    http_status: int    # HTTP status code
    human_message: str  # Human-readable explanation
    agent_hint: str     # Actionable fix suggestion for AI agents
    recoverable: bool   # Whether retrying may succeed
    telemetry_id: str   # Support ticket reference

Error Codes Reference

Code Description Recoverable
PAYMENT_HEADER_MISSING X-PAYMENT header is empty Yes
PAYMENT_INVALID_TX_HASH_LENGTH Transaction hash wrong length Yes
PAYMENT_INVALID_TX_HASH_FORMAT Invalid characters in hash Yes
PAYMENT_DECODE_FAILED Could not decode payment payload Yes
PAYMENT_VERIFICATION_FAILED On-chain verification returned false No
PAYMENT_VERIFICATION_EXCEPTION Verification threw an error Maybe
INSUFFICIENT_CREDITS Not enough credits for operation Yes
INVALID_API_KEY API key not found or expired No
RATE_LIMITED Too many requests Yes

Pricing

Tier Volume Processing Fee
Starter $0-$10K/mo 1.5% + $0.01
Growth $10K-$100K/mo 1.25% + $0.01
Platform $100K+/mo 0.9% + $0.01

Intelligence Bundle: +0.35% per transaction OR $79/month flat

Transaction Limits

  • Minimum transaction: $0.05 USDC
  • Maximum transaction: $100,000 USDC (contact sales for higher limits)

Refunds & Disputes

Due to the non-custodial nature of blockchain transactions:

  • Refunds are not supported - All blockchain transactions are final and irreversible
  • Disputes: For transaction issues, contact support@coinrailz.com with your transaction ID
  • Prevention: Always verify recipient addresses before sending

Legal

This SDK provides non-custodial payment routing. Coin Railz does not hold, custody, or control user funds at any time. Users maintain full control of their wallets and private keys.

See Terms of Service for full legal terms.

Support

License

MIT License - see LICENSE for details.

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

coinrailz-1.0.2.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

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

coinrailz-1.0.2-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file coinrailz-1.0.2.tar.gz.

File metadata

  • Download URL: coinrailz-1.0.2.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for coinrailz-1.0.2.tar.gz
Algorithm Hash digest
SHA256 292d212ea5c51bc84a04949c8d79396f993eb1ce4598220d243c2e64b7bfc14e
MD5 6c2c28c6bce62485c7d943ffc2b6fd9e
BLAKE2b-256 197ddf5705477bb9d39c3f4186b1ed57ebef5a97c1aa518aaebc8a0f459a6009

See more details on using hashes here.

File details

Details for the file coinrailz-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: coinrailz-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for coinrailz-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 32f508d40a8ff68b226c049b18db82f37a04758e9ba4651364fdb3a86f62e441
MD5 44a50d99919ca95e8817bd1b82b0fcab
BLAKE2b-256 1ca036893fbec779ca9987c9da1777b097fc35e822518ac2a414751a46bcb936

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