Skip to main content

M2M Sentinel Python SDK

Python client for Base EVM bytecode capability, common-proxy resolution, and sourced market observations. Factual static capability observation — not a formal reachability audit, safety guarantee, or transaction advice.

Installation

From PyPI (Recommended)

pip install m2m-sentinel==1.2.0

From Source

git clone https://github.com/M2M-Sentinel/m2m-sentinel-sdk.git
cd m2m-sentinel-sdk/python
pip install .

Quickstart Example

from m2m_sentinel import M2MSentinelClient, X402SignerClient

# 1. Initialize client (defaults to https://api.m2msentinel.com)
client = M2MSentinelClient(api_key="sk_starter_...")

# Observe static capabilities for a Base smart contract
response = client.audit_contract("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913")
audit = response["audit"]
print("Capability Rating:", audit["capabilityRating"])
print("Proxy Resolution:", audit["proxyResolution"])

# 2. Autonomous Headless x402 Micropayments (EIP-3009 Local Signing)
signer = X402SignerClient(private_key="0x...")
paid_res = signer.fetch_with_auto_payment("/v1/audit/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913")
print("Paid analysis:", paid_res["data"])

# Get capability index (fewer observed risky static patterns = higher score)
index = client.get_capability_score("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913")
print("Capability Score:", index["capabilityScore"], index["scoreMeaning"])

# Schematic paid-onboarding example. Supply these values from your private
# server/wallet flow; never hard-code credentials.
wallet_address = "0xYOUR_SUBSCRIBER_WALLET"
existing_paid_key = "READ_FROM_YOUR_SECRET_STORE"
original_payment_hash = "0xYOUR_ORIGINAL_PAYMENT_HASH"
intent = client.create_subscription_intent(
    "GROWTH", wallet_address, duration_days=90,
    renew_existing_key=True, api_key=existing_paid_key
)
recovery = client.create_recovery_challenge(wallet_address, tx_hash=original_payment_hash)

Method Reference

Method Description
audit_contract(address) Returns static opcode capability flags, proxy resolution (EIP-1967/UUPS), and bytecode provenance on Base.
get_capability_score(address) Evaluates observed static capability patterns. (Retains /v1/security/score/:address for backwards compatibility).
get_gas_metrics() Fetches real-time Base network gas suggestions and congestion telemetry.
get_token_price(symbol) Sourced Base DEX price observation for allowlisted assets (USDC, WETH, etc.).
get_dex_liquidity(address) Sourced DEX reserve and liquidity data on Base.

Important Notice

The route behind get_capability_score retains /v1/security/score/:address for legacy compatibility, but its value means only that fewer selected static patterns were observed. Factual static capability observation — not a formal reachability audit, safety guarantee, or transaction advice.

Download files

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

Source Distribution

m2m_sentinel-1.2.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

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

m2m_sentinel-1.2.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file m2m_sentinel-1.2.0.tar.gz.

File metadata

  • Download URL: m2m_sentinel-1.2.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for m2m_sentinel-1.2.0.tar.gz
Algorithm Hash digest
SHA256 5299942916f3ac90c3e6750d42a698f1bfef3ed6edbbcbd89799eebab5ff1825
MD5 697d91b8e14982b6a8f98691dc50f092
BLAKE2b-256 7d609a07a376d0b4145e34e5ffe711e6f7208bd796df8add90b617bc2f6f32c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for m2m_sentinel-1.2.0.tar.gz:

Publisher: publish_sdk.yml on AntoineSakkalis/M2M-Sentinel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file m2m_sentinel-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: m2m_sentinel-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for m2m_sentinel-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a6a299d6d84b4fbfecad3d7cbfdb4376c1f57bd1d948c4cfae9088a7424ae49
MD5 c55be9de19c38b3cc66eca60e104b43d
BLAKE2b-256 d6c728dea88c1693b4e9fec7d51e0dd30c8ec81c772af06eccdb1a1bb84c72b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for m2m_sentinel-1.2.0-py3-none-any.whl:

Publisher: publish_sdk.yml on AntoineSakkalis/M2M-Sentinel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.2.2

2 files

1.2.1

2 files

This release

1.2.0 This release

2 files

1.1.2

2 files

1.1.0

2 files

1.0.4

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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