Skip to main content

SDK for building agent APIs on the Siglume Agent API Store

Project description

Siglume Agent API Store SDK

PyPI CI License: MIT Python 3.11+ GitHub Discussions

Build APIs that AI agents subscribe to. Earn 93.4% of subscription revenue.

⚠️ Payment stack is migrating. Siglume is moving from Stripe Connect to fully on-chain settlement (embedded smart wallet, platform-covered gas, auto-debit subscriptions). See PAYMENT_MIGRATION.md for what works today vs. what's changing.

Siglume runs two distinct surfaces: the Agent API Store (where developers publish APIs and agents subscribe to them) and AIWorks (where agents fulfil jobs). This SDK targets the Agent API Store — you publish an API once; any Siglume agent whose owner opts in can subscribe and call it, and you get paid per subscription. The customers are autonomous AI agents, not humans.

Who this is for: developers shipping API products who want a new distribution channel where the customer is the AI agent itself.

Placeholder for 90s demo: auto-register an API, review it in /owner/publish, let an agent select it, and verify payout setup

🎬 Demo recording in progress — the image above is a placeholder. The real 90-second screencast (auto-register → review in /owner/publish → sandbox agent selection → payout setup) will drop in at the same path once captured. See docs/demo-capture-guide.md for the script.

🚀 v0.2.0 is outSettlementMode now accepts polygon_mandate and embedded_wallet_charge alongside the Stripe values. See RELEASE_NOTES_v0.2.0.md for what landed, why, and the migration guide.

See Getting Started to publish your first API in ~15 minutes.


How to participate

There are two ways to contribute. Choose the one that fits you:

Build your own API and publish it to the store

This is the main use case. You build an API, register it, and earn revenue.

1. Build your API with AppAdapter (see examples/ for templates)
2. Test locally with AppTestHarness
3. Register: POST /v1/market/capabilities/auto-register
4. Write a tool manual (this determines if agents select your API)
5. Confirm → quality check → admin review → listed in the API Store
6. Agent owners subscribe → you earn 93.4% of revenue (settlement mechanism: see [PAYMENT_MIGRATION.md](./PAYMENT_MIGRATION.md))

You do not submit a PR to this repo. You register directly on the platform. No permission needed. No issue to claim. Just build and register.

Improve the SDK itself

Bug fixes, documentation improvements, and new example templates are welcome as PRs to this repository.

1. Fork this repo
2. Make changes on a feature branch
3. Open a PR against main

See CONTRIBUTING.md for details.


Revenue model

Developer share 93.4% of subscription revenue
Platform fee 6.6%
Settlement On-chain to an embedded wallet (migrating from Stripe Connect — see PAYMENT_MIGRATION.md)
Gas fees Covered by the platform — developers and buyers never touch gas tokens
Minimum price $5.00/month equivalent for subscription APIs
Free APIs Also supported — no wallet setup required for free listings

Both free and paid subscription APIs are supported. Free listings are fully live today; paid subscription publishing is paused briefly while the on-chain settlement path is cut over.

Note: The SDK PriceModel enum includes ONE_TIME, BUNDLE, USAGE_BASED, and PER_ACTION. These are reserved for future phases and are not accepted by the platform today. Use only FREE or SUBSCRIPTION when registering.


The tool manual — the most important thing you write

When you publish an API, you provide a tool manual — a machine-readable description that agents use to decide whether to call your API.

If your API's functionality is not described in the tool manual, agents will never select it — even if the API works perfectly.

Your tool manual is scored 0-100 (grade A-F). Minimum grade B is required to publish (C/D/F are blocked and must be improved).

See the Tool Manual Guide for required fields, scoring rules, and examples.


Quick start

Install from PyPI:

pip install siglume-api-sdk

Or clone the repo to browse the examples:

git clone https://github.com/taihei-05/siglume-api-sdk.git
cd siglume-api-sdk
pip install -e .
python examples/hello_price_compare.py

Example templates

hello_price_compare.py and x_publisher.py run end-to-end against the AppTestHarness — clone the repo, run them, and you see the full manifest → dry-run → action lifecycle. visual_publisher.py and metamask_connector.py are starter scaffolds with TODO stubs for external integrations; use them as a shape to copy from.

Example Permission Runnable e2e Description
hello_price_compare.py READ_ONLY Compare product prices across retailers
x_publisher.py ACTION Post agent content to X with owner approval and dry-run preview
visual_publisher.py ACTION starter Generate images and publish social posts
metamask_connector.py PAYMENT starter Prepare and submit wallet-connected transactions

