Skip to content

JaDi03/tessera

Repository files navigation

Tessera Logo

Payment Sidecar for Self-Hosted Platforms

Build Status Version License

Node.js TypeScript Circle x402 Arc Testnet


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

Table of Contents


The Self-Hosted Monetization Layer

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.


Why Arc Network?

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.

How It Works

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
Loading
  1. Client Connection: The platform or its native plugin loads Tessera's lightweight frontend paywall overlay (paywall.js) for the viewer.
  2. 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.
  3. 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.
  4. 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.

Supported Platforms

Platform Integration Type Status
PeerTube Plugin + Webhook Connector Live
Owncast Webhook Connector Soon (In Development)

Quick Start

git clone https://github.com/JaDi03/tessera.git
cd tessera
npm install
npm run setup

For detailed installation, configuration, and deployment guides, see the Quick Start Guide.


Project Structure

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

Tech Stack


License

Apache-2.0 - see LICENSE for details.

About

Platform-agnostic USDC nanopayment sidecar for self-hosted platforms. Powered by Circle x402 on Arc.

Topics

Resources

License

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors