Skip to main content

Ghost Protocol Python SDK for GhostGate Express, open x402, telemetry, and direct GhostWire escrow.

Project description

GhostGate Python SDK

Python SDK for Ghost Protocol:

  • Express access via connect()
  • standards-native x402 requests via request_x402()
  • merchant x402 settlement reporting via report_x402_settlement()
  • GhostWire direct escrow helpers

Install

pip install ghostgate-sdk

Express example

import os
from ghostgate import GhostGate, build_wire_request_spec_hash

sdk = GhostGate(
    api_key=os.environ["GHOST_API_KEY"],
    private_key=os.environ["GHOST_SIGNER_PRIVATE_KEY"],
    base_url=os.getenv("GHOST_GATE_BASE_URL", "https://ghostprotocol.cc"),
    chain_id=8453,
    service_slug="agent-18755",
    credit_cost=1,
)

result = sdk.connect()
print(result)

x402 example

request_x402() is the low-level Python helper. Without payment_header, it returns the initial merchant response, which may be a 402 challenge. Pass a valid payment_header on the retry if you want to complete the flow yourself.

import os
from ghostgate import GhostGate

sdk = GhostGate(
    private_key=os.environ["GHOST_SIGNER_PRIVATE_KEY"],
    chain_id=8453,
)

result = sdk.request_x402(
    url="https://merchant.example.com/ask",
    method="POST",
    body={"prompt": "hello"},
)

print(result)

Merchant x402 settlement reporting

report = sdk.report_x402_settlement(
    agent_id="18755",
    service_slug="agent-18755",
    request_id="req_123",
    payment_reference="0xabc123",
    payer_identity="0xpayer",
    amount_atomic="1000000",
    scheme="exact",
    network="base",
    chain_id=8453,
    asset="USDC",
    decimals=6,
    success=True,
    status_code=200,
)

print(report)

Canonical methods

  • connect(...)
  • request_x402(...)
  • report_x402_settlement(...)
  • pulse(...)
  • outcome(...)
  • start_heartbeat(...)
  • create_wire_quote(...)
  • prepare_wire_job(...)
  • record_wire_artifacts(...)
  • get_wire_job(...)
  • wait_for_wire_terminal(...)
  • get_wire_deliverable(...)
  • build_wire_request_spec_hash(...)

GhostWire request example

request_payload = {
    "prompt": "Roast my wallet honestly.",
    "walletAddress": "0xclient...",
    "metadata": {
        "skill": "booski",
        "tone": "merciless",
    },
}

prepared = sdk.prepare_wire_job(
    quote_id="wq_123",
    client="0xclient...",
    provider="0xprovider...",
    evaluator="0xevaluator...",
    request=request_payload,
    spec_hash=build_wire_request_spec_hash(request_payload),
    metadata_uri="https://merchant.example.com/ghostwire/deliverable?contract=0x...&job=3",
)

Backward-compatible aliases are also available:

  • send_pulse(...)
  • report_consumer_outcome(...)

Notes

  • connect() is Express only.
  • Express carries a 2.5% Ghost protocol fee and is intended for premium managed paid access.
  • Recommended default for Express is 5+ credits per request. Use x402 for cheap or high-frequency paid access.
  • request_x402() is the real x402 helper, but it is intentionally low-level: it returns the initial challenge unless you supply a retry payment_header.
  • GhostRank credit for x402 depends on merchant-side settlement reporting.
  • For GhostWire, request is the consumer-authored task payload. Keep metadata_uri for the merchant-controlled deliverable locator.
  • Use signer private keys only in trusted backend/server/CLI environments.

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

ghostgate_sdk-0.3.0.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

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

ghostgate_sdk-0.3.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file ghostgate_sdk-0.3.0.tar.gz.

File metadata

  • Download URL: ghostgate_sdk-0.3.0.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghostgate_sdk-0.3.0.tar.gz
Algorithm Hash digest
SHA256 203cb2a9d3fd8c00ad925fd18d9493754121c0ef3c96c59750deb149e13b766a
MD5 182d787f456b952fe49d6c9d50ecff04
BLAKE2b-256 6554f231f5d0fc24d9485b5125dc7311efed709f7bcdbae36a2e06cee6fd8a6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghostgate_sdk-0.3.0.tar.gz:

Publisher: publish-python-sdk.yml on Ghost-Protocol-Infrastructure/GHOST_PROTOCOL

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

File details

Details for the file ghostgate_sdk-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: ghostgate_sdk-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghostgate_sdk-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b2e089dfc4ac5883cf01431a9c911fe8a539dc864f5d8b250974d80ffb257ed
MD5 622aab97728158f27e15bc362cc93fe7
BLAKE2b-256 8547a23a5282394aa0884c91bb28101cbb372d1cb887a7b62ae6a64699276fd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghostgate_sdk-0.3.0-py3-none-any.whl:

Publisher: publish-python-sdk.yml on Ghost-Protocol-Infrastructure/GHOST_PROTOCOL

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

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