Your agent acts.
You approve.

An Agent Operator Permit lets an app say yes to an agent for one action. You sign it with the owning wallet, and the app checks it and your Entros verification on devnet.

A third option for agents.

An app blocks automation and loses the agents people want, or admits every agent with no record of who approved what.

A permit is that option: one action, signed by the owning wallet, which holds a current Entros verification. The permit carries that check to every action.

One permit covers one action.

An agent that wants to cast a vote or claim a reward brings a permit. Its current owner signed it, and it expires within 15 minutes.

When the action runs, the app checks three things:

  1. 01The signer still owns the agent.
  2. 02The signer's Entros verification meets the app's rules.
  3. 03The agent's own key handed the permit in.

If the agent changes hands, unused permits stop working. A copied permit is useless without the agent's key.

Owner sends signed permit to Agent. Single use. Key bound. Live check.
  • Single use
  • Key bound
  • Live check

From request to action.

01

Bind the agent key

The owner records the agent's own key in the Solana Agent Registry with one devnet transaction. The key stops counting when the agent changes hands.

02

Sign one request

The app writes a request for one action, and the agent sends its owner a link. The owner reviews it on entros.io and signs with the wallet that owns the agent.

03

Present and settle

The agent adds its own signature and presents the permit. The app checks it against the chain and runs the action once.

One run, on the record.

An owner bound a test agent, signed one permit, and tried four ways to reuse it. Every transaction is on devnet.

  1. Action ran once

    The owner signed one permit and the agent presented it.

  2. Same permit again

    Refused. One permit covers one action.

  3. Copy with another key

    Refused before any chain read.

  4. Held past expiry

    Refused before any chain read.

  5. Held through a sale

    Refused. The agent had a new owner.

Everything the check needs is on Solana.

The Solana Agent Registry records each agent's owner and key, and the owner's Entros Anchor sits on Solana for any app to read. Neither says who approved the agent's action.

Your service checks the permit against the chain with Pulse and @entros/verify. No Entros service takes part. Expired and forged permits fail before any chain read. Devnet today.

import { readAgentState } from '@entros/pulse-sdk';
import { evaluateAgentPermit } from '@entros/verify/agent-permit';

const agentState = await readAgentState({ agent, connection });
const result = evaluateAgentPermit({
  request, operatorSignature, presentationSignature,
  agentState, operatorEvidence, nowSeconds,
});
// result.decision: "allow" | "deny" | "unavailable"

Read an agent's current state.

Enter an agent asset address to read its current owner, agent wallet, and the owner's Entros Anchor from devnet. The example is an Entros test agent.

Let your agent act on a permit you signed.