Summary

We ask the OpenChat DAO to provide funding of 252,000 USD to OpenChat Labs Ltd for Q1 2026 to pay for the following:

  • Team salaries
  • Marketing
  • Hosting
  • Travel
  • Equipment
  • Administration
  • Other expenses

## Split proposals

This will be split into several proposals due to limits the SNS imposes on how much of the treasury can be withdrawn in a single week.

This is the first proposal for 20,453 ICP (~72,200 USD).

Previous quarter

In the previous quarter, several members of the OpenChat team accepted a contract to help enhance the integration capabilities of Caffeine AI. We felt it was prudent to help

  • preserve the OpenChat treasury while the ICP price is low
  • make Caffeine AI a success which we anticipate will re-invigorate the ICP ecosystem including OpenChat

As such we received reduced funds from the DAO split over 2 proposals.

  1. 16,900 ICP https://dashboard.internetcomputer.org/sns/3e3x2-xyaaa-aaaaq-aaalq-cai/proposal/2123
  2. 7,700 ICP https://dashboard.internetcomputer.org/sns/3e3x2-xyaaa-aaaaq-aaalq-cai/proposal/2098

Based on the ICP price at the time of proposal execution this amounted to 120,000 USD.

OpenChat DAO funds

The ICP funds comprise the following:

Total: ~551,500 ICP

## Developments in Q3 and Q4 of 2025

Native Apps

  • Full re-design for mobile using Figma
    • Provides an interactive prototype with navigation, transitions, themes etc. It's not just about visuals, ergonomics matter.
    • Takes into account the native app capabilities
    • Allows new features to be built more quickly and with visual consistency
  • A beta version of the OpenChat app for Android is available to install as an APK. Please try it out and leave feedback here.

Chats

  • Preserve last selected chat when navigating
  • See channels you have been invited to in the channels list
  • Support inline previews of links to OC messages
  • Merge direct and group chats into one section in the UI
  • Add support for "spoilers" in messages
  • Add optional prompt for message deletion
  • Support custom embedding of instagram posts
  • Hide member joined events in public channels
  • Allow the removal of lapsed members
  • Allow custom datetime for message reminders
  • Add unfollow button to thread preview

Wallet

  • Deposit/withdraw and send/receive USDC and USDT
    • Via integration with OneSec
    • Plus automatic forwarding of tokens from EVM to ICP using our OneSecForwarder canister
  • More reliable and accurate exchange rates
    • Use new ICPCoins endpoint for more accurate exchange rates
    • Also query an ICPSwap endpoint and then use the average
  • Refresh balance periodically when on the "Receive crypto" screen
  • Allow viewing disabled tokens with non-zero balances when configuring wallet

Bots

  • Built and published new bots for general use
    • Moderation bot (configurable AI message moderation)
    • Reaction channeler bot (copy messages into channels by simply reacting with specific emojis)
    • Reminder bot (schedule one-off or recurring reminder messages within chats)
    • Adventure Bot (play 12 classic text-based adventures)
  • Built some new bots to serve as examples for developers
    • Community admin bot (Rust canister)
    • Basic moderation bot (Rust and Motoko canisters)
    • Welcome bot (Motoko canister)
  • Extended existing examples so together they use all the bot API endpoints exposed by OpenChat across all 3 SDKs
  • Extended SDKs
    • Added an API key registry plus example usage to Rust and Motoko SDKs
    • Sign community/chat events with a JWT so bots can be sure they come from OpenChat
    • Allow bots to restrict installation locations

Performance

  • Speed up load time of proposal chats by syncing proposal tallies in the background

Availability

  • We use Cloudflare for edge caching of frontend assets so OpenChat loads quickly world wide. However, when Cloudflare went down last year OpenChat became unavailable. In light of this we made some fixes to support accessing OC directly via the canister url in case this should happen again.

Security

  • Replace prize claim CAPTCHA with re-authentication

Misc

  • On registration ask for an optional recovery email address. This allows users to sign-in via a link sent to their email if they lose access via passkey. Note the email address is not stored anywhere, just a one-way hash.
  • Since the 12 monthly CHIT for CHAT airdrops have ended we have added some enhancements for CHIT holders.
    • Min CHIT earned prize filter
    • Min CHIT earned access gate
    • Spend CHIT for custom profile background
    • Spend CHIT for custom emojis
    • Total CHIT earned badges
  • Numerous other small bug fixes, performance improvements and quality of life improvements

Plans for Q1 2026

Native Apps

  • Finish the long tail of numerous small fixes and tweaks to the Android app
  • Publish the app on the Google Play Store (note this is not guaranteed to succeed given the crypto aspects of OpenChat)
  • Add support to the app to allow its web components to be automatically updated (similar to how the existing web app is updated) so the app can be evolved without requiring a potentially lengthy app store update. This is not always suitable but should cover many update scenarios.
  • Add support to the app to force users to upgrade to the latest version on the app store for scenarios where API changes are not backwards compatible.
  • Rebuild the mobile web app to use the same UI components as the Android app (relatively easy as most code will be shared)
  • Start building the iOS version with the same UI components

Performance

  • Allow OC to be viewed when offline or with a poor connection
    • Reduce the size of data returned to the frontend by skipping any fields with default values
    • When selecting a chat immediately show cached events/messages before loading new/updated events/messages
  • Improve sign-in performance by avoiding loading a new web worker

Availability

  • Allow users to opt-out of WebRTC for instantaneous messaging. In this case these users will still receive messages via the IC as usual but this can take a few seconds. This is phase 1 of a plan to reduce dependency on off-chain and 3rd-party WebRTC components which you can read here.
  • DecideAI are deprecating their proof of unique personhood (PoUP) integration which uses II verified credentials in favour of a direct API integration. We need to build this new integration to keep offering support for PoUP.

Security

  • Allow chat owners to delete message history older than a specified time
  • When an owner enables disappearing messages allow them to delete all existing messages older than the configured threshold
  • Allow users to delete direct chats (only for themselves)
  • Allow users to hide their online status
  • Use a more secure JWT method for proving recent sign-in (for resetting PIN, claiming prizes, etc)
  • Rework system to avoid storing authentication identities in the front-end cache

Bots

  • Add additional endpoints to OpenChat and the Bot SDKs to support more use cases
    • Allow bots to change user roles
    • Allow bots to load installation events to catch up any missed events
    • And add more endpoints as requested by developers...
  • Improve documentation for developers
  • Enhance the moderation bot and enable it in the OpenChat community
  • Enhance the Llama Bot to respond to @mentions
  • Explore ways we can enable developers to make money from their bots

### Misc

  • Work through the outstanding list of enhancements and issues captured here
  • Search all channels in a community (stretch goal)

End-to-end encryption

We have decided to put the development of end-to-end encryption of chat messages on hold for now.

  • All comms between the app frontend and IC canisters are over HTTPS which means messages are already secure in transit
  • Users can already enable disappearing messages which means once the configured threshold has passed all messages will be deleted from frontend and backend
  • DFINITY is migrating all subnets to use replica nodes which run inside AMD SEV virtual machines. Once the OpenChat subnets have undergone this migration all data stored in canisters will be completely inaccessible accept via authorized endpoints exposed by OpenChat. This includes to node providers with physical access to node machines.
  • Given the above, e2e encryption using vetKeys doesn't give much benefit
  • E2e encryption also comes with some downsides
    • It will be complex and time-consuming to develop and then to evolve OpenChat going forwards
    • Allowing users to search for messages is problematic (currently searching happens on the backend but this would be impossible with e2e encryption)

Submitted by @matt on OpenChat

Payload

Proposal to transfer SNS Treasury funds:

Source treasury: ICP Treasury (ICP Ledger)

Amount: 20453.00000000 ICP

Amount (e8s): 2045300000000

Target principal: ozcnp-xcxhg-inakz-sg3bi-nczm3-jhg6y-idt46-cdygl-ebztx-iq4ft-vae

Target account: ozcnp-xcxhg-inakz-sg3bi-nczm3-jhg6y-idt46-cdygl-ebztx-iq4ft-vae

Memo: 0

Overview