Skip to main content

SatRank SDK for autonomous agents on Bitcoin Lightning. Discover, score, and pay Lightning-native HTTP services.

Project description

satrank — Python SDK

Python client for SatRank. One verb — fulfill() — that discovers, pays, and reports a Lightning-native HTTP service in a single call with a hard budget guarantee.

Install

pip install satrank                 # core
pip install "satrank[nwc]"          # + Nostr Wallet Connect driver

Python 3.10+.

Quickstart

import asyncio
from satrank import SatRank
from satrank.wallet import LndWallet

async def main() -> None:
    async with SatRank(
        api_base="https://satrank.dev",
        wallet=LndWallet(
            rest_endpoint="https://127.0.0.1:8080",
            macaroon_hex="...",  # admin macaroon (hex)
        ),
        caller="my-agent",
    ) as sr:
        result = await sr.fulfill(
            intent={"category": "data/weather", "keywords": ["paris"]},
            budget_sats=50,
        )
        print(result["response_body"] if result["success"] else result["error"])

asyncio.run(main())

Discovery only (no wallet)

async with SatRank(api_base="https://satrank.dev", caller="explorer") as sr:
    cats = await sr.list_categories()
    res = await sr.resolve_intent(category="data/weather", limit=10)
    for c in res["candidates"]:
        print(c["rank"], c.get("price_sats"), c.get("service_name"))

Wallet drivers

  • LndWallet — LND REST, macaroon auth.
  • NwcWallet — NIP-47 Nostr Wallet Connect (needs satrank[nwc]).
  • LnurlWallet — LNbits-style HTTP wallets.

See docs/sdk/wallet-drivers.md in the repo.

Documentation

License

MIT.

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

satrank-1.0.4.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

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

satrank-1.0.4-py3-none-any.whl (28.1 kB view details)

Uploaded Python 3

File details

Details for the file satrank-1.0.4.tar.gz.

File metadata

  • Download URL: satrank-1.0.4.tar.gz
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for satrank-1.0.4.tar.gz
Algorithm Hash digest
SHA256 ae483443121089c59a13a8165deb48157b0077434a9fdf3f1e6b0b5562c84477
MD5 33ad0cc0300c6ac72acd3cd7abef862e
BLAKE2b-256 52fc3457609c1d24893f5a3b70e61f3e9b81d16ccc6a877f04529af9d3177bc8

See more details on using hashes here.

File details

Details for the file satrank-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: satrank-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for satrank-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6f976eb53131c539b3ebad9468f1be05fc9f2d752d84f9ff418c1d3cb32d2634
MD5 40c4bbfa17a8f93be6f325defcbb943d
BLAKE2b-256 9082fd8b015a24d275618e47bd7464c3554f3884cf7b276c311d9712ab4a4f6a

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