UGCDocumentation

Agent Credential Authentication

Scoped agcred_ credentials for AI-agent-initiated money movement

Updated October 3, 2026

Agent Credentials are a separate, stricter trust tier for AI agents that need to move money on a user's behalf. They are not a general-purpose API key - an agcred_ credential can only call the three agent-scoped endpoints below, each with its own guardrails (per-transaction cap, daily cap, currency, recipient allowlist).

Format

code
agcred_<random>

Unlike your developer API Key (UGSK_, 64-hex), Agent Credentials use a base58-encoded random suffix - there is only one credential per grant, and it is a bearer secret.

What Agent Credentials can do

EndpointPurpose
POST /agent/transferExecute a scoped wallet transfer to a recipient phone number
GET /agent/balanceCheck available wallet balance and remaining daily cap
POST /agent/payment-linkCreate a payment link within the credential's scope
http
Authorization: Bearer agcred_<credential>

If a request would exceed the credential's configured scope and fallback is enabled, the API returns a DraftIntent URL for first-party user confirmation instead of settling the action directly from the agent call.

Issuing and managing credentials

Agent Credentials are created, listed, updated, and revoked by the account owner (not self-issued by the agent) with fields such as name, allowedActions, maxAmountPerTxn, maxAmountPerDay, currency, recipientWhitelist, and webhookUrl. Issue and manage them from Agent Credentials in the main app.

Never confuse Agent Credentials with your developer API key

  • UGSK_ keys → general REST access, scoped to the account that issued them - see API key authentication.
  • agcred_ credentials → narrow, money-movement-only, intended for a delegated AI agent - never grant one general API access, and never let an LLM prompt itself hold or print the raw credential.

Did this solve your problem?