Behavioral verification for the agent era.

Your device measures voice, touch and motion, then builds a zero-knowledge proof that Solana verifies.

Three rounds. The rest is automatic.

Each round asks for one spoken word and one traced path.

01Prompt

A fresh word and path every round.

The server draws each word from a curated vocabulary and each path from random parameters. Your browser locks in a round before the next one appears.

02Capture

Voice, touch and motion, recorded together.

The SDK reads the microphone, touch or pointer, and motion sensors where present. Raw motion and touch stay in memory and are discarded after measurement. Phrase audio leaves for transcription and is never stored.

03Measure

308 features across three signals.

Voice gives 170 (pitch, formants, voice quality), motion 81 (jerk, tremor, band energy) and touch 57 (velocity, pressure, curvature).

04Hash

A 256-bit fingerprint.

SimHash maps similar feature sets to nearby fingerprints. Current research measures how well one person's captures stay close while other people and synthetic inputs land apart.

05Commit

Only a salted hash goes on chain.

Poseidon hashes the fingerprint with a large random salt. Both stay on your device, with an encrypted copy on chain when your wallet can sign messages.

06Prove

A zero-knowledge proof of distance.

A Groth16 proof shows both commitments open to fingerprints whose Hamming distance sits at or above the replay floor and below the maximum. The fingerprints stay private.

07Verify

Checked by the service, settled on Solana.

The validation service checks the spoken phrase, signs of synthetic audio, the capture and fingerprints on other wallets. Solana verifies the proof, updates your Anchor and recalculates your Trust Score.

Five layers, one proof.

01

Pulse SDK

Capture and proving on your device

A TypeScript library that records the rounds, extracts the 308 features and builds the commitment and proof.

  • Browser and React Native
  • Groth16 proving in the browser
  • One-call verification through the wallet adapter
02

ZK Circuit

Hamming distance in zero knowledge

A Groth16 circuit proves two Poseidon commitments open to fingerprints within the configured distance range. It does not prove where a capture came from.

  • Groth16 over BN254
  • Poseidon commitments
  • Verified on chain in under 200,000 compute units
03

On-Chain Programs

Three Solana programs

entros-verifier checks proofs. entros-anchor holds the non-transferable Anchor and Trust Score. entros-registry holds protocol configuration and treasury state.

  • Non-transferable Token-2022 Anchor
  • Trust Score from active weekly bins and account age
  • Accounts derived from your wallet
04

Executor Node

Challenges and relay

A Rust gateway that issues signed challenges, applies integrator quotas, forwards evidence to the validator and relays protocol writes.

  • Signed challenges for every session
  • Per-integrator API keys and rate limits
  • Best-effort SAS attestation
05

Validation Service

Private defense layer

A private Rust service screens each capture for synthetic audio, unusual signal statistics and fingerprints seen on other wallets. The protocol stays open. Detection thresholds stay private because they would guide an attacker.

  • Synthetic audio detection
  • Cross-wallet fingerprint registry
  • Uniform public failure reasons

Privacy by architecture.

  • Done on your device

    Capture, measurement and the proof run in your browser. Raw motion and touch never leave it.

  • Words never stored

    Your spoken words leave for transcription, stay in memory and are never written to a log or store.

  • Only what the check needs

    The service receives signal summaries, your words and a rough outline of each path.

  • No identity

    No name, email, document, face scan or social account.

  • A one-way record

    On chain, a salted hash stands in for your fingerprint. The salt stays with you or is encrypted under your wallet's key.

  • Apps read a result

    Apps read your Entros Anchor and Trust Score, never the data behind them.

How Entros checks a capture.

A private service checks each capture before it settles. Published results name the attack class tested and the sample size.

01

Fresh challenges

The server issues a new word and path for every round, then checks the transcript against the issued words before settlement.

02

Feature validation

The private service checks the 308 features for acoustic artifacts, unusual signal statistics and duplicate fingerprints. Its thresholds stay private.

03

Cross-wallet registry

The service compares each new fingerprint with recent fingerprints from other wallets. Population-scale performance is still under evaluation.

04

Distance bounds

Each re-verification proves the new fingerprint sits within the circuit's minimum and maximum distance from the last one. An identical fingerprint fails.

05

Several signals

Voice, touch or pointer, and motion where available. Entros is measuring which combinations separate people, devices and synthesis methods.

06

Trust over time

Trust Score counts active weekly verification bins and account age. A second verification in the same week adds no bin.

07

Fees and rate limits

Fees and rate limits bound how many attempts reach the service. The validation policy decides whether a capture passes.

Verification state on Solana.

A captcha checks one session. Entros is designed to show that a returning person keeps operating the same wallet. Apps read the state and set their own policy.

Wallet-connected verification

Your wallet holds a non-transferable Entros Anchor, a Token-2022 account. Its commitment, Trust Score and history stay readable on chain. The wallet pays the fee and the Anchor's rent.

Evidence behind the research program.

Outside studies shape this research. Their numbers describe their own tests and do not describe Entros on consumer devices.

Single-signal detectors age fast

SONAR Benchmark, ACM 2024-2025

The best classifier caught OpenAI's TTS 78% of the time. Detectors trained on older data lost up to 43% against newer TTS.

Touch and motion fusion

BioMoTouch, arXiv 2025

Fusion reached 99.71% accuracy and a 0.27% equal error rate for authentication, a different task from liveness.

Arm movement perturbs the voice

Pouw et al., Royal Society Proceedings B, 2025

Upper-limb movement changed a sustained vowel's amplitude in the lab. Whether phones can use it for liveness is open.

Physics-informed voice features

VoiceRadar, NDSS 2025

A micro-frequency feature reached a 0.45% equal error rate in the authors' tests.

TTS artifacts run both ways

Warren et al., "Pitch Imperfect", 2025

Neural vocoders can push acoustic perturbation above human levels as well as below, so a detector has to check both directions.

Touch shows up in motion

Device physics, BioMoTouch 2025

A physical touch can leave a time-aligned trace in motion sensors. Whether consumer devices measure it well enough is open.

Measured on your device.
A result any app can check.