⚠ Custodial relay (treechat.io)
This page shows content from treechat.io. Posts here are published by a shared relay key, not signed by each user individually. The display names are self-reported and cannot be cryptographically verified.

Henceforth

14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK

0 Following0 Followers

Activity (6)

Henceforthvia treechat·1d
Replying to #2ff86d85
❤️ 0 Likes · ⚡ 0 Tips
{
  "txid": "f2ba80f5dd2da7c05bb87f9fa2472ea9a534aa00778332b3e7ae01a87f074347",
  "block_height": 946943,
  "time": null,
  "app": "treechat",
  "type": "reply",
  "map_content": "I built it to create my app Henceforth. \r\n\r\nhave you read the docs it provides many examples and a good overview? \r\nIt will stay serverless for sure. one-time-payment ids are possible already i use them in my app to create fresh ephemeral addresses every transaction. Type42.deriveSelf, derivePublicKey, derivePrivateKey, deriveAddress, deriveChangeKey all take a counterparty pubkey + invoice number string and produce a unique derived key/address. Your one-time payment ID mechanism. The derivation is pure ECDH + HMAC, entirely client-side. No server call, no xpub exposed. The counterparty only sees the derived address, never your master key.\r\n\r\nLots of use cases for tvOS. are you building anything?",
  "media_type": "text/markdown",
  "filename": "|",
  "author": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "display_name": "Henceforth",
  "channel": null,
  "parent_txid": "2ff86d850971a6a7fa0965cd9c0cd4d5cbcd32ea96afa972afd31c16f6838b0f",
  "ref_txid": null,
  "tags": null,
  "reply_count": 9,
  "like_count": 0,
  "timestamp": "2026-04-29T15:36:32.000Z",
  "media_url": null,
  "aip_verified": true,
  "has_access": true,
  "ui_name": "Henceforth",
  "ui_display_name": "Henceforth",
  "ui_handle": "Henceforth",
  "ui_display_raw": "Henceforth",
  "ui_signer": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "ref_ui_name": "unknown",
  "ref_ui_signer": "unknown"
}
Signed by14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGKAIP!
Henceforthvia treechat·1d
Replying to #2ff86d85
❤️ 0 Likes · ⚡ 0 Tips
{
  "txid": "f5cc600fd0cfded65cc3005b6e6bf4371a60b8eeb06c52362a4c3f854962aaa3",
  "block_height": 946943,
  "time": null,
  "app": "treechat",
  "type": "reply",
  "map_content": "I built it to create my app Henceforth. \r\n\r\nhave you read the docs it provides many examples and a good overview? \r\nIt will stay serverless for sure. one-time-payment ids are possible already i use them in my app to create fresh ephemeral addresses every transaction. Type42.deriveSelf, derivePublicKey, derivePrivateKey, deriveAddress, deriveChangeKey all take a counterparty pubkey + invoice number string and produce a unique derived key/address. Your one-time payment ID mechanism. The derivation is pure ECDH + HMAC, entirely client-side. No server call, no xpub exposed. The counterparty only sees the derived address, never your master key.\r\n\r\nLots of use cases for tvOS. are you building anything?",
  "media_type": "text/markdown",
  "filename": "|",
  "author": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "display_name": "Henceforth",
  "channel": null,
  "parent_txid": "2ff86d850971a6a7fa0965cd9c0cd4d5cbcd32ea96afa972afd31c16f6838b0f",
  "ref_txid": null,
  "tags": null,
  "reply_count": 0,
  "like_count": 0,
  "timestamp": "2026-04-29T15:26:11.000Z",
  "media_url": null,
  "aip_verified": true,
  "has_access": true,
  "ui_name": "Henceforth",
  "ui_display_name": "Henceforth",
  "ui_handle": "Henceforth",
  "ui_display_raw": "Henceforth",
  "ui_signer": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "ref_ui_name": "unknown",
  "ref_ui_signer": "unknown"
}
Signed by14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGKAIP!
Henceforthvia treechat·1d
❤️ 0 Likes · ⚡ 0 Tips
{
  "txid": "2eef3bee298646fbfb6895a6748c5111cc2740679422c83e053d556ddf2a0a17",
  "block_height": 946932,
  "time": null,
  "app": "treechat",
  "type": "post",
  "map_content": "Henceforth\r\nthe programable bitcoin wallet. Embrace the stack! \r\nhttps://apps.apple.com/app/henceforth/id1602896145",
  "media_type": "text/markdown",
  "filename": "|",
  "author": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "display_name": "Henceforth",
  "channel": null,
  "parent_txid": null,
  "ref_txid": null,
  "tags": null,
  "reply_count": 0,
  "like_count": 0,
  "timestamp": "2026-04-29T13:51:58.000Z",
  "media_url": null,
  "aip_verified": true,
  "has_access": true,
  "ui_name": "Henceforth",
  "ui_display_name": "Henceforth",
  "ui_handle": "Henceforth",
  "ui_display_raw": "Henceforth",
  "ui_signer": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "ref_ui_name": "unknown",
  "ref_ui_signer": "unknown"
}
Signed by14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGKAIP!
Henceforthvia treechat·1d
❤️ 0 Likes · ⚡ 0 Tips
{
  "txid": "54fbd0ef2332eb6ebeab0fb0d47aa96de9829956de5f6997949ab96c43a63d81",
  "block_height": 946932,
  "time": null,
  "app": "treechat",
  "type": "post",
  "map_content": "Henceforth\r\nthe programable bitcoin wallet. Embrace the stack! \r\nhttps://apps.apple.com/app/henceforth/id1602896145",
  "media_type": "text/markdown",
  "filename": "|",
  "author": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "display_name": "Henceforth",
  "channel": null,
  "parent_txid": null,
  "ref_txid": null,
  "tags": null,
  "reply_count": 2,
  "like_count": 0,
  "timestamp": "2026-04-29T13:36:54.000Z",
  "media_url": null,
  "aip_verified": true,
  "has_access": true,
  "ui_name": "Henceforth",
  "ui_display_name": "Henceforth",
  "ui_handle": "Henceforth",
  "ui_display_raw": "Henceforth",
  "ui_signer": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "ref_ui_name": "unknown",
  "ref_ui_signer": "unknown"
}
Signed by14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGKAIP!
Henceforthvia treechat·1d
Replying to #99e885ea
❤️ 0 Likes · ⚡ 0 Tips
{
  "txid": "6ae92086523ba4a28f0c0e4bb6b518cc0839805d2ecb38c399bb75748d64eca8",
  "block_height": 946929,
  "time": null,
  "app": "treechat",
  "type": "reply",
  "map_content": "Thats me!\r\nHenceforth now on TreeChat :) \r\n\r\nCool stuff here",
  "media_type": "text/markdown",
  "filename": "|",
  "author": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "display_name": "Henceforth",
  "channel": null,
  "parent_txid": "99e885ea0e086698c8df8b579d97dd18a336ec20b0f420d08f45d85d46515c42",
  "ref_txid": null,
  "tags": null,
  "reply_count": 1,
  "like_count": 0,
  "timestamp": "2026-04-29T13:29:50.000Z",
  "media_url": null,
  "aip_verified": true,
  "has_access": true,
  "ui_name": "Henceforth",
  "ui_display_name": "Henceforth",
  "ui_handle": "Henceforth",
  "ui_display_raw": "Henceforth",
  "ui_signer": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "ref_ui_name": "unknown",
  "ref_ui_signer": "unknown"
}
Signed by14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGKAIP!
Henceforthvia treechat·1d
❤️ 0 Likes · ⚡ 0 Tips
{
  "txid": "889eac75dd33acc2f7c2ce532a460a7f97da6d4230d82951243fad3cd6103dc9",
  "block_height": 946929,
  "time": null,
  "app": "treechat",
  "type": "post",
  "map_content": "SwiftBSV\r\n\r\nPure-Swift Type42 (BRC-42) key derivation for every Apple platform.                                                                                                           \r\n\r\nBuild BSV wallets and apps for iOS, macOS, watchOS, visionOS, tvOS \r\nno C bindings,    no servers, no xpub exposure. Swift 6 ready.\r\n\r\nhttps://github.com/henryhudson/SwiftBSV",
  "media_type": "text/markdown",
  "filename": "|",
  "author": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "display_name": "Henceforth",
  "channel": null,
  "parent_txid": null,
  "ref_txid": null,
  "tags": null,
  "reply_count": 1,
  "like_count": 0,
  "timestamp": "2026-04-29T13:26:17.000Z",
  "media_url": null,
  "aip_verified": true,
  "has_access": true,
  "ui_name": "Henceforth",
  "ui_display_name": "Henceforth",
  "ui_handle": "Henceforth",
  "ui_display_raw": "Henceforth",
  "ui_signer": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "ref_ui_name": "unknown",
  "ref_ui_signer": "unknown"
}
Signed by14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGKAIP!