# What is Next?

## > jump into a possible future

As science fiction readers with tech skills, we can imagine a futuristic distributed system where everything are just coordinated ZEC transfers carrying *encrypted action* *messages and metadata on MEMO fields.*

For example, today, the weak side of privacy in *Moeda* are the known liquidity providers, who needs to send the private *bank\_history metadata,* so the system can detect a payment was done to execute the ordered Contract. This could be wisely solved with an *extended* logic on top of the Zcash node on the Provider's side, as a layer, privately reading his own bank account history, observing new payments and sending a *payment\_done event:message* to the pool's zaddr. We call it a *Smart Node.* In practical terms: if *Moeda* encodes the *Contract* UUID in the QRCode to the buyer, paid to the Agent, then, when the traditional payment is received with an identifier, this could be sent as a ZEC encrypted transaction to *Moeda Smart Node* as a proof it was received, and the Contract is executed with no need to *know* their bank history, in the Zero-knowledge spirit :D

![](/files/-Mdr74GuEqO1CjVhop_L)

*Moeda* started to conceptualize a [*Sentinel*](https://code.kripto.solutions/kripto/sentinel) *framework*, observing and acting upon the received MEMO messages of up to 512 bytes to a node. [*ZecPages*](https://zecpages.com/) is an interesting example on how people can LIKE or REPLY messages, as some basic *message-oriented (or* event-based) architecture using *Zcash as a distributed privacy layer.* They could also benefit from our framework, being able to abstract a *Smart Node* logic, focusing all development effort on the Board logic itself.

## < back to the next present

We had an exponential to-do list of tasks while developing *Moeda,* some we had to deprioritise - thankful for some project management collaboration, or we would still be playing around with the *Nodes* having triggered events from MEMO messages.

Practical next steps are,

* [ZeroMQ](https://zeromq.org/)
  * While, theoretically, our server+database can handle 300 requests per second, and *Oracle* & *Swaps* seems to run well coordinated on a few Threads, a basic *Chaos Engineering* evidences we need a proper asynchronous Message Queuing to handle it all before things scale out.&#x20;
    * We would like to prepare for concurrent Contract requests before an official launch.
* Websockets!
  * Prices should change on the front-end as they change on the back-end.
  * So do the Contract's status after a QR-Code is paid.
* Export RESTful services API as [ZKSwap](https://en.wiki.zks.org/interact-with-zkswap/restful-api) do, beyond [actual](https://moeda.casa/tokens.json)
  * Terminal CLI app
  * Implement a CryptoDealer Bot on Telegram
* DevOps
  * ~~precompile assets for deploy~~
  * ~~oracle workers as systemd.services~~
  * basic DDoS protection on NGINX
  * Docker image + scripts for a suddenly server change
  * keep server sockets alive for active connections during a new deploy
* Our Dev to-do list has many open tasks and ideas to refine the system as a hole.
  * UX
    * checkbox to "*hide wallet address*" on QR-code page
      * so "other payer" can become the buyer, unaware of Contract's wallet destination.
        * Contracts ($BRL->$XYZ orders) could be generated to third-party processes
    * Enhance CSS for mobile users
    * Adapt as a Progressive Web App
* Test! Test! Test! Test! Test! Test!&#x20;
* We also imagined an \~200-token to Shielded-ZEC Swap service, abstracting parts of our system.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kripto-solutions.gitbook.io/moeda-casa/what-is-next.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
