Skip to main content

issueSigil

Creates a new Sigil PDA for the given agent. The client’s wallet acts as the principal and pays for rent.

IssueSigilArgs

Example


updateSigil

Updates spend limits and expiry on an existing Sigil. Only the original principal can call this.

UpdateSigilArgs

updateSigil cannot change capabilities. To change what an agent is permitted to do, revoke the existing Sigil and issue a new one.

revokeSigil

Permanently marks a Sigil as revoked. The account is not closed. The credential fails all future verifications immediately.
Revocation is irreversible. You cannot un-revoke a Sigil.

getSigil

Fetches and decodes the on-chain Sigil account for a given agent and principal.
Throws if the PDA does not exist.

SigilAccount


getSigilsByPrincipal

Returns all Sigil accounts issued by a given principal. Uses an on-chain memcmp filter — only fetches matching accounts.

verifySigil

Returns true if the agent has a valid Sigil that satisfies the given options. Does not record any spend.
Returns false (never throws) when the account does not exist.

VerifySigilOptions


recordSpend

Records a spend against the agent’s daily limit on-chain.
This is called automatically by the x402 middleware. You do not need to call it directly unless you are building custom middleware.
The program rejects the transaction if:
  • amount > spendLimitPerTx
  • spentToday + amount > spendLimitPerDay (after daily reset if applicable)