import express from "express"
import { createMiddleware } from "@faremeter/middleware/express"
import { x402Exact } from "@faremeter/info/solana"
const app = express()
const articles = {
"intro-to-x402": { title: "Introduction to x402", body: "The x402 protocol..." },
"advanced-payments": { title: "Advanced Payment Patterns", body: "When building..." },
}
const contentPaywall = await createMiddleware({
facilitatorURL: "https://facilitator.corbits.dev",
accepts: [
...x402Exact({
network: "devnet",
payTo: process.env.MERCHANT_ADDRESS,
asset: "USDC",
amount: "50000",
}),
],
})
app.get("/articles", (req, res) => {
const previews = Object.entries(articles).map(([slug, article]) => ({
slug,
title: article.title,
}))
res.json(previews)
})
app.get("/articles/:slug", contentPaywall, (req, res) => {
const article = articles[req.params.slug]
if (!article) {
res.status(404).json({ error: "Not found" })
return
}
res.json(article)
})
app.listen(3000)