This guide gets you from clone to a complete token -> intercept -> approval -> ledger flow in about 10 minutes.
- Node.js 22+
- pnpm 9+
- Docker Desktop (for one-command local stack)
git clone https://github.com/sint-ai/sint-protocol
cd sint-protocol
pnpm install
pnpm run buildpnpm run stack:devServices:
- Gateway:
http://localhost:3100 - Dashboard:
http://localhost:3201
Health checks:
curl http://localhost:3100/v1/health
curl http://localhost:3100/v1/readyUse sintctl (operator CLI) to generate two keypairs: issuer + subject.
# Issuer keypair
node apps/sintctl/dist/cli.js keypair create > /tmp/issuer.json
# Subject keypair
node apps/sintctl/dist/cli.js keypair create > /tmp/subject.jsonExtract keys:
ISSUER_PUB=$(jq -r '.publicKey' /tmp/issuer.json)
ISSUER_PRIV=$(jq -r '.privateKey' /tmp/issuer.json)
SUBJECT_PUB=$(jq -r '.publicKey' /tmp/subject.json)node apps/sintctl/dist/cli.js token issue \
--issuer "$ISSUER_PUB" \
--subject "$SUBJECT_PUB" \
--resource ros2:///cmd_vel \
--actions publish \
--private-key "$ISSUER_PRIV" \
--constraints-json '{"maxVelocityMps":0.5}' \
> /tmp/token.json
TOKEN_ID=$(jq -r '.tokenId' /tmp/token.json)node apps/sintctl/dist/cli.js intercept run \
--agent-id "$SUBJECT_PUB" \
--token-id "$TOKEN_ID" \
--resource ros2:///cmd_vel \
--action publish \
--params-json '{"twist":{"linear":0.2,"angular":0.0}}'Depending on policy/tier, this is either:
- allowed immediately (
T0/T1), or - queued for approval (
T2/T3).
List queue:
node apps/sintctl/dist/cli.js approvals listResolve one request:
node apps/sintctl/dist/cli.js approvals resolve \
--request-id <REQUEST_ID> \
--status approved \
--by operator@siteYou can also resolve from the dashboard at http://localhost:3201.
node apps/sintctl/dist/cli.js ledger query --agent-id "$SUBJECT_PUB" --limit 20Or via HTTP directly:
curl "http://localhost:3100/v1/ledger/query?agentId=$SUBJECT_PUB&limit=20"- MCP proxy hardening:
docs/guides/claude-desktop-integration.md - Cursor MCP setup:
docs/guides/cursor-integration.md - Deployment profiles:
docs/guides/docker-deployment.md - Protocol reference:
docs/SINT_v0.2_SPEC.md