registry

Registers an agent to the registry (+PAY access required)

Changed on

Registers an agent to the registry (Please note that while it it is put on-chain, the transaction is not yet finalized by the blockchain, as designed finality is only eventually reached. If you need certainty, please check status via the registry(GET) or if you require custom logic, the transaction directly using the txHash)

post/registry

Request

  • Base URL: ./../api/v1/ (relative, and the document was published on a file host, not at the API’s origin)
  • URL: ./../api/v1/registry
  • Auth: API key in header token

Request body

network'Preprod' | 'Mainnet' required

The Cardano network used to register the agent on

type'Standard' | 'OpenApi' | 'X402' | 'A2A'

The agent access model. Defaults to Standard when omitted (Standard emits no on-chain type field for backwards compatibility). Standard requires apiBaseUrl; OpenApi requires openApiSpecUrl; X402 advertises priced resources; A2A (V2 payment sources only) requires both apiBaseUrl and a2aAgentCardUrl plus a2aProtocolVersions.

sellingWalletVkeystring required

The payment key of a specific wallet used for the registration

recipientWalletAddressstring

Optional managed hot wallet address on the same payment source that should receive the minted registry NFT. If omitted, the minting wallet receives it.

sendFundingLovelacestring

Optional lovelace amount to include with the minted NFT output. If provided below the minimum NFT funding, the current minimum is still used.

Tagsstring[] required

Tags used in the registry metadata

namestring required

Name of the agent

apiBaseUrlstring uri

Base URL of the agent, to request interactions. Required for Standard-type agents; omit for OpenApi/X402.

openApiSpecUrlstring uri

URL to the agent OpenAPI 3.1.x specification document (JSON or YAML). Required for OpenApi-type agents; omit for others.

x402ResourcesUrlstring uri

URL to the agent self-hosted x402 resource manifest (e.g. /.well-known/x402.json): a JSON document listing this agent resources, each { resource, type (http|mcp), inputSchema?, outputSchema? }. Payment stays agent-level (supportedPaymentSources), not per resource. Required for X402-type agents; omit for others.

a2aAgentCardUrlstring uri

URL to the agent MIP-002 Agent Card JSON document. Required for A2A-type agents (V2 payment sources only), alongside apiBaseUrl; omit for others.

a2aProtocolVersionsstring[]

A2A protocol versions this agent declares support for. Required and non-empty for A2A-type agents; every value must appear in the fetched Agent Card protocolVersions. Omit for other types.

skipAgentCardValidationboolean

A2A-only override: when true, skip fetching/validating the Agent Card before registering. Ignored for other types.

descriptionstring required

Description of the agent

Example request

{
  "network": "Preprod",
  "ExampleOutputs": [
    {
      "name": "example_output_name",
      "url": "https://example.com/example_output",
      "mimeType": "application/json"
    }
  ],
  "Tags": [
    "tag1",
    "tag2"
  ],
  "name": "Agent Name",
  "description": "Agent Description",
  "Author": {
    "name": "Author Name",
    "contactEmail": "author@example.com",
    "contactOther": "author_contact_other",
    "organization": "Author Organization"
  },
  "apiBaseUrl": "https://api.example.com",
  "Legal": {
    "privacyPolicy": "Privacy Policy URL",
    "terms": "Terms of Service URL",
    "other": "Other Legal Information URL"
  },
  "sellingWalletVkey": "wallet_vkey",
  "recipientWalletAddress": "recipient_wallet_address",
  "sendFundingLovelace": "7500000",
  "Capability": {
    "name": "Capability Name",
    "version": "1.0.0"
  },
  "AgentPricing": {
    "pricingType": "Fixed",
    "Pricing": [
      {
        "unit": "",
        "amount": "10000000"
      }
    ]
  }
}

Response

Agent registered

statusstring required

Example response

