Skip to main content
Call after neus_agent_link when identity or delegation is missing. Always reuse the same agentId, agentWallet, and approving account when retrying. Leave out controllerWallet when the signed-in account from neus_context should approve. Agent concepts

Choose the wallet model

The agent wallet signs agent-identity. The approving account signs agent-delegation. This gives each agent distinct identity, revocation, and audit attribution.
When the signed-in account does not control the agent key:
  1. Sign and submit the returned agent-identity step with the agent key.
  2. Repeat neus_agent_create unchanged.
  3. The approving account completes agent-delegation in-session or through the returned hosted URL.
A controller session cannot self-attest for a different agent wallet, so identity always comes first.

Shared account wallet

Omitting agentWallet uses the approving account wallet. This is convenient for a personal assistant, but several agents on one wallet require agentId on every link and mount call. Use a separate wallet when agents need independent identity or offboarding.

Generated wallet

agentWallet: "generate" returns private key material once. Treat it as an advanced bootstrap only. Production apps should generate and store the key in their own key manager; NEUS does not custody agent keys.

What each result means

Every non-validation result includes path and next_action. sessionProgress.identityComplete and sessionProgress.delegationComplete show which step is already saved. On payment_required, add credits and retry the same request. This is an account billing requirement, not a wallet-signature failure.

Hosted callback

Use the SDK helper instead of assembling query strings:
With identityQHash, Hosted Verify requests only delegation. The callback receives the new delegation qHash, agentId, and agentWallet. Keep the identity qHash from step 1. Do not combine agent creation with gateId or intent=login on one URL:
  • Login: intent=login&returnUrl=...
  • Gate checkout: gateId=...&returnUrl=...
  • Agent setup: getHostedAgentCreateUrl(...)

Billing

Billing follows the signer for each proof unless a validated sponsor or pay-per-call proof overrides it:
  • Agent identity: the agent wallet pays.
  • Delegation: the approving account pays.
  • Hosted completion: the signed-in account pays for the step it signs.
  • Sponsor grant or pay-per-call: the validated sponsor/caller pays.
Hosted sign-in itself is free. See Billing. Optional fields include instructions, skills, services, scope, expiry, spend cap, runtime policy, approval policy, and allowed/denied actions. See Agent identity and Agent delegation. Auth · Agent link · Overview · Agent setup
Last modified on August 12, 2026