Skip to main content

Prerequisites

  • Node.js 20+ and pnpm
  • Docker and Docker Compose (for the full three-service stack)
  • A TxLINE account with guest JWT access and an activated API token
  • A Solana keypair (devnet is sufficient for evaluation — mainnet pricing is supported, but anchoring must stay on the same network as the keypair; see Network Consistency)
Tissue’s live daemon has no synthetic fallback. If it can’t reach TxLINE or verify a source proof, it refuses to admit the message rather than quote on unverified data. Expect it to sit idle until real credentials and a real feed are present.

1. Install

2. Configure credentials

Fill in:
1

Get a guest JWT

Tissue exchanges TxLINE’s POST /auth/guest/start for an expiring JWT and renews it automatically on stream reconnect — you do not need to manage this manually beyond providing your TxLINE credentials.
2

Activate an API token

Run the bundled activation script, which handles TxLINE’s POST /api/token/activate response (both the plain-text and JSON response shapes have been observed in practice):

3. Run the full stack

This starts three services: the daemon (decision engine + API), the dashboard (Next.js), and the analyst (read-only forensics layer). Open http://localhost:3000 for the dashboard and http://localhost:8788/state for the raw daemon state.

4. Replay a real captured fixture instead of going live

If you don’t have live credentials handy, or want a deterministic run for evaluation, replay one of the real corpora already captured against TxLINE:
Expected output:
determinism OK means the same corpus was replayed twice internally and produced an identical head hash — this is asserted in CI on every build, not just shown here.

5. Evaluate against real captured data

This hard-fails on a clean checkout with no real TxLINE data — it never falls back to synthetic input, by design. It only reports on genuine captured fixtures.
Next: read Architecture to see exactly what happens between a TxLINE message arriving and a signed decision landing in the ledger.