Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

passport package

Overview

Package passport is an on-chain identity and lifecycle registry for autonomous (AI) agents.

The premise: a long-lived agent identity is *weak* evidence. The code, model, prompt, owner, operating keys and runtime behind an identity can all change silently. A blockchain cannot preserve an agent's cognition; it can only preserve the *history* of what an identity claimed to be and who controlled it, in an order nobody can rewrite.

So this realm does not try to prove an agent is trustworthy. It records registration, ownership transfers, operator changes and — crucially — runtime changes, and it surfaces them so a reader can judge how much the identity has drifted since it was created.

Functions

AddEndpoint

func AddEndpoint(cur realm, id, kind, uri string)

AddEndpoint advertises a discovery/interaction endpoint.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "AddEndpoint" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "topaz-1" -remote "https://rpc.topaz.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.topaz.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "AddEndpoint" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "topaz-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.topaz.testnets.gno.land" call.tx
  

AddOperator

func AddOperator(cur realm, id string, op address)

AddOperator authorizes an additional address to act as this agent.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "AddOperator" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "topaz-1" -remote "https://rpc.topaz.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.topaz.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "AddOperator" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "topaz-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.topaz.testnets.gno.land" call.tx
  

Count

func Count() int

Count returns the number of registered agents.

Command

gnokey query vm/qeval -remote "https://rpc.topaz.testnets.gno.land" -data "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport.Count()"

Result

DeclareCapability

func DeclareCapability(cur realm, id, capab string)

DeclareCapability records a capability the agent claims to offer. Note: this is a *claim*, not proof. Validation belongs to other realms (see the receipt and gnomem demos).

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "DeclareCapability" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "topaz-1" -remote "https://rpc.topaz.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.topaz.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "DeclareCapability" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "topaz-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.topaz.testnets.gno.land" call.tx
  

Exists

func Exists(id string) bool

Exists reports whether an id is registered.

Param

Command

gnokey query vm/qeval -remote "https://rpc.topaz.testnets.gno.land" -data "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport.Exists()"

Result

IsActive

func IsActive(id string) bool

IsActive reports whether the agent exists and is in the active state.

Param

Command

gnokey query vm/qeval -remote "https://rpc.topaz.testnets.gno.land" -data "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport.IsActive()"

Result

IsOperator

func IsOperator(id string, addr address) bool

IsOperator reports whether addr is the owner or a listed operator of an active agent — the check other realms should gate agent actions on.

Params

Command

gnokey query vm/qeval -remote "https://rpc.topaz.testnets.gno.land" -data "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport.IsOperator(,)"

Result

Reactivate

func Reactivate(cur realm, id string)

Reactivate returns a suspended agent to active. A retired agent cannot be reactivated.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Reactivate" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "topaz-1" -remote "https://rpc.topaz.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.topaz.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Reactivate" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "topaz-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.topaz.testnets.gno.land" call.tx
  

Register

func Register(cur realm, id, runtimeDesc string)

Register creates a new agent identity owned by the caller. The id must be a non-empty, previously unused slug.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Register" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "topaz-1" -remote "https://rpc.topaz.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.topaz.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Register" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "topaz-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.topaz.testnets.gno.land" call.tx
  

Render

func Render(path string) string

Render shows the registry, or a single agent's profile + lifecycle log at r/moul/agents/passport:<id>. The profile deliberately foregrounds drift: how many owner and runtime changes have happened since creation.

Param

Command

gnokey query vm/qeval -remote "https://rpc.topaz.testnets.gno.land" -data "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport.Render()"

Result

Retire

func Retire(cur realm, id string)

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Retire" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "topaz-1" -remote "https://rpc.topaz.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.topaz.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Retire" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "topaz-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.topaz.testnets.gno.land" call.tx
  

SetRuntime

func SetRuntime(cur realm, id, runtimeDesc string)

SetRuntime records a change of the agent's runtime/model. This is logged loudly: a runtime change means the thing acting under this identity is (partly) a different thing than before.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "SetRuntime" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "topaz-1" -remote "https://rpc.topaz.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.topaz.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "SetRuntime" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "topaz-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.topaz.testnets.gno.land" call.tx
  

Suspend

func Suspend(cur realm, id string)

Suspend and Retire move the lifecycle forward. Retire is terminal.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Suspend" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "topaz-1" -remote "https://rpc.topaz.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.topaz.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Suspend" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "topaz-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.topaz.testnets.gno.land" call.tx
  

Transfer

func Transfer(cur realm, id string, newOwner address)

Transfer hands ownership of an agent to a new address. Only the current owner may call it. Ownership changes are the single most important thing to keep visible: the operator behind an identity may become someone else.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Transfer" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "topaz-1" -remote "https://rpc.topaz.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.topaz.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport" -func "Transfer" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "topaz-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.topaz.testnets.gno.land" call.tx
  

Get

func Get(id string) Agent

Get returns a copy of the agent record; panics if unknown.

Param

Command

gnokey query vm/qeval -remote "https://rpc.topaz.testnets.gno.land" -data "gno.land/r/g1manfred47kzduec920z88wfr64ylksmdcedlf5/agents/passport.Get()"

Result