# joinstr on Ark

joinstr-ark is a proof of concept that mixes [Ark](https://ark-protocol.org) VTXOs instead of onchain coins, on [Bark](https://gitlab.com/ark-bitcoin/bark), Second's Ark implementation.

Peers meet in a joinstr pool on nostr and register fresh output keys anonymously. All of their VTXOs then go into one Bark round as a single participation. The Ark server sees N inputs and N equal outputs but cannot tell which input paid which output. Either every peer gets a new VTXO or none does.

It runs against an unmodified Ark server (`captaind` 0.7.1) on regtest. It also ran on signet against Second's public Ark server, mixing three 50,000 sat VTXOs in one round.

The nostr transport comes from the [Rust library](../clients/rust.md).

## Links

- [gitlab.com/1440000bytes/joinstr-ark](https://gitlab.com/1440000bytes/joinstr-ark) has the source and the run instructions.
- [docs/signet-demo.md](https://gitlab.com/1440000bytes/joinstr-ark/-/blob/main/docs/signet-demo.md) documents the signet run.