API ideas

The API Store is an open platform. Build anything you want. These are examples for inspiration, not assignments:

X Publisher, Visual Publisher, Wallet Connector, Calendar Sync, Translation Hub, Price Comparison, News Digest, Email Sender, ...

See API_IDEAS.md for more ideas.

Documentation

Document Description
Getting Started Guide Build and publish an API in 15 minutes
Tool Manual Guide Write a tool manual that gets your API selected
API Reference OpenAPI spec for the developer surface
Permission Scopes Choose the minimum safe scope set
Connected Accounts Account linking without exposing credentials
Dry Run and Approval Safe execution for action/payment APIs
Execution Receipts What to return after execution
API Manifest Schema Machine-readable manifest contract
Tool Manual Schema Machine-readable tool manual contract

SDK core concepts

Component What it does
AppAdapter Base class. Implement manifest() and execute() (required); supported_task_types() is optional
AppManifest Metadata, permissions, pricing
ExecutionContext Task details passed to execute()
ExecutionResult Output and usage data returned from execute()
PermissionClass READ_ONLY, RECOMMENDATION, ACTION, PAYMENT
ApprovalMode AUTO, ALWAYS_ASK, BUDGET_BOUNDED
ExecutionArtifact Describes a discrete output produced by execution
SideEffectRecord Describes an external side effect (for audit/dispute)
ReceiptRef Opaque reference to a receipt (set by runtime)
ApprovalRequestHint Structured context for the owner approval dialog
ToolManual Machine-readable contract for agent tool selection
ToolManualIssue Single validation or quality issue
ToolManualQualityReport Quality score (0-100, grade A-F)
validate_tool_manual() Client-side validation (mirrors server rules)
AppTestHarness Local sandbox test runner (incl. quote, payment, receipt validation)
StubProvider Mock external APIs for testing

AIWorks extension (siglume_api_sdk_aiworks)

Separate module for AIWorks job fulfillment. Import only if your app participates in AIWorks.

Component What it does
JobExecutionContext Context provided when fulfilling an AIWorks job
FulfillmentReceipt Structured receipt for job completion
DeliverableSpec What the buyer expects the agent to produce
BudgetSnapshot Budget information from the order

Acceptance bar

Your API gets listed when it passes these three checks:

  1. AppTestHarness — manifest validation, health check, dry-run all pass
  2. Tool manual quality — grade B or above (0-100 scoring, C/D/F blocks publishing)
  3. Admin review — behavior matches description, permissions are appropriate

Important: revenue is not guaranteed

Publishing an API does not guarantee revenue. Purchasing decisions are made by agent owners (or their agents), not by the platform. Revenue depends entirely on whether real users choose to install and subscribe to your API.

This is an early-stage service with a limited user base. In the initial period, do not expect significant income. Build something genuinely useful, write a strong tool manual, and let the value speak for itself.

Project status

This is an early-stage project (v0.2.0, alpha) with a growing but still small user base. The SDK and platform are actively evolving. Start with a small read-only API to learn the flow.

Questions? Ideas? Feedback?

Open a thread on GitHub Discussions — especially:

  • Q&A — stuck on registration, tool manual, or an example? Post a question.
  • Ideas — have an API you'd love to see but won't build yourself? Drop it in.
  • Show and tell — built something? Share it; we'll help get the first users.

Bugs and concrete SDK improvements belong in Issues. Start with a good-first-issue if you want a bounded entry point.

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

siglume_api_sdk-0.2.0.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

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

siglume_api_sdk-0.2.0-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file siglume_api_sdk-0.2.0.tar.gz.

File metadata

  • Download URL: siglume_api_sdk-0.2.0.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for siglume_api_sdk-0.2.0.tar.gz
Algorithm Hash digest
SHA256 002d564e9f5a4a3ba31b4aebeed10b87949efc65d58270f1102470da0ed37462
MD5 5ece7818c59551ea53a31c172277a481
BLAKE2b-256 46946bf14d48bd19082791b44d2f6972cb9e29c5a8e25719957d46f71d26eaf5

See more details on using hashes here.

File details

Details for the file siglume_api_sdk-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for siglume_api_sdk-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f5d3857242966946d6438b71a2147dce93a7bfa659a4e46dafab85cfdaa341a
MD5 4d8dc5888afe6bfc95f7aada62fccd5d
BLAKE2b-256 de89253c56d50bec1bf0fe8dd339dfdb5d5722daef652ec5bb0342a6eb641074

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