# RelayShield Agent Passport Issuance

> RelayShield Agent Passport Issuance is a paid API for AI agents from api.relayshield.net, paid per call via x402, $0.5/call, status unknown (last checked 2026-10-28).

Issues a signed, verifiable identity passport for an AI agent, embedding screening aggregates and TAP/PAP verification outcomes into a compact, portable credential.

## Facts

- Endpoint: POST https://api.relayshield.net/v1/passport/issue?utm_source=zero.xyz
- Price: $0.5/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/relayshield-agent-passport-issuance-d446694b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3A4ZFQDU5NWe-7lMa_JmU

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability relayshield-agent-passport-issuance-d446694b -d '<json body>'
```

Example prompt: Issue a RelayShield identity passport for agent ID 'agent_42' with wallet 0x1234567890abcdef1234567890abcdef12345678, TAP status verified as of now, and screening showing 342 total checks with 1 flag last run today.

## When to prefer this

Use this endpoint when an AI agent needs a portable, signed identity credential that bundles threat screening history and TAP/PAP verification status into a single verifiable passport — particularly before participating in agentic commerce, connecting to MCP-secured services, or proving trustworthiness to third-party APIs. Prefer this over generic identity tokens when the consumer specifically requires RelayShield-attested screening data or TAP compliance evidence.

## Known failure modes

- Missing required agent_id returns a 400 validation error
- Invalid wallet address format (non-EVM, non-Solana) causes rejection
- TAP verifications with status 'verified' but missing verified_at timestamp fail schema validation
- Payment not received or insufficient USDC triggers a 402 response
- Malformed DID string may cause identity resolution failure
- Screening timestamps in non-ISO 8601 format may cause parsing errors

## How this service works

Identity security, threat monitoring and intelligence for the agentic AI era. TAP verifier for agentic commerce, MCP Proxy Firewall for AI agents, and threat intelligence APIs backed by 725K indicators across 129 monitored marketplaces.

## Output

Returns a JSON object containing a compact base64url-encoded signed passport (payload + signature), the full structured passport object with issuer, subject, issued_at, expires_at (30 days), screening aggregates, TAP/PAP verification details, a unique passport_id, and a status_url for future verification lookups.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "subject": {
   "type": "object",
   "required": [
    "agent_id"
   ],
   "properties": {
    "did": {
     "type": "string",
     "description": "Decentralized identifier, if the agent has one"
    },
    "wallet": {
     "type": "string",
     "description": "Payment wallet address (EVM 0x... or Solana base58)"
    },
    "agent_id": {
     "type": "string",
     "description": "Agent identifier in the presenting ecosystem"
    }
   },
   "description": "The agent the passport is about: agent_id plus a wallet or a did."
  },
  "screening": {
   "type": "object",
   "properties": {
    "flags_total": {
     "type": "integer",
     "description": "How many of those checks produced a threat flag"
    },
    "checks_total": {
     "type": "integer",
     "description": "Total screening checks recorded for this identity"
    },
    "last_screened_at": {
     "type": "string",
     "description": "Most recent screening time, ISO 8601 UTC"
    }
   },
   "description": "Asserted screening aggregates for the identity."
  },
  "verifications": {
   "type": "object",
   "description": "Asserted TAP/PAP outcomes keyed by protocol (tap, pap): a status of verified, rejected or not_performed, verified_at required when verified, optional reference."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "data": {
   "compact": "<base64url payload>.<base64url signature>",
   "passport": {
    "issuer": "relayshield.net",
    "subject": {
     "wallet": "0x1234567890abcdef1234567890abcdef12345678",
     "agent_id": "agent_42"
    },
    "version": "1.0",
    "issued_at": "2026-10-22T12:00:10Z",
    "screening": {
     "flags_total": 1,
     "checks_total": 342,
     "last_screened_at": "2026-10-22T12:00:05Z"
    },
    "expires_at": "2026-11-21T12:00:10Z",
    "passport_id": "rsp_9f8e7d6c5b4a39281706f5e4d3c2b1a0",
    "signing_key": "11111111-2222-3333-4444-555555555555",
    "verifications": {
     "tap": {
      "status": "verified",
      "reference": "tap-verify-123",
      "verified_at": "2026-10-22T12:00:00Z"
     }
    }
   },
   "status_url": "https://api.relayshield.net/v1/passport/rsp_9f8e7d6c5b4a39281706f5e4d3c2b1a0/status"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/relayshield-agent-passport-issuance-d446694b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.relayshield.net](https://www.zero.xyz/host/api.relayshield.net/llms.txt)
