Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: A2A Persistent Memory Protocol Auth API
version: 0.1.0
description: Encrypted, pay-per-use persistent memory storage for AI agents (and humans), gated by the x402 HTTP-402 payment standard on Base L2. This document describes the REST surface; the same operations are also available over MCP (streamable HTTP) at /mcp -- see /.well-known/agent-memory.json for pricing, TTL limits, and links. Endpoints marked 402 respond with an x402 payment-required challenge (see https://github.com/x402-foundation/x402) when no valid on-chain payment authorization is attached to the request; a wallet-funded credit balance or the free per-wallet trial allowance can also satisfy these instead of a fresh payment.
termsOfService: https://agtrepo.com/legal
contact:
url: https://agtrepo.com
license:
name: See /legal
url: https://agtrepo.com/legal
servers:
- url: https://agtrepo.com
tags:
- name: Auth
description: Wallet-connect login (challenge/response), for the human-facing site
paths:
/auth/challenge:
post:
tags:
- Auth
summary: Issue a wallet-connect login nonce
description: Registration and login are the same flow -- connecting a new wallet is registering.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- wallet
properties:
wallet:
type: string
responses:
'200':
description: OK
'400':
$ref: '#/components/responses/BadRequest'
operationId: postAuthChallenge
x-operation-id-source: derived
/auth/verify:
post:
tags:
- Auth
summary: Verify a signed challenge and start a session
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- wallet
- nonce
- signature
properties:
wallet:
type: string
nonce:
type: string
signature:
$ref: '#/components/schemas/EipSignature'
responses:
'201':
description: Session started (Set-Cookie)
'400':
$ref: '#/components/responses/BadRequest'
operationId: postAuthVerify
x-operation-id-source: derived
/auth/logout:
post:
tags:
- Auth
summary: End the current session
responses:
'204':
description: Logged out
operationId: postAuthLogout
x-operation-id-source: derived
components:
schemas:
EipSignature:
type: string
pattern: ^0x[0-9a-fA-F]+$
description: EIP-191 personal_sign signature, hex-encoded with 0x prefix.
Error:
type: object
properties:
error:
type: string
required:
- error
responses:
BadRequest:
description: Invalid request body
content:
application/json:
schema:
$ref: '#/components/schemas/Error'