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.
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.
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:
- 01The signer still owns the agent.
- 02The signer's Entros verification meets the app's rules.
- 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
signed permit
From request to action.
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.
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.
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 for one action, and then tried four ways to reuse it. Every transaction is on devnet.
Action ran once
The owner signed one permit and the agent presented it.
Same permit again
Refused. One permit covers one action.
Copy with another key
Refused before any chain read.
Held past expiry
Refused before any chain read.
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 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"
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.