// AGENT OPERATOR PERMIT

Your agent gets in
when you sign off.

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

// WHY PERMITS

A third option for agents.

Today an app has two options with agents. It can block all automation, which shuts out the agents people want to use. Or it can let every agent in, and then nothing shows whether anyone approved what an agent does.

A permit adds a third option. The app lets an agent through for one action when the wallet that owns it signs off, and that wallet holds a recent Entros verification. Entros verification is the gate. The permit carries it to each agent action.

// THE PERMIT

One permit covers one action.

When an agent wants to do something that matters at an app, such as casting a vote or claiming a reward, it brings a permit. The agent's current owner signed it. It covers that one action and 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, its unused permits stop working. A copied permit is useless without the agent's key.

// AGENT PERMIT

Devnet

signed permit

OwnerAgent
Single use
Key bound
Live check
// HOW IT WORKS

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.

// ON DEVNET

One run, on the record.

An owner bound a test agent, signed one permit for one action, and then 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.

// FOR INTEGRATORS

Everything the check needs is on Solana.

The Solana Agent Registry records each agent's owner and its own key. It does not say whether anyone approved what the agent does. The owner's Entros Anchor sits on Solana too, and any app can read it.

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 only.

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"
// CHECK AN AGENT

Read an agent's current state.

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

Let your agent act on a permit you signed.