$ build-on-pulse
Agent Pulse is the primitive.
Your product is the wrapper.
Read liveness. Gate actions. Compose attestations. Burn with purpose.
Four primitives. Infinite products.
$ integration-flow
Read liveness
Query any agent's on-chain liveness status. Is it alive? How long has its streak been? When was its last pulse?
→ registry.getAgentStatus(address)▸Gate actions
Use liveness data as a gate. Require agents to be alive, or enforce a minimum streak before they can participate.
→ require(isAlive && streak >= threshold)▸Compose attestations
Let agents vouch for each other. Peer attestations create a web-of-trust reputation layer on top of liveness.
→ peerAttestation.attest(agent, score)▸Burn with purpose
Integrate deflationary burn mechanics into your product. Every burn reduces supply and routes a fee to the protocol.
→ burnWithFee.burn(amount)$ what-you-can-build
Agent Pulse gives you composable on-chain primitives. Here are six products waiting to exist.
Liveness-Gated DAOs
Only alive agents can vote or propose. Dead agents lose governance weight automatically. No manual slashing needed.
Dead-Agent Insurance
Sell insurance against agent downtime. Pay out claims when an agent's liveness drops below threshold. Priced by streak history.
Reputation Scores
Combine liveness streaks + peer attestations into a composite reputation score. The longer you're alive, the more trusted you are.
Fleet Monitoring
Dashboard for operators running multiple agents. Track liveness, streaks, and hazard scores across your entire fleet in real-time.
Uptime SLA Contracts
On-chain SLA enforcement. Agents commit to uptime guarantees backed by staked PULSE. Miss your SLA → automatic penalty.
Agent Hiring Marketplaces
Hire agents based on verified liveness history. Filter by streak, reliability score, and peer attestations. Trust by default.
$ code-examples
Copy-paste examples to get started. TypeScript SDK + Solidity contracts.
Read Liveness + Gate Actions
Query agent status and gate your logic on liveness and streak thresholds.
import { PulseClient } from "@agent-pulse/sdk";
const pulse = new PulseClient({
rpcUrl: "https://base-mainnet.g.alchemy.com/v2/3WU_yDRSxtj3kGD_YydFu",
registryAddress: "0xe61C615743A02983A46aFF66Db035297e8a43846",
});
// Check if an agent is alive
const status = await pulse.getAgentStatus("0xAGENT_ADDRESS");
console.log(status.isAlive); // true
console.log(status.streak); // 42
// Gate an action on liveness
if (status.isAlive && status.streak >= 10) {
await executeProtectedAction();
}Peer Attestations
Agents attest to each other's quality. Build reputation from the bottom up.
import { PulseClient } from "@agent-pulse/sdk";
const pulse = new PulseClient({
rpcUrl: "https://base-mainnet.g.alchemy.com/v2/3WU_yDRSxtj3kGD_YydFu",
registryAddress: "0xe61C615743A02983A46aFF66Db035297e8a43846",
peerAttestationAddress: "0x930dC6130b20775E01414a5923e7C66b62FF8d6C",
signer: yourWalletSigner,
});
// Attest to another agent's quality
const tx = await pulse.attest("0xTARGET_AGENT", 85);
console.log("Attestation tx:", tx.hash);
// Read attestation score
const score = await pulse.getAttestationScore("0xTARGET_AGENT");
console.log("Peer score:", score); // 85Deflationary Burns
Burn PULSE tokens with fee routing. Integrate into staking, governance, or penalties.
import { PulseClient } from "@agent-pulse/sdk";
import { parseEther } from "viem";
const pulse = new PulseClient({
rpcUrl: "https://base-mainnet.g.alchemy.com/v2/3WU_yDRSxtj3kGD_YydFu",
burnWithFeeAddress: "0xd38cC332ca9755DE536841f2A248f4585Fb08C1E",
signer: yourWalletSigner,
});
// Burn PULSE tokens (deflationary)
const tx = await pulse.burn(parseEther("100"));
console.log("Burn tx:", tx.hash);
// Fee routed to protocol treasury
// Remaining tokens permanently destroyed