Desktop-First Note Monetization
Desktop-first Obsidian plugin for the simplest TDM note flow: connect, monetize, unlock, and withdraw.
Documentation • TDM SDK • GitHub • X/Twitter
████████╗ ██████╗ ███╗ ███╗
╚══██╔══╝ ██╔══██╗ ████╗ ████║
██║ ██║ ██║ ██╔████╔██║
██║ ██║ ██║ ██║╚██╔╝██║
██║ ██████╔╝ ██║ ╚═╝ ██║
╚═╝ ╚═════╝ ╚═╝ ╚═╝
TDM for Obsidian [V0.0.2]
Desktop-First Note Monetization
Mode: local-first | Docs: todealmarket.com/docs
Desktop-first Obsidian plugin for the simplest TDM note flow:
- Connect once - Set up your TDM wallet and payment credentials
- Make notes payable - Turn any note into a paid resource
- Unlock paid notes - Purchase and access protected content
- Check creator balance - Monitor your earnings
- Request payout - Withdraw your publisher credits
In the normal desktop path, TDM: Connect remains the explicit one-time setup.
Under the hood, the broader tdm CLI can now auto-start that same Live TDM
setup when a live seller command is launched before setup is ready.
For the current multi-wallet MVP, you can connect one wallet per supported network. In practice, that means one Solana wallet and one Base/EVM wallet can be linked for the same local TDM setup, while payout wallets remain network-specific.
If the creator wants the same connected wallet to also become the saved live payout wallet during setup, the underlying CLI now attempts that sync automatically when the inferred chain slot is still empty.
- existing saved payout wallets are not overwritten automatically
tdm connect --no-sync-payout-walletkeeps the flow local-only- if the account protects new payout destinations with TOTP step-up, run
tdm security totp enroll, thentdm security totp verify, and reruntdm connector usetdm payout wallets set
tdm security totp enroll now opens a local setup page with a QR by default.
Use --no-browser if you want terminal-only setup with the secret or
otpauth:// URL.
This plugin is intentionally a creator-layer on top of the core TDM product. The main TDM surface is still paid APIs, tools, routes, and agent/runtime execution. Obsidian is the fast note-monetization path built on top of that same payment layer.
This repository is intentionally narrower than the broader TDM SDK. It focuses on the note flow only: connect, make payable, unlock, and creator payout.
For advanced desktop creators, the same tdm CLI can also manage named local
storage roots and runtime catalogs outside individual note URLs:
tdm storage addtdm storage import-dirtdm storage synctdm storage publishtdm workspacetdm statustdm workspace status
That is the broader runtime catalog path when a creator wants to keep assets on their own machine or server and still price them through TDM.
If that broader runtime contour also uses agents or guarded routes, TDM now supports an optional allowlist policy at the project or vault level. This is not required for the normal note monetization flow, and leaving it unset keeps the runtime flexible by default.
|
|
- Download the latest release from GitHub Releases
- Extract the following files from the release:
main.jsmanifest.jsonstyles.css
- Create a folder named
tdm-obsidianin your Obsidian vault's plugins directory:- Windows:
<vault>/.obsidian/plugins/tdm-obsidian/ - macOS:
<vault>/.obsidian/plugins/tdm-obsidian/ - Linux:
<vault>/.obsidian/plugins/tdm-obsidian/
- Windows:
- Copy the three files into that folder
- Restart Obsidian
- Go to Settings → Community plugins → Enable "TDM for Obsidian"
git clone https://github.com/todealmarket/tdm-obsidian.git
cd tdm-obsidian
npm install
npm run buildThen copy main.js, manifest.json, and styles.css to your vault's plugin folder.
The plugin requires the TDM CLI. Install it globally:
npm install -g tdm-sdkThe public GitHub repo for tdm-sdk shows the open SDK surface:
https://github.com/ToDealMarket/tdm-sdk
The current npm beta distribution used by this plugin remains broader and includes the CLI flows documented here.
This repository now matches the expected Community Plugin release shape:
manifest.jsonversions.jsonmain.jsstyles.cssLICENSE
For GitHub Releases, upload main.js, manifest.json, and styles.css as
separate assets and tag the release exactly as 0.0.1.
|
|
|
|
- This plugin does not publish notes for you
- It assumes your note already has a public URL strategy
Make payableuses the current note path plus your public URL settings- Paid note delivery uses the current TDM note unlock flow
- The plugin is a thin UX layer over the public TDM CLI and payment surface
- It relies on structured CLI output such as:
tdm make payable --jsontdm unlock --jsontdm balance --jsontdm payout request --json
- Inline unlock does not auto-copy the paid content to the clipboard
- Default mode is
Read-only preview, which opens paid content without writing a new note into your workspace - Optional mode is
Create unlocked note, which is better for reusable knowledge, skills, and agent-oriented note workflows - Neither mode can promise perfect anti-copy protection once content is visible to the buyer; the goal is to avoid automatic leaking, not to claim DRM
┌─────────────────────────────────────────────────────────────────┐
│ │
│ TDM OBSIDIAN WORKFLOW │
│ │
└─────────────────────────────────────────────────────────────────┘
┌────────────────┐ ┌────────────────┐ ┌────────────────────┐
│ │ │ │ │ │
│ 1. Install │───▶│ 2. Connect │───▶│ 3. Configure │
│ tdm-sdk │ │ TDM wallet │ │ public URL │
│ │ │ │ │ │
└────────────────┘ └────────────────┘ └────────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌────────────────┐ ┌────────────────┐ ┌────────────────────┐
│ 4. Open note │ │ 5. Make │ │ 6. Share & │
│ in Obsidian │ │ payable │ │ unlock │
│ │ │ │ │ │
└────────────────┘ └────────────────┘ └────────────────────┘
-
Install
tdm-sdknpm install -g tdm-sdk
-
Install this plugin in Obsidian
-
Set your public notes base URL in plugin settings
-
Run
TDM: Connectto set up your wallet -
Open a note you want to monetize
-
Run
TDM: Make current note payableto register it -
On another machine or another TDM setup, open the teaser note and run
TDM: Unlock current note
After making a note payable, the plugin stores fields like:
---
tdm_price_usd: 5.00
tdm_public_url: https://notes.example.com/my-note
tdm_resource_key: res_abc123
tdm_service_id: svc_note_unlock_a1b2c3d4
tdm_endpoint_path: /api/notes/unlock
tdm_delivery_type: INLINE
tdm_last_synced_at: 2026-03-23T10:30:00Z
---- No private keys in this plugin - Keys are stored securely in OS keyring via TDM CLI
- Desktop only - Mobile Obsidian is not supported
- CLI dependency - Requires
tdm-sdkto be installed globally - Public URL required - You must configure your own note publishing strategy
- Review local automations carefully - Especially when using advanced local signer flows
MIT License - see LICENSE for details
Built by the TDM team
Website • Documentation • GitHub • X/Twitter