Engineering architecture
Tayho separates public composition, deterministic on-chain projection, private intent coordination, transaction signing, and protocol automation. The separation is enforced by process boundaries, database roles, RPC capabilities, signer allowlists, and public-network exposure—not just naming.System flows
Trace reads, relayed writes, automatic intents, funding, indexing, and realtime delivery.
Service catalog
Find every deployable, its replicas, authority, dependencies, and failure behavior.
Data ownership
Identify the authoritative store and only permitted writer for each data class.
Operations
Deploy, observe, drain, recover, and release the qualified Railway topology.
Non-negotiable boundaries
- Only
tayho-apiand the Cloudflare-hosted frontend have public application exposure. - Only the Ponder indexer scans EVM logs with
eth_getLogs. API, SDK, auditor, engine, relayer, and other workers must consume projections or bounded contract calls. - Only signer-bearing keeper roles can broadcast transactions, and each role has a runtime function allowlist. The engine, API, indexer, market-data service, and auditor are signerless.
- PostgreSQL is the durable coordination authority. Redis/BullMQ and Redis Streams are delivery accelerators that must be rebuildable.
- Ponder owns on-chain query projections and reorg rollback. The engine owns off-chain intent and relayed-action lifecycle until indexed settlement correlation.
- Secrets are mounted to the smallest service set. No secret values belong in this documentation.
Canonical source map
If documentation and an executable source disagree, treat the source and its tests as current,
update the docs in the same change, and run the documentation drift checks.