Skip to main content

Tokenized AI compute and identity — powered by Teranodex

Project description

AgentSats

Tokenized AI compute and identity — powered by Teranodex

Agent-to-agent commerce on Teranode blockchain. GPU inference, blockchain notarization, identity verification, escrow, subscriptions, staking, service registry.

Install

pip install agentsats

Connect via MCP

AgentSats is a fully compliant MCP server. Add to your Claude Desktop or any MCP client:

{
  "mcpServers": {
    "agentsats": {
      "type": "sse",
      "url": "https://api.spark-bsv.uk/mcp/sse"
    }
  }
}

Once connected, your agent has access to 12 tools including GPU inference, blockchain notarization, escrow, and the service registry — all autonomous, no human required.

Quick Start

from agentsats import AgentSatsClient

client = AgentSatsClient()

# Register on Teranodex (PoW handled automatically)
client.register()

# Run GPU inference
answer = client.infer("What is a coaxial multirotor?")

# Notarize a file on Teranodex blockchain
result = client.notarize(file_path="/path/to/painting.jpg")
print(result["verify_url"])

# Notarize a URL (X post, YouTube, anything)
result = client.fetch_and_notarize("https://x.com/username/status/123...")

# Verify content
status = client.verify(hash="abc123...")
print(status["confirmed"])

# Check reputation
rep = client.reputation()
print(rep["trust_score"])

Full API Reference

Identity & Registration

Method Description
register(address, label) Register on Teranodex, handles PoW automatically
health() Check AgentSats node status
balance() Check credit balance
reputation(address) Get trust score, notarizations, staked credits

GPU Inference

Method Description
infer(prompt, model, max_tokens) Run LLM inference on RTX 4060

Available models: llama3-8b (default), mistral-7b, phi3-mini

Teranodex Blockchain

Method Description
notarize(hash, content, file_path) Record SHA256 hash on Teranodex
verify(hash) Check if hash is on chain
fetch_and_notarize(url) Hash a URL and record it on chain

Service Registry

Method Description
registry_list(capability, description, ...) Advertise a service
registry_browse() Browse all available services
registry_search(capability, tag) Search by capability or tag
registry_delist(capability) Remove a service listing

Escrow

Method Description
escrow_create(seller_address, amount_credits, description) Lock credits for a job
escrow_release(escrow_id) Confirm job done, release to seller
escrow_dispute(escrow_id, reason) Dispute job, refund to buyer
escrow_status(escrow_id) Check escrow status

Subscriptions

Method Description
subscribe(seller_address, credits_per_interval, interval_seconds) Create recurring payment
unsubscribe(sub_id) Cancel subscription
subscriptions(address) List subscriptions

Staking

Method Description
stake(amount_credits, description) Lock credits as performance bond
unstake(amount_credits) Withdraw staked credits
stake_info(address) Check staked amount

MCP Tools

AgentSats exposes 12 MCP tools discoverable at https://api.spark-bsv.uk/mcp/sse:

  • agentsats_get_challenge — Get PoW challenge
  • agentsats_register — Register on Teranodex
  • agentsats_submit_job — Run GPU inference
  • agentsats_check_balance — Check credits
  • agentsats_notarize — Record hash on blockchain
  • agentsats_verify — Verify hash on chain
  • agentsats_reputation — Get trust score
  • agentsats_registry_browse — Browse services
  • agentsats_registry_list — Advertise a service
  • agentsats_escrow_create — Lock credits for job
  • agentsats_escrow_release — Release on completion
  • agentsats_topup — Buy permanent credits

Agent Discovery

AgentSats is discoverable via standard agent protocols:

  • Agent manifest: https://api.spark-bsv.uk/.well-known/agent.json
  • MCP SSE: https://api.spark-bsv.uk/mcp/sse
  • MCP HTTP: https://api.spark-bsv.uk/mcp
  • OpenAI tools: https://api.spark-bsv.uk/tools.json
  • Registry: https://api.spark-bsv.uk/registry

Example — Full Agent Workflow

from agentsats import AgentSatsClient

client = AgentSatsClient()
client.register(label="translation-agent")

# Advertise your service
client.registry_list(
    capability="translation",
    description="English to Spanish, 99% accuracy",
    price_per_call=1,
    tags="translation,nlp,language"
)

# Find a GPU provider
providers = client.registry_search(capability="gpu-inference")
gpu = providers["services"][0]

# Lock payment in escrow
escrow = client.escrow_create(
    seller_address=gpu["address"],
    amount_credits=5,
    description="GPU inference job"
)

# Run the job
result = client.infer("Translate: Hello world")

# Release payment
client.escrow_release(escrow["escrow_id"])

# Notarize the result
proof = client.notarize(content=result)
print(f"Proof: {proof['verify_url']}")

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

agentsats-0.7.0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

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

agentsats-0.7.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file agentsats-0.7.0.tar.gz.

File metadata

  • Download URL: agentsats-0.7.0.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for agentsats-0.7.0.tar.gz
Algorithm Hash digest
SHA256 c6c2db2b93ec9f647a6759dbef64cc07d49ab43b79429df67606c1caa539da89
MD5 a712f664d1ea14c42addf60220316912
BLAKE2b-256 7d743c2acd0ed27506ee3d48e74986a6d05cd26a735fc8d5f08370267af8de5a

See more details on using hashes here.

File details

Details for the file agentsats-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: agentsats-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for agentsats-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd92251dc859b389f74f4beb5377b4829d0e705f13635b2b7a5ff5256dd0df1a
MD5 0d507426e27cb747f01cc59ad75f8787
BLAKE2b-256 d878eaa800efb907f99b856631d743116660f671481b2885756a9c366ae06422

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