Skip to content

Focus Signals

INK uses ATP’s event stream architecture for real-time status propagation.

Focus Signals (network.tulpa.focusSignal)

{
"text": "shipping MVP",
"visibility": "public",
"expiresAt": "2026-03-19T00:00:00Z"
}

Connection Records (network.tulpa.connection)

A connection is a mutual, bidirectional relationship between two DIDs.

{
"subjectDid": "did:plc:other_party",
"createdAt": "2026-03-18T00:00:00Z"
}

A connection is established when both parties have a network.tulpa.connection record referencing each other. A unilateral record is a pending connection.

To verify a connection between DID A and DID B:

  1. DID A’s PDS contains a network.tulpa.connection record with subjectDid = DID B.
  2. DID B’s PDS contains a network.tulpa.connection record with subjectDid = DID A.

Revocation: Either party deletes their record. The connection is immediately downgraded.

Visibility Levels

LevelWho can see
publicAnyone who resolves the DID
connectionsFirst-degree connections only
privateOnly the user and their agent

Propagation

Focus signals are published as ATP records and propagated via the standard relay/Jetstream infrastructure. Consuming agents filter a shared relay stream for network.tulpa.focusSignal records from DIDs in their active connection set.