Skip to main content
POST
/
agent
/
register
{
    "agentId": "337c2c59-ae4a-477c-9771-e66de0fdd669",
    "name": "New Agent",
    "description": "New Description",
    "imageUrl": "https://example.com/image.png",
    "agentType": "PERPETUAL",
    "isPublic": true,
    "agentFees": {
        "owner_flat": {
            "fee": 0.1,
            "feeAddress": "0x56d0573c786d3...",
            "type": "FLAT"
        },
        "owner_bps": {
            "fee": 5,
            "feeAddress": "0x56d0573c786d3...",
            "type": "BPS"
        }
    }
}
{
    "status": "success",
    "message": "Agent registered successfully",
    "agentId": "337c2c59-ae4a-477c-9771-e66de0fdd669",
    "isPublic": "true",
    "organization": "Symphony",
    "ownerId": null,
    "manager": null,
    "quorumId": "vn85nat05jx7rg45uyjntj9d",
    "agentType": "PERPETUAL",
    "imageUrl": "https://example.com/image.png",
    "feeData": [
        {
            "partner": "owner_flat",
            "fee": 0.1,
            "feeAddress": "0x56d0573c786d3...",
            "feeType": "flat"
        },
        {
            "partner": "owner_bps",
            "fee": 5,
            "feeAddress": "0x56d0573c786d3...",
            "feeType": "bps"
        }
    ]
}
This endpoint is used to register a new agent with a given ID (uuidv4) and public key. The agent is stored in our internal database and then used to generate a new 2/2 threshold quorum signing policy on Privy along with our internal backend B2B key.

Request Parameters

agentId
string
The unique identifier for the agent (UUID format)
name
string
Optional name for the agent
description
string
Optional description for the agent
imageUrl
string
Optional image URL for the agent
agentType
string
Optional agent type. Valid values: PERPETUAL, SWAP (defaults to PERPETUAL)
isPublic
boolean
Optional flag to make the agent public. Defaults to false
agentFees
object
Optional fee configuration object

Response

status
string
Status of the operation (e.g., “success”)
message
string
Success message indicating the agent was registered successfully
agentId
string
The registered agent ID (UUID format)
isPublic
string
Whether the agent is public (“true” or “false” as string)
organization
string
The organization identifier associated with the agent
ownerId
string
The owner ID. May be null if not set
manager
string
The manager address. May be null if not set
quorumId
string
The Privy quorum ID created for this agent’s 2/2 threshold signing policy
agentType
string
The agent type (e.g., “PERPETUAL”)
imageUrl
string
The image URL for the agent (if provided)
feeData
array
Array of fee configuration objects that were set for the agent

Behavior

  • Stores agent metadata internally
  • Creates a new 2/2 threshold quorum signing policy on Privy with the agent’s public key and Symphony’s internal backend B2B key

Authentication

B2B JWT token OR Privy authentication token and headers

Headers

When using Privy authentication token, include the following header:
  • x-privy-id-token: Privy ID token
{
    "agentId": "337c2c59-ae4a-477c-9771-e66de0fdd669",
    "name": "New Agent",
    "description": "New Description",
    "imageUrl": "https://example.com/image.png",
    "agentType": "PERPETUAL",
    "isPublic": true,
    "agentFees": {
        "owner_flat": {
            "fee": 0.1,
            "feeAddress": "0x56d0573c786d3...",
            "type": "FLAT"
        },
        "owner_bps": {
            "fee": 5,
            "feeAddress": "0x56d0573c786d3...",
            "type": "BPS"
        }
    }
}
{
    "status": "success",
    "message": "Agent registered successfully",
    "agentId": "337c2c59-ae4a-477c-9771-e66de0fdd669",
    "isPublic": "true",
    "organization": "Symphony",
    "ownerId": null,
    "manager": null,
    "quorumId": "vn85nat05jx7rg45uyjntj9d",
    "agentType": "PERPETUAL",
    "imageUrl": "https://example.com/image.png",
    "feeData": [
        {
            "partner": "owner_flat",
            "fee": 0.1,
            "feeAddress": "0x56d0573c786d3...",
            "feeType": "flat"
        },
        {
            "partner": "owner_bps",
            "fee": 5,
            "feeAddress": "0x56d0573c786d3...",
            "feeType": "bps"
        }
    ]
}