Documentation: https://jadi03.github.io/tessera/
Live Playground: https://try-tessera.xyz
Payment sidecar for self-hosted platforms enabling instant, per-second streaming payments and direct tipping.
TL;DR: Point Tessera at your self-hosted platform and your users start paying in USDC - by the second, by the action, or as a tip - without modifying a single line of your platform's source code.
demo_tessera_web.mp4
- The Self-Hosted Monetization Layer
- Why Arc Network?
- How It Works
- Supported Platforms
- Quick Start
- Project Structure
- Tech Stack
- License
Self-hosted platforms empower creators with independent communities, but traditional payment gateways fail to support micro-contributions. High minimum fees make it impossible for viewers to tip a few cents or pay tiny rates per second without losing most of the value to transaction fees.
Tessera solves this by bringing frictionless, sub-penny payment options directly to where the creators and audiences already live.
By integrating as a lightweight, non-intrusive payment sidecar, Tessera attaches payments to events that these platforms naturally emit (webhook events, presence events, or access logs). Creators gain access to seamless monetization, and viewers pay only for what they consume - all without requiring complex payment configurations from the host.
Implementing micro-billing or per-second streaming payments is economically impossible on traditional fiat rails (where Stripe or PayPal transaction fees impose a high floor, e.g., 30¢ + 2.9%). Other decentralized networks also struggle because users must acquire and hold separate, volatile native tokens just to pay for network transaction fees.
Tessera solves this by running its settlement core on the Arc Network:
- USDC-Native Gas: Viewers and creators interact entirely with USDC. Gas fees are paid directly in USDC, removing the friction of holding separate native gas tokens.
- Frictionless Micropayments: With an average transaction cost of ~$0.01 USDC, the economic floor is removed. A creator can collect micro-tips or per-second watch royalties without fees consuming their revenue.
- Decentralized Self-Hosting: Fiat alternatives (like Liberapay) must centralize their deployments to pool donations and bypass payment processor fees. Because Arc's fees are sub-penny, every instance administrator can run their own self-hosted Tessera sidecar independently, keeping the federated web truly decentralized.
Tessera is a payment sidecar that integrates with your self-hosted platforms via native APIs, plugins, or webhook events.
flowchart LR
subgraph Client
V((Viewer / Fan))
end
subgraph Server
T{Tessera Sidecar}
P[Self-Hosted Platform]
end
subgraph Financial Layer
C[Circle x402 Gateway]
W((Creator's Wallet))
end
V -- "1. Consumes Content" --> P
P -- "2. Emits Native Events" --> T
V -. "3. Approves Nanopayments" .-> T
T -- "4. Batches & Settles" --> C
C -- "5. Final Payout (USDC)" --> W
style T fill:#ffb300,stroke:#333,stroke-width:2px,color:#000
style W fill:#6C63FF,stroke:#fff,stroke-width:2px,color:#fff
- Client Connection: The platform or its native plugin loads Tessera's lightweight frontend paywall overlay (
paywall.js) for the viewer. - Wallet & Gateway Deposit: The viewer funds a session. Circle's User-Controlled Wallets (UCW) SDK creates a non-custodial Smart Contract Account (SCA) on the Arc Network, and deposits USDC into the Circle Gateway.
- Off-Chain Streaming: While watching, the client signs off-chain EIP-3009 payment signatures every second. This enables gasless streaming: no blockchain transactions are executed while playing.
- Batch Settlement: When the viewer leaves, Tessera stops billing. The client calls
/end-session, triggering the Circle Gateway to batch-settle the accumulated balance to the creator and refund any unused balance to the viewer.
| Platform | Integration Type | Status |
|---|---|---|
| PeerTube | Plugin + Webhook Connector | Live |
| Owncast | Webhook Connector | Soon (In Development) |
git clone https://github.com/JaDi03/tessera.git
cd tessera
npm install
npm run setupFor detailed installation, configuration, and deployment guides, see the Quick Start Guide.
tessera/
├── docs/ # MkDocs documentation site source files
├── scripts/ # Setup and deployment helper scripts
├── src/
│ ├── connectors/ # Platform-specific webhook and integration adapters
│ ├── core/ # Core settlement engine and gateway integration
│ ├── ui/ # Injected client paywall interface assets
│ ├── server.ts # Express server configuration and routing
│ └── tessera.config.ts # Main sidecar configuration registry
├── package.json # Engine dependencies and execution scripts
└── tsconfig.json # TypeScript configuration
- Circle x402 Gateway: Protocol for batched off-chain micropayments.
- Circle UCW SDK: User-controlled wallets on Arc Testnet.
- Circle CCTP Forwarding: Cross-chain USDC deposits from other EVM networks.
- Arc Testnet: USDC-native gas fee layer.
- EIP-3009: Off-chain transfer signatures.
- viem: EVM interaction library.
- Express: Web server serving sidecar APIs and static web assets.
Apache-2.0 - see LICENSE for details.