{
 "x402Version": 2,
 "name": "bilbop x402",
 "description": "Pay-per-call Solana tools for AI agents: mint info, token briefs, summaries ($0.01), Piper TTS ($0.025), human brand feedback ($0.50). USDC on Solana via PayAI. No API keys.",
 "provider": {
  "name": "bilbop",
  "url": "https://bilbop-portfolio.pages.dev/"
 },
 "origin": "https://api.bilbop.org",
 "openapi": "https://api.bilbop.org/openapi.json",
 "resources": [
  {
   "url": "https://api.bilbop.org/v1/summarize",
   "method": "POST",
   "description": "Summarize a block of text into 1-3 concise sentences. Use when an agent needs a short digest of an article, doc, or chat log before deciding what to do. POST JSON {text}. Returns {summary}. 0.01 USDC per call on Solana.",
   "mimeType": "application/json",
   "serviceName": "Bilbop summarizer",
   "tags": [
    "summarize",
    "nlp",
    "solana",
    "usdc",
    "bilbop"
   ],
   "accepts": [
    {
     "scheme": "exact",
     "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
     "amount": "10000",
     "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
     "payTo": "2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4",
     "maxTimeoutSeconds": 60,
     "extra": {
      "decimals": 6,
      "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "method": "POST",
       "bodyType": "json",
       "body": {
        "text": "Summarize this paragraph for an agent."
       }
      },
      "output": {
       "type": "json",
       "example": {
        "summary": "A one to three sentence digest of the input text.",
        "mock": false
       }
      }
     },
     "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
       "input": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string",
          "const": "http"
         },
         "method": {
          "type": "string",
          "enum": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string",
            "description": "Text to summarize (max 12000 chars)",
            "minLength": 1,
            "maxLength": 12000
           }
          },
          "required": [
           "text"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object"
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "url": "https://api.bilbop.org/v1/sol-token-brief",
   "method": "POST",
   "description": "Solana SPL token market snapshot: price, market cap, FDV, liquidity, 24h volume, holders and a one-line brief, aggregated from Jupiter, GeckoTerminal and Dexscreener. Use before trading or reporting on a Solana token. POST JSON {mint}. 0.01 USDC per call.",
   "mimeType": "application/json",
   "serviceName": "Bilbop sol token brief",
   "tags": [
    "solana",
    "token",
    "market",
    "brief",
    "bilbop"
   ],
   "accepts": [
    {
     "scheme": "exact",
     "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
     "amount": "10000",
     "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
     "payTo": "2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4",
     "maxTimeoutSeconds": 60,
     "extra": {
      "decimals": 6,
      "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "method": "POST",
       "bodyType": "json",
       "body": {
        "mint": "So11111111111111111111111111111111111111112"
       }
      },
      "output": {
       "type": "json",
       "example": {
        "mint": "So11111111111111111111111111111111111111112",
        "symbol": "SOL",
        "priceUsd": 150.12,
        "mcapUsd": 80000000000,
        "liquidityUsd": 250000000,
        "volume24hUsd": 1500000000,
        "brief": "SOL (So11\u20261112) \u00b7 price $150.12 \u00b7 mcap $80B \u00b7 liq $250M \u00b7 vol24h $1.5B. Sources: jupiter, dexscreener. Not financial advice.",
        "sources": [
         "jupiter",
         "geckoterminal",
         "dexscreener"
        ],
        "asOf": "2026-09-28T14:00:00.000Z"
       }
      }
     },
     "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
       "input": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string",
          "const": "http"
         },
         "method": {
          "type": "string",
          "enum": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "mint": {
            "type": "string",
            "description": "Base58 Solana SPL token mint address (32-44 chars)",
            "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
           }
          },
          "required": [
           "mint"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object"
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "url": "https://api.bilbop.org/v1/sol-mint-info",
   "method": "POST",
   "description": "On-chain facts for a Solana SPL token mint: supply, decimals, mint authority, freeze authority, token program and initialized flag. Use to check whether a token can still be minted or frozen before buying or listing it. POST JSON {mint}. 0.01 USDC per call.",
   "mimeType": "application/json",
   "serviceName": "Bilbop Solana mint info",
   "tags": [
    "mint",
    "supply",
    "authorities",
    "solana",
    "bilbop"
   ],
   "accepts": [
    {
     "scheme": "exact",
     "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
     "amount": "10000",
     "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
     "payTo": "2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4",
     "maxTimeoutSeconds": 60,
     "extra": {
      "decimals": 6,
      "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "method": "POST",
       "bodyType": "json",
       "body": {
        "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
       }
      },
      "output": {
       "type": "json",
       "example": {
        "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "decimals": 6,
        "supply": "9000000000.000000",
        "mintAuthority": "BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG",
        "freezeAuthority": "7dGbd2QZcCKcTndnHcTL8q7SMVXAkp688NTQYwrRCrar",
        "tokenProgram": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
        "initialized": true,
        "sources": [
         "bentlawgic-token-basic"
        ]
       }
      }
     },
     "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
       "input": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string",
          "const": "http"
         },
         "method": {
          "type": "string",
          "enum": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "mint": {
            "type": "string",
            "description": "Base58 Solana SPL token mint address (32-44 chars)",
            "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
           }
          },
          "required": [
           "mint"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object"
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "url": "https://api.bilbop.org/v1/tts",
   "method": "POST",
   "description": "Text-to-speech: turn up to 2500 characters of English text into a natural voice WAV file using self-hosted open-source Piper voices. Use when an agent needs spoken audio for a message, video or notification. POST JSON {text, voice_id?}. Returns audio/wav bytes. From 0.025 USDC per call.",
   "mimeType": "audio/wav",
   "serviceName": "Bilbop Piper TTS",
   "tags": [
    "tts",
    "piper",
    "oss",
    "solana",
    "usdc"
   ],
   "accepts": [
    {
     "scheme": "exact",
     "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
     "amount": "25000",
     "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
     "payTo": "2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4",
     "maxTimeoutSeconds": 60,
     "extra": {
      "decimals": 6,
      "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "method": "POST",
       "bodyType": "json",
       "body": {
        "text": "Hello from Piper",
        "voice_id": "en_US-lessac-medium"
       }
      },
      "output": {
       "type": "json",
       "example": {
        "contentType": "audio/wav",
        "note": "Response body is raw WAV audio bytes (mono, 22.05 kHz)"
       }
      }
     },
     "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
       "input": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string",
          "const": "http"
         },
         "method": {
          "type": "string",
          "enum": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string",
            "description": "Text to speak (max 2500 chars)",
            "minLength": 1,
            "maxLength": 2500
           },
           "voice_id": {
            "type": "string",
            "description": "Optional Piper voice id"
           }
          },
          "required": [
           "text"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object"
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "url": "https://api.bilbop.org/brand-feedback",
   "method": "POST",
   "description": "Ask real humans a short question about a brand or product and get their replies, routed through the WURK human-task marketplace. Use when an agent needs genuine human opinion rather than model output. POST JSON {brand, question, n (1-50, default 5)}. Human replies can take minutes. 0.50 USDC per call.",
   "mimeType": "application/json",
   "serviceName": "Bilbop brand feedback",
   "tags": [
    "brand",
    "feedback",
    "wurk",
    "solana",
    "bilbop"
   ],
   "accepts": [
    {
     "scheme": "exact",
     "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
     "amount": "500000",
     "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
     "payTo": "2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4",
     "maxTimeoutSeconds": 60,
     "extra": {
      "decimals": 6,
      "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "method": "POST",
       "bodyType": "json",
       "body": {
        "brand": "Acme",
        "question": "Would you buy again?",
        "n": 1
       }
      },
      "output": {
       "type": "json",
       "example": {
        "brand": "Acme",
        "question": "Would you buy again?",
        "n": 1,
        "responses": [
         {
          "text": "Yes, the quality was good for the price.",
          "sentiment": "positive"
         }
        ],
        "aggregate": {
         "positive": 1,
         "neutral": 0,
         "negative": 0,
         "summary": "1/1 positive."
        },
        "mock": false
       }
      }
     },
     "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
       "input": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string",
          "const": "http"
         },
         "method": {
          "type": "string",
          "enum": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "brand": {
            "type": "string",
            "description": "Brand or product name",
            "minLength": 1
           },
           "question": {
            "type": "string",
            "description": "Question to ask human respondents",
            "minLength": 1
           },
           "n": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Number of human respondents (default 5)"
           }
          },
          "required": [
           "brand",
           "question"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object"
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  }
 ]
}