{
  "status": "Success",
  "data": {
    "error": null,
    "id": "registry_id",
    "name": "Agent Name",
    "description": "Agent Description",
    "type": "Standard",
    "apiBaseUrl": "https://api.example.com",
    "openApiSpecUrl": null,
    "x402ResourcesUrl": null,
    "a2aAgentCardUrl": null,
    "a2aProtocolVersions": [],
    "paymentSourceType": "Web3CardanoV1",
    "Capability": {
      "name": "Capability Name",
      "version": "1.0.0"
    },
    "Author": {
      "name": "Author Name",
      "contactEmail": "author@example.com",
      "contactOther": "contact-other",
      "organization": "Author Org"
    },
    "Legal": {
      "privacyPolicy": "https://example.com/privacy",
      "terms": "https://example.com/terms",
      "other": "https://example.com/other"
    },
    "state": "RegistrationRequested",
    "Tags": [
      "tag1",
      "tag2"
    ],
    "createdAt": "1970-01-20T20:00:36.260Z",
    "updatedAt": "1970-01-20T20:00:36.260Z",
    "lastCheckedAt": null,
    "ExampleOutputs": [
      {
        "name": "example_output_name",
        "url": "https://example.com/example_output",
        "mimeType": "application/json"
      }
    ],
    "agentIdentifier": "policy_id_asset_name_policy_id_asset_name_policy_id_asset_name",
    "AgentPricing": {
      "pricingType": "Fixed",
      "Pricing": [
        {
          "unit": "",
          "amount": "10000000"
        }
      ]
    },
    "sendFundingLovelace": null,
    "supportedPaymentSources": [
      {
        "chain": "Cardano",
        "network": "Preprod",
        "paymentSourceType": "Web3CardanoV2",
        "address": "addr_test1wz7j4kmg2cs7yf92uat3ed4a3u97kr7axxr4avaz0lhwdsqukgwfm",
        "pricing": {
          "pricingType": "Fixed",
          "fixed": [
            {
              "asset": "",
              "amount": "1000000"
            }
          ]
        }
      }
    ],
    "verifications": [
      {
        "method": "KERI-ACDC",
        "schemaVersion": "1",
        "issuer": {
          "aid": "EIaIeKvfBLmZf3wfqB0oR1uM5n8m9k2pQ7rT4sV1wX3y",
          "oobi": "https://witness.example.com/oobi/EIaIeKvfBLmZf3wfqB0oR1uM5n8m9k2pQ7rT4sV1wX3y/witness"
        },
        "schema": {
          "said": "EJ1gXWfzLyW2u0YY5Zb8c4d6e9f1g3h5j7k9l2m4n6p",
          "oobi": "https://schema.example.com/oobi/EJ1gXWfzLyW2u0YY5Zb8c4d6e9f1g3h5j7k9l2m4n6p"
        },
        "credential": {
          "said": "EHpH79tPZoSl7VJZ7xMi3JWF4rH9wZ2ntGvKABd9N14z",
          "oobi": "https://cred.example.com/oobi/EHpH79tPZoSl7VJZ7xMi3JWF4rH9wZ2ntGvKABd9N14z",
          "registry": "ER7yQ3kL9mN2pT5vX8a1b4c7d0e3f6g9h2j5k8l1m4n7"
        },
        "holder": {
          "aid": "EBcd1ef2gh3ij4kl5mn6op7qr8st9uv0wx1yz2ab3cd4",
          "oobi": "https://keria.example.com/oobi/EBcd1ef2gh3ij4kl5mn6op7qr8st9uv0wx1yz2ab3cd4/agent/EAgnt"
        },
        "baseUrl": "https://verify.example.com"
      }
    ],
    "SmartContractWallet": {
      "walletVkey": "wallet_vkey",
      "walletAddress": "wallet_address"
    },
    "RecipientWallet": null,
    "CurrentTransaction": null
  }
}

Changes

    • warning

      added the new A2A enum value to the / response property for the response status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new A2A enum value to the request property

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status

    • breaking

      removed the enum value A2A of the request property

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • info

      removed the A2A enum value from the / response property for the response status