SingularityNET · Capability

SingularityNET AI Service Discovery

Workflow capability for discovering, evaluating, and accessing AI services on the SingularityNET decentralized marketplace. Covers organization browsing, service discovery and metadata, endpoint retrieval, and payment channel management for service access.

Run with Naftiko Artificial IntelligenceAI MarketplaceBlockchainDecentralized AIService DiscoveryWeb3

What You Can Do

GET
List organizations — List all AI service publishing organizations on the network.
/v1/organizations
GET
Get organization — Get organization profile and contact information.
/v1/organizations/{id}
GET
List org services — List all AI services published by a specific organization.
/v1/organizations/{id}/services
GET
List services — Search and browse all AI services on the marketplace.
/v1/services
GET
Get service — Get full service metadata including pricing and gRPC endpoints.
/v1/organizations/{org_id}/services/{id}
GET
List service groups — Get service endpoint groups and pricing.
/v1/organizations/{org_id}/services/{id}/groups
POST
Open payment channel — Open an MPE payment channel to fund AI service calls.
/v1/channels
GET
Get channel — Get payment channel balance and expiration status.
/v1/channels/{id}
POST
Extend channel — Add funds or extend channel expiration.
/v1/channels/{id}/extend

MCP Tools

list-organizations

List all AI service publishing organizations on the SingularityNET network.

read-only
get-organization

Get details about a specific AI service provider organization.

read-only
list-org-services

List all AI services published by a specific organization.

read-only
list-services

Search and browse AI services on the SingularityNET marketplace by keyword or tag.

read-only
get-service

Get full metadata for a specific AI service including pricing, endpoints, and API specification.

read-only
list-service-groups

Get service endpoint groups, gRPC daemon addresses, and pricing for an AI service.

read-only
open-payment-channel

Open a Multi-Party Escrow payment channel with ASI tokens to fund AI service calls.

get-channel

Check the balance and expiration of a payment channel.

read-only
extend-channel

Add ASI token funds or extend the expiration of an existing payment channel.

idempotent

APIs Used

singularitynet

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "SingularityNET AI Service Discovery"
  description: "Workflow capability for discovering, evaluating, and accessing AI services on the SingularityNET decentralized marketplace. Covers organization browsing, service discovery and metadata, endpoint retrieval, and payment channel management for service access."
  tags:
  - Artificial Intelligence
  - AI Marketplace
  - Blockchain
  - Decentralized AI
  - Service Discovery
  - Web3
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SNET_WALLET_ADDRESS: SNET_WALLET_ADDRESS

capability:
  consumes:
    - import: singularitynet
      location: ./shared/singularitynet-marketplace.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: ai-discovery-api
      description: "Unified REST API for AI service discovery and access management on SingularityNET."
      resources:
        - path: /v1/organizations
          name: organizations
          description: "AI service provider organizations."
          operations:
            - method: GET
              name: list-organizations
              description: "List all AI service publishing organizations on the network."
              call: "singularitynet.list-organizations"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/organizations/{id}
          name: organization
          description: "Single organization details."
          operations:
            - method: GET
              name: get-organization
              description: "Get organization profile and contact information."
              call: "singularitynet.get-organization"
              with:
                org_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/organizations/{id}/services
          name: org-services
          description: "Services by organization."
          operations:
            - method: GET
              name: list-org-services
              description: "List all AI services published by a specific organization."
              call: "singularitynet.list-org-services"
              with:
                org_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/services
          name: services
          description: "AI service marketplace."
          operations:
            - method: GET
              name: list-services
              description: "Search and browse all AI services on the marketplace."
              call: "singularitynet.list-services"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/organizations/{org_id}/services/{id}
          name: service
          description: "Single AI service metadata."
          operations:
            - method: GET
              name: get-service
              description: "Get full service metadata including pricing and gRPC endpoints."
              call: "singularitynet.get-service"
              with:
                org_id: "rest.org_id"
                service_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/organizations/{org_id}/services/{id}/groups
          name: service-groups
          description: "Service endpoint groups."
          operations:
            - method: GET
              name: list-service-groups
              description: "Get service endpoint groups and pricing."
              call: "singularitynet.list-service-groups"
              with:
                org_id: "rest.org_id"
                service_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/channels
          name: open-channel
          description: "Payment channel management."
          operations:
            - method: POST
              name: open-payment-channel
              description: "Open an MPE payment channel to fund AI service calls."
              call: "singularitynet.open-payment-channel"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/channels/{id}
          name: channel
          description: "Single payment channel."
          operations:
            - method: GET
              name: get-channel
              description: "Get payment channel balance and expiration status."
              call: "singularitynet.get-channel"
              with:
                channel_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/channels/{id}/extend
          name: extend-channel
          description: "Channel extension."
          operations:
            - method: POST
              name: extend-channel
              description: "Add funds or extend channel expiration."
              call: "singularitynet.extend-channel"
              with:
                channel_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: ai-discovery-mcp
      transport: http
      description: "MCP server for AI-assisted discovery and management of decentralized AI services on SingularityNET."
      tools:
        - name: list-organizations
          description: "List all AI service publishing organizations on the SingularityNET network."
          hints:
            readOnly: true
            openWorld: true
          call: "singularitynet.list-organizations"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-organization
          description: "Get details about a specific AI service provider organization."
          hints:
            readOnly: true
          call: "singularitynet.get-organization"
          with:
            org_id: "tools.org_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-org-services
          description: "List all AI services published by a specific organization."
          hints:
            readOnly: true
            openWorld: true
          call: "singularitynet.list-org-services"
          with:
            org_id: "tools.org_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-services
          description: "Search and browse AI services on the SingularityNET marketplace by keyword or tag."
          hints:
            readOnly: true
            openWorld: true
          call: "singularitynet.list-services"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-service
          description: "Get full metadata for a specific AI service including pricing, endpoints, and API specification."
          hints:
            readOnly: true
          call: "singularitynet.get-service"
          with:
            org_id: "tools.org_id"
            service_id: "tools.service_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-service-groups
          description: "Get service endpoint groups, gRPC daemon addresses, and pricing for an AI service."
          hints:
            readOnly: true
          call: "singularitynet.list-service-groups"
          with:
            org_id: "tools.org_id"
            service_id: "tools.service_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: open-payment-channel
          description: "Open a Multi-Party Escrow payment channel with ASI tokens to fund AI service calls."
          hints:
            readOnly: false
          call: "singularitynet.open-payment-channel"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-channel
          description: "Check the balance and expiration of a payment channel."
          hints:
            readOnly: true
          call: "singularitynet.get-channel"
          with:
            channel_id: "tools.channel_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: extend-channel
          description: "Add ASI token funds or extend the expiration of an existing payment channel."
          hints:
            readOnly: false
            idempotent: true
          call: "singularitynet.extend-channel"
          with:
            channel_id: "tools.channel_id"
          outputParameters:
            - type: object
              mapping: "$."