> For the complete documentation index, see [llms.txt](https://docs.aboutcircles.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aboutcircles.com/api-reference/circles-api.md).

# Circles API

## Get all token balances with metadata

> Returns all token balances of an address with full metadata. Each row includes flags\
> (\`isWrapped\`, \`isGroup\`, \`isInflationary\`, \`isErc20\`, \`isErc1155\`, \`tokenType\`) for\
> client-side filtering, plus balances in several denominations\
> (\`attoCircles\`/\`circles\`, \`staticAttoCircles\`/\`staticCircles\`, \`attoCrc\`/\`crc\`).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Address to get balances for.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Balance & Tokens","description":"Total balances and per-token holdings & metadata."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTokenBalances":{"post":{"tags":["Balance & Tokens"],"operationId":"circles_getTokenBalances","summary":"Get all token balances with metadata","description":"Returns all token balances of an address with full metadata. Each row includes flags\n(`isWrapped`, `isGroup`, `isInflationary`, `isErc20`, `isErc1155`, `tokenType`) for\nclient-side filtering, plus balances in several denominations\n(`attoCircles`/`circles`, `staticAttoCircles`/`staticCircles`, `attoCrc`/`crc`).\n\n**Positional `params`:**\n1. `address` (string, **required**) — Address to get balances for.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of token balance rows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get metadata for a token

> Returns metadata for a single Circles token.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`tokenAddress\` (string, \*\*required\*\*) — Token contract address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Balance & Tokens","description":"Total balances and per-token holdings & metadata."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTokenInfo":{"post":{"tags":["Balance & Tokens"],"operationId":"circles_getTokenInfo","summary":"Get metadata for a token","description":"Returns metadata for a single Circles token.\n\n**Positional `params`:**\n1. `tokenAddress` (string, **required**) — Token contract address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Token metadata object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get metadata for multiple tokens

> Batch variant of \[\`circles\_getTokenInfo\`]\(#operation/circles\_getTokenInfo).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`tokenAddresses\` (string\[], \*\*required\*\*) — Array of token contract addresses.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Balance & Tokens","description":"Total balances and per-token holdings & metadata."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTokenInfoBatch":{"post":{"tags":["Balance & Tokens"],"operationId":"circles_getTokenInfoBatch","summary":"Get metadata for multiple tokens","description":"Batch variant of [`circles_getTokenInfo`](#operation/circles_getTokenInfo).\n\n**Positional `params`:**\n1. `tokenAddresses` (string[], **required**) — Array of token contract addresses.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of token metadata objects (one per input address).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get avatar info

> Returns avatar information for an address (V1 and V2 merged): version, type, token id,\
> whether it has a V1 token, and its profile CID (if any).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getAvatarInfo":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_getAvatarInfo","summary":"Get avatar info","description":"Returns avatar information for an address (V1 and V2 merged): version, type, token id,\nwhether it has a V1 token, and its profile CID (if any).\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Avatar info object (or `null` if not signed up).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get avatar info for multiple addresses

> Batch variant of \[\`circles\_getAvatarInfo\`]\(#operation/circles\_getAvatarInfo).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`addresses\` (string\[], \*\*required\*\*) — Array of avatar addresses.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getAvatarInfoBatch":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_getAvatarInfoBatch","summary":"Get avatar info for multiple addresses","description":"Batch variant of [`circles_getAvatarInfo`](#operation/circles_getAvatarInfo).\n\n**Positional `params`:**\n1. `addresses` (string[], **required**) — Array of avatar addresses.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of avatar info objects.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get profile by address

> Returns the profile for an avatar address. May also include extended group-profile\
> fields when set: \`externalLinks.website\`,\
> \`membershipCriteria.{minRepScore, membershipFee, additionalCriteria}\`, \`groupType\`,\
> \`contactInfo.{email, website}\`.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getProfileByAddress":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_getProfileByAddress","summary":"Get profile by address","description":"Returns the profile for an avatar address. May also include extended group-profile\nfields when set: `externalLinks.website`,\n`membershipCriteria.{minRepScore, membershipFee, additionalCriteria}`, `groupType`,\n`contactInfo.{email, website}`.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Profile object (or `null` if none).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get profiles for multiple addresses

> Batch variant of \[\`circles\_getProfileByAddress\`]\(#operation/circles\_getProfileByAddress).\
> Extended group-profile fields may be present per item.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`addresses\` (string\[], \*\*required\*\*) — Array of avatar addresses.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getProfileByAddressBatch":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_getProfileByAddressBatch","summary":"Get profiles for multiple addresses","description":"Batch variant of [`circles_getProfileByAddress`](#operation/circles_getProfileByAddress).\nExtended group-profile fields may be present per item.\n\n**Positional `params`:**\n1. `addresses` (string[], **required**) — Array of avatar addresses.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of profile objects (one per input address; `null` when none).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get profile IPFS CID

> Returns the IPFS CIDv0 of an avatar's profile.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getProfileCid":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_getProfileCid","summary":"Get profile IPFS CID","description":"Returns the IPFS CIDv0 of an avatar's profile.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"CIDv0 string (or `null`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get profile IPFS CIDs (batch)

> Batch variant of \[\`circles\_getProfileCid\`]\(#operation/circles\_getProfileCid).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`addresses\` (string\[], \*\*required\*\*) — Array of avatar addresses.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getProfileCidBatch":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_getProfileCidBatch","summary":"Get profile IPFS CIDs (batch)","description":"Batch variant of [`circles_getProfileCid`](#operation/circles_getProfileCid).\n\n**Positional `params`:**\n1. `addresses` (string[], **required**) — Array of avatar addresses.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of CIDv0 strings (one per input address; `null` when none).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get profile by IPFS CID

> Retrieves a profile from IPFS by its CID.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`cid\` (string, \*\*required\*\*) — CIDv0 string.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getProfileByCid":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_getProfileByCid","summary":"Get profile by IPFS CID","description":"Retrieves a profile from IPFS by its CID.\n\n**Positional `params`:**\n1. `cid` (string, **required**) — CIDv0 string.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Profile object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get profiles by IPFS CIDs (batch)

> Batch variant of \[\`circles\_getProfileByCid\`]\(#operation/circles\_getProfileByCid).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`cids\` (string\[], \*\*required\*\*) — Array of IPFS CIDs.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getProfileByCidBatch":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_getProfileByCidBatch","summary":"Get profiles by IPFS CIDs (batch)","description":"Batch variant of [`circles_getProfileByCid`](#operation/circles_getProfileByCid).\n\n**Positional `params`:**\n1. `cids` (string[], **required**) — Array of IPFS CIDs.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of profile objects.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Full-text profile search

> Full-text search for profiles. Each result's \`Profile\` sub-object may include extended\
> group fields (flat shape): \`externalWebsite\`, \`minRepScore\`, \`membershipFee\`,\
> \`additionalCriteria\`, \`groupType\`, \`contactEmail\`, \`contactWebsite\`.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`text\` (string, \*\*required\*\*) — Search query (max 3 tokens).\
> 2\. \`limit\` (integer, optional, default \`20\`) — Max results (max 100).\
> 3\. \`offset\` (integer, optional, default \`0\`) — Pagination offset.\
> 4\. \`types\` (string\[], optional) — Filter by avatar types.\
> 5\. \`groupType\` (string, optional) — Filter by group type: \`open\` or \`closed\`.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_searchProfiles":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_searchProfiles","summary":"Full-text profile search","description":"Full-text search for profiles. Each result's `Profile` sub-object may include extended\ngroup fields (flat shape): `externalWebsite`, `minRepScore`, `membershipFee`,\n`additionalCriteria`, `groupType`, `contactEmail`, `contactWebsite`.\n\n**Positional `params`:**\n1. `text` (string, **required**) — Search query (max 3 tokens).\n2. `limit` (integer, optional, default `20`) — Max results (max 100).\n3. `offset` (integer, optional, default `0`) — Pagination offset.\n4. `types` (string[], optional) — Filter by avatar types.\n5. `groupType` (string, optional) — Filter by group type: `open` or `closed`.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of matching profiles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Unified search by address or name

> Unified search by address prefix \*\*or\*\* name/text. A \`0x\` prefix triggers address search.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`query\` (string, \*\*required\*\*) — Search query (\`0x…\` ⇒ address search).\
> 2\. \`limit\` (integer, optional, default \`20\`) — Max results.\
> 3\. \`cursor\` (string, optional) — Pagination cursor.\
> 4\. \`types\` (string\[], optional) — Filter by avatar types.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Avatars & Profiles","description":"Avatar registration info and IPFS-backed profiles."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_searchProfileByAddressOrName":{"post":{"tags":["Avatars & Profiles"],"operationId":"circles_searchProfileByAddressOrName","summary":"Unified search by address or name","description":"Unified search by address prefix **or** name/text. A `0x` prefix triggers address search.\n\n**Positional `params`:**\n1. `query` (string, **required**) — Search query (`0x…` ⇒ address search).\n2. `limit` (integer, optional, default `20`) — Max results.\n3. `cursor` (string, optional) — Pagination cursor.\n4. `types` (string[], optional) — Filter by avatar types.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Search result with detected `searchType` and matched profiles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get trust relations

> Returns the trust relationships for an address as a list of outgoing trusts with limits.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Trust & Groups","description":"Trust relationships, groups and group membership."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTrustRelations":{"post":{"tags":["Trust & Groups"],"operationId":"circles_getTrustRelations","summary":"Get trust relations","description":"Returns the trust relationships for an address as a list of outgoing trusts with limits.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Trust relations for the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get aggregated trust relations

> Returns aggregated trust relations in SDK-compatible format. \`relation\` is one of\
> \`trusts\`, \`trustedBy\`, \`mutuallyTrusts\`, \`selfTrusts\`.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`avatar\` (string, \*\*required\*\*) — Avatar address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Trust & Groups","description":"Trust relationships, groups and group membership."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getAggregatedTrustRelations":{"post":{"tags":["Trust & Groups"],"operationId":"circles_getAggregatedTrustRelations","summary":"Get aggregated trust relations","description":"Returns aggregated trust relations in SDK-compatible format. `relation` is one of\n`trusts`, `trustedBy`, `mutuallyTrusts`, `selfTrusts`.\n\n**Positional `params`:**\n1. `avatar` (string, **required**) — Avatar address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of aggregated trust relation rows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get common trust between two addresses

> Finds addresses that two users both trust.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address1\` (string, \*\*required\*\*) — First address.\
> 2\. \`address2\` (string, \*\*required\*\*) — Second address.\
> 3\. \`version\` (integer, optional) — Filter by version (\`1\`, \`2\`, or \`null\` for both).<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Trust & Groups","description":"Trust relationships, groups and group membership."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getCommonTrust":{"post":{"tags":["Trust & Groups"],"operationId":"circles_getCommonTrust","summary":"Get common trust between two addresses","description":"Finds addresses that two users both trust.\n\n**Positional `params`:**\n1. `address1` (string, **required**) — First address.\n2. `address2` (string, **required**) — Second address.\n3. `version` (integer, optional) — Filter by version (`1`, `2`, or `null` for both).\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of commonly-trusted addresses (empty if none).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get group members

> Returns members of a specific group, paginated.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`groupAddress\` (string, \*\*required\*\*) — Group address.\
> 2\. \`limit\` (integer, optional, default \`100\`) — Max results.\
> 3\. \`cursor\` (string, optional) — Pagination cursor.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Trust & Groups","description":"Trust relationships, groups and group membership."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getGroupMembers":{"post":{"tags":["Trust & Groups"],"operationId":"circles_getGroupMembers","summary":"Get group members","description":"Returns members of a specific group, paginated.\n\n**Positional `params`:**\n1. `groupAddress` (string, **required**) — Group address.\n2. `limit` (integer, optional, default `100`) — Max results.\n3. `cursor` (string, optional) — Pagination cursor.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Paginated list of group memberships.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get group memberships of an avatar

> Returns the groups that an avatar is a member of.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`memberAddress\` (string, \*\*required\*\*) — Member address.\
> 2\. \`limit\` (integer, optional, default \`50\`) — Max results.\
> 3\. \`cursor\` (string, optional) — Pagination cursor.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Trust & Groups","description":"Trust relationships, groups and group membership."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getGroupMemberships":{"post":{"tags":["Trust & Groups"],"operationId":"circles_getGroupMemberships","summary":"Get group memberships of an avatar","description":"Returns the groups that an avatar is a member of.\n\n**Positional `params`:**\n1. `memberAddress` (string, **required**) — Member address.\n2. `limit` (integer, optional, default `50`) — Max results.\n3. `cursor` (string, optional) — Pagination cursor.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Paginated list of group memberships.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get score-group mint limits

> Returns per-(group, collateral) headroom for score-group mints. Passing a\
> \`collateralToken\` returns a single row.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`group\` (string, \*\*required\*\*) — Score-group address.\
> 2\. \`collateralToken\` (string, optional) — Collateral token filter.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Trust & Groups","description":"Trust relationships, groups and group membership."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getScoreGroupMintLimits":{"post":{"tags":["Trust & Groups"],"operationId":"circles_getScoreGroupMintLimits","summary":"Get score-group mint limits","description":"Returns per-(group, collateral) headroom for score-group mints. Passing a\n`collateralToken` returns a single row.\n\n**Positional `params`:**\n1. `group` (string, **required**) — Score-group address.\n2. `collateralToken` (string, optional) — Collateral token filter.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Mint-limit rows for the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get a full trust-network snapshot

> Returns a complete snapshot of the Circles trust network. \*\*This response is large.\*\*\
> \
> \*\*Positional \`params\`:\*\* \_none.\_<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Trust & Groups","description":"Trust relationships, groups and group membership."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getNetworkSnapshot":{"post":{"tags":["Trust & Groups"],"operationId":"circles_getNetworkSnapshot","summary":"Get a full trust-network snapshot","description":"Returns a complete snapshot of the Circles trust network. **This response is large.**\n\n**Positional `params`:** _none._\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Full network snapshot (shape illustrative — fields may vary).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get transaction history

> Returns incoming and outgoing Circles transfers for an avatar (mints and transfers,\
> V1 and V2). Results are ordered descending.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`avatarAddress\` (string, \*\*required\*\*) — Avatar address.\
> 2\. \`limit\` (integer, optional, default \`50\`) — Max transactions.\
> 3\. \`cursor\` (string, optional) — Pagination cursor.\
> 4\. \`version\` (integer, optional) — Filter by version (\`null\` = both).\
> 5\. \`excludeIntermediary\` (boolean, optional, default \`true\`) — Exclude intermediary hops.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Transfer history, token holders and ERC-1155 transfer data."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTransactionHistory":{"post":{"tags":["Transactions"],"operationId":"circles_getTransactionHistory","summary":"Get transaction history","description":"Returns incoming and outgoing Circles transfers for an avatar (mints and transfers,\nV1 and V2). Results are ordered descending.\n\n**Positional `params`:**\n1. `avatarAddress` (string, **required**) — Avatar address.\n2. `limit` (integer, optional, default `50`) — Max transactions.\n3. `cursor` (string, optional) — Pagination cursor.\n4. `version` (integer, optional) — Filter by version (`null` = both).\n5. `excludeIntermediary` (boolean, optional, default `true`) — Exclude intermediary hops.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Transaction rows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get enriched transaction history

> Transaction history enriched with participant profiles, over a block range.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.\
> 2\. \`fromBlock\` (integer, \*\*required\*\*) — Starting block number.\
> 3\. \`toBlock\` (integer, optional) — Ending block number.\
> 4\. \`limit\` (integer, optional, default \`20\`) — Max transactions.\
> 5\. \`cursor\` (string, optional) — Pagination cursor.\
> 6\. \`version\` (integer, optional) — Filter by version.\
> 7\. \`excludeIntermediary\` (boolean, optional, default \`true\`) — Exclude intermediary hops.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Transfer history, token holders and ERC-1155 transfer data."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTransactionHistoryEnriched":{"post":{"tags":["Transactions"],"operationId":"circles_getTransactionHistoryEnriched","summary":"Get enriched transaction history","description":"Transaction history enriched with participant profiles, over a block range.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n2. `fromBlock` (integer, **required**) — Starting block number.\n3. `toBlock` (integer, optional) — Ending block number.\n4. `limit` (integer, optional, default `20`) — Max transactions.\n5. `cursor` (string, optional) — Pagination cursor.\n6. `version` (integer, optional) — Filter by version.\n7. `excludeIntermediary` (boolean, optional, default `true`) — Exclude intermediary hops.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Enriched transaction rows (shape illustrative; like `circles_getTransactionHistory` rows plus `fromProfile`/`toProfile`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get token holders

> Returns all holders of a specific token, paginated.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`tokenAddress\` (string, \*\*required\*\*) — Token address.\
> 2\. \`limit\` (integer, optional, default \`100\`) — Max holders.\
> 3\. \`cursor\` (string, optional) — Pagination cursor.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Transfer history, token holders and ERC-1155 transfer data."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTokenHolders":{"post":{"tags":["Transactions"],"operationId":"circles_getTokenHolders","summary":"Get token holders","description":"Returns all holders of a specific token, paginated.\n\n**Positional `params`:**\n1. `tokenAddress` (string, **required**) — Token address.\n2. `limit` (integer, optional, default `100`) — Max holders.\n3. `cursor` (string, optional) — Pagination cursor.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Paginated list of token holders.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get ERC-1155 transfer data bytes

> Returns the \`data\` bytes parameter from ERC-1155 transfer calls. See the\
> \`CrcV2\_TransferData\` tutorial for decoding annotated payloads.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Primary address to filter.\
> 2\. \`direction\` (string, optional) — \`"sent"\`, \`"received"\`, or \`null\` (both).\
> 3\. \`counterparty\` (string, optional) — Counterparty address filter.\
> 4\. \`fromBlock\` (integer, optional) — Start block (inclusive).\
> 5\. \`toBlock\` (integer, optional) — End block (inclusive).\
> 6\. \`limit\` (integer, optional, default \`50\`) — Max results (max 1000).\
> 7\. \`cursor\` (string, optional) — Pagination cursor.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Transfer history, token holders and ERC-1155 transfer data."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTransferData":{"post":{"tags":["Transactions"],"operationId":"circles_getTransferData","summary":"Get ERC-1155 transfer data bytes","description":"Returns the `data` bytes parameter from ERC-1155 transfer calls. See the\n`CrcV2_TransferData` tutorial for decoding annotated payloads.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Primary address to filter.\n2. `direction` (string, optional) — `\"sent\"`, `\"received\"`, or `null` (both).\n3. `counterparty` (string, optional) — Counterparty address filter.\n4. `fromBlock` (integer, optional) — Start block (inclusive).\n5. `toBlock` (integer, optional) — End block (inclusive).\n6. `limit` (integer, optional, default `50`) — Max results (max 1000).\n7. `cursor` (string, optional) — Pagination cursor.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Transfers carrying a non-empty `data` field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Query indexed blockchain events

> Queries indexed blockchain events with advanced filtering.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, optional) — Filter by address.\
> 2\. \`fromBlock\` (integer, optional) — Starting block (inclusive).\
> 3\. \`toBlock\` (integer, optional) — Ending block (inclusive).\
> 4\. \`eventTypes\` (string\[], optional) — Filter by event types (e.g. \`CrcV2\_TransferSingle\`).\
> 5\. \`filterPredicates\` (object\[], optional) — Advanced filter predicates.\
> 6\. \`sortAscending\` (boolean, optional, default \`false\`) — Sort order.\
> 7\. \`limit\` (integer, optional, default \`100\`) — Max events (max 1000).\
> 8\. \`cursor\` (string, optional) — Pagination cursor.\
> \
> Event types include the \`CrcV1\_\*\`, \`CrcV2\_\*\` and \`CrcV2\_ScoreGroup\_\*\` families — see\
> \`circles\_tables\` for the full catalog.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Events & Query","description":"Indexed blockchain events and generic table queries."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_events":{"post":{"tags":["Events & Query"],"operationId":"circles_events","summary":"Query indexed blockchain events","description":"Queries indexed blockchain events with advanced filtering.\n\n**Positional `params`:**\n1. `address` (string, optional) — Filter by address.\n2. `fromBlock` (integer, optional) — Starting block (inclusive).\n3. `toBlock` (integer, optional) — Ending block (inclusive).\n4. `eventTypes` (string[], optional) — Filter by event types (e.g. `CrcV2_TransferSingle`).\n5. `filterPredicates` (object[], optional) — Advanced filter predicates.\n6. `sortAscending` (boolean, optional, default `false`) — Sort order.\n7. `limit` (integer, optional, default `100`) — Max events (max 1000).\n8. `cursor` (string, optional) — Pagination cursor.\n\nEvent types include the `CrcV1_*`, `CrcV2_*` and `CrcV2_ScoreGroup_*` families — see\n`circles_tables` for the full catalog.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of events with `event` name and `values` payload (hex-encoded numerics).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Generic table query

> Runs a generic database query against an indexed namespace/table. Use \`circles\_tables\`\
> to discover available namespaces, tables and columns.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`query\` (object, \*\*required\*\*) — A \`SelectDto\`:\
> &#x20;  \- \`Namespace\` (string) — e.g. \`V\_Crc\`, \`CrcV2\`, \`CrcV2\_ScoreGroup\`.\
> &#x20;  \- \`Table\` (string) — e.g. \`Avatars\`.\
> &#x20;  \- \`Columns\` (string\[], optional) — Columns to return (empty = all).\
> &#x20;  \- \`Filter\` (object\[], optional) — \`FilterPredicate\` objects\
> &#x20;    (\`{ type, column, filterType, value }\`; \`filterType\` ∈ \`Equals\`, \`NotEquals\`,\
> &#x20;    \`GreaterThan\`, \`LessThan\`, \`Like\`, \`In\`, \`IsNull\`, …).\
> &#x20;  \- \`Order\` (object\[], optional) — \`\[{ Column, SortOrder }]\`, \`SortOrder\` ∈ \`ASC\`/\`DESC\`.\
> &#x20;  \- \`Limit\` (integer, optional), \`Distinct\` (boolean, optional).\
> 2\. \`cursor\` (string, optional) — Pagination cursor.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Events & Query","description":"Indexed blockchain events and generic table queries."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_query":{"post":{"tags":["Events & Query"],"operationId":"circles_query","summary":"Generic table query","description":"Runs a generic database query against an indexed namespace/table. Use `circles_tables`\nto discover available namespaces, tables and columns.\n\n**Positional `params`:**\n1. `query` (object, **required**) — A `SelectDto`:\n   - `Namespace` (string) — e.g. `V_Crc`, `CrcV2`, `CrcV2_ScoreGroup`.\n   - `Table` (string) — e.g. `Avatars`.\n   - `Columns` (string[], optional) — Columns to return (empty = all).\n   - `Filter` (object[], optional) — `FilterPredicate` objects\n     (`{ type, column, filterType, value }`; `filterType` ∈ `Equals`, `NotEquals`,\n     `GreaterThan`, `LessThan`, `Like`, `In`, `IsNull`, …).\n   - `Order` (object[], optional) — `[{ Column, SortOrder }]`, `SortOrder` ∈ `ASC`/`DESC`.\n   - `Limit` (integer, optional), `Distinct` (boolean, optional).\n2. `cursor` (string, optional) — Pagination cursor.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Result with `columns` and `rows` (rows are positional arrays aligned to `columns`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Paginated table query

> Like \[\`circles\_query\`]\(#operation/circles\_query) but returns a\
> \`{ columns, rows, hasMore, nextCursor }\` wrapper for pagination.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`query\` (object, \*\*required\*\*) — \`SelectDto\` (see \`circles\_query\`).\
> 2\. \`cursor\` (string, optional) — Cursor from a previous response.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Events & Query","description":"Indexed blockchain events and generic table queries."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_paginated_query":{"post":{"tags":["Events & Query"],"operationId":"circles_paginated_query","summary":"Paginated table query","description":"Like [`circles_query`](#operation/circles_query) but returns a\n`{ columns, rows, hasMore, nextCursor }` wrapper for pagination.\n\n**Positional `params`:**\n1. `query` (object, **required**) — `SelectDto` (see `circles_query`).\n2. `cursor` (string, optional) — Cursor from a previous response.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Paginated query result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## List available tables and schemas

> Returns the catalog of available namespaces, tables, their event topics and column schemas.\
> \
> \*\*Positional \`params\`:\*\* \_none.\_<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Events & Query","description":"Indexed blockchain events and generic table queries."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_tables":{"post":{"tags":["Events & Query"],"operationId":"circles_tables","summary":"List available tables and schemas","description":"Returns the catalog of available namespaces, tables, their event topics and column schemas.\n\n**Positional `params`:** _none._\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of namespaces with their tables and column definitions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get complete profile view

> Returns a complete profile view combining avatar info, profile, trust stats and balances.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getProfileView":{"post":{"tags":["SDK Methods"],"operationId":"circles_getProfileView","summary":"Get complete profile view","description":"Returns a complete profile view combining avatar info, profile, trust stats and balances.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Combined profile view.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get trust network summary

> Returns aggregated trust-network statistics for an address.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.\
> 2\. \`maxDepth\` (integer, optional) — Max depth for network traversal.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTrustNetworkSummary":{"post":{"tags":["SDK Methods"],"operationId":"circles_getTrustNetworkSummary","summary":"Get trust network summary","description":"Returns aggregated trust-network statistics for an address.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n2. `maxDepth` (integer, optional) — Max depth for network traversal.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Trust network summary statistics.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get enriched aggregated trust relations

> Trust relations categorized by type with enriched avatar info, paginated.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.\
> 2\. \`limit\` (integer, optional, default \`50\`) — Max results per page.\
> 3\. \`cursor\` (string, optional) — Pagination cursor.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getAggregatedTrustRelationsEnriched":{"post":{"tags":["SDK Methods"],"operationId":"circles_getAggregatedTrustRelationsEnriched","summary":"Get enriched aggregated trust relations","description":"Trust relations categorized by type with enriched avatar info, paginated.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n2. `limit` (integer, optional, default `50`) — Max results per page.\n3. `cursor` (string, optional) — Pagination cursor.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Enriched trust relations grouped under `results`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get valid inviters

> Returns addresses that trust the given address \*\*and\*\* have sufficient balance to invite.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.\
> 2\. \`minimumBalance\` (string, optional) — Minimum balance required (in CRC).\
> 3\. \`limit\` (integer, optional, default \`50\`) — Max results.\
> 4\. \`cursor\` (string, optional) — Pagination cursor.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getValidInviters":{"post":{"tags":["SDK Methods"],"operationId":"circles_getValidInviters","summary":"Get valid inviters","description":"Returns addresses that trust the given address **and** have sufficient balance to invite.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n2. `minimumBalance` (string, optional) — Minimum balance required (in CRC).\n3. `limit` (integer, optional, default `50`) — Max results.\n4. `cursor` (string, optional) — Pagination cursor.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Valid inviters with balances and enriched avatar info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get invitation origin

> Returns how a user joined Circles (the origin of their invitation).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getInvitationOrigin":{"post":{"tags":["SDK Methods"],"operationId":"circles_getInvitationOrigin","summary":"Get invitation origin","description":"Returns how a user joined Circles (the origin of their invitation).\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Invitation origin record.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get all invitations for an address

> Returns all available invitations for an address from all sources (trust, escrow,\
> at-scale).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.\
> 2\. \`minimumBalance\` (string, optional) — Minimum balance required (in CRC).<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getAllInvitations":{"post":{"tags":["SDK Methods"],"operationId":"circles_getAllInvitations","summary":"Get all invitations for an address","description":"Returns all available invitations for an address from all sources (trust, escrow,\nat-scale).\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n2. `minimumBalance` (string, optional) — Minimum balance required (in CRC).\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Invitations grouped by source.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get trust-based invitations

> Returns trust-based invitations (addresses that trust the target with sufficient balance).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.\
> 2\. \`minimumBalance\` (string, optional) — Minimum CRC balance required (in wei).<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getTrustInvitations":{"post":{"tags":["SDK Methods"],"operationId":"circles_getTrustInvitations","summary":"Get trust-based invitations","description":"Returns trust-based invitations (addresses that trust the target with sufficient balance).\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n2. `minimumBalance` (string, optional) — Minimum CRC balance required (in wei).\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of trust-based inviters (shape illustrative).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get escrow-based invitations

> Returns escrow-based invitations (CRC escrowed for the target address).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getEscrowInvitations":{"post":{"tags":["SDK Methods"],"operationId":"circles_getEscrowInvitations","summary":"Get escrow-based invitations","description":"Returns escrow-based invitations (CRC escrowed for the target address).\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of escrow invitations (shape illustrative).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get at-scale invitations

> Returns at-scale invitations (pre-created unclaimed accounts) for an address.\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Avatar address.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getAtScaleInvitations":{"post":{"tags":["SDK Methods"],"operationId":"circles_getAtScaleInvitations","summary":"Get at-scale invitations","description":"Returns at-scale invitations (pre-created unclaimed accounts) for an address.\n\n**Positional `params`:**\n1. `address` (string, **required**) — Avatar address.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Array of at-scale invitations (shape illustrative).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Get accounts invited by an avatar

> Returns accounts invited by a specific avatar (accepted or pending).\
> \
> \*\*Positional \`params\`:\*\*\
> 1\. \`address\` (string, \*\*required\*\*) — Inviter avatar address.\
> 2\. \`accepted\` (boolean, optional, default \`false\`) — \`true\` = registered accounts,\
> &#x20;  \`false\` = pending invitations.<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"SDK Methods","description":"Higher-level aggregated views used by the Circles SDK."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circles_getInvitationsFrom":{"post":{"tags":["SDK Methods"],"operationId":"circles_getInvitationsFrom","summary":"Get accounts invited by an avatar","description":"Returns accounts invited by a specific avatar (accepted or pending).\n\n**Positional `params`:**\n1. `address` (string, **required**) — Inviter avatar address.\n2. `accepted` (boolean, optional, default `false`) — `true` = registered accounts,\n   `false` = pending invitations.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Invited accounts with status and enriched avatar info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```

## Find a transitive payment path

> Calculates a transitive payment path through the trust network. Unlike most Circles\
> methods, this takes a single \*\*object\*\* as the only \`params\` element.\
> \
> \*\*\`params\[0]\` object fields:\*\*\
> \- \`source\` (string, \*\*required\*\*) — Source address.\
> \- \`sink\` (string, \*\*required\*\*) — Destination address.\
> \- \`targetFlow\` (string, \*\*required\*\*) — Target amount as a \`uint256\` string (in wei).\
> &#x20; Use the max \`uint256\`\
> &#x20; (\`115792089237316195423570985008687907853269984665640564039457584007913129639935\`)\
> &#x20; for a max-flow query.\
> \- \`withWrap\` (boolean, optional) — Enable ERC20 wrapping.\
> \- \`fromTokens\` / \`toTokens\` (string\[], optional) — Whitelist source/destination tokens.\
> \- \`excludedFromTokens\` / \`excludedToTokens\` (string\[], optional) — Blacklist tokens.\
> \- \`simulatedBalances\` (object\[], optional) — Override balances for testing.\
> \- \`simulatedTrusts\` (object\[], optional) — Override trusts for testing.\
> \- \`simulatedConsentedAvatars\` (string\[], optional) — Pre-consented avatars.\
> \- \`maxTransfers\` (integer, optional) — Max transfer hops.\
> \- \`quantizedMode\` (boolean, optional) — 96 CRC quantization for invitations.\
> \
> \> Routed to the Pathfinder, which shares the RPC root URL (\`/\`).<br>

```json
{"openapi":"3.0.3","info":{"title":"Circles RPC API","version":"1.0.0"},"tags":[{"name":"Pathfinder","description":"Transitive payment path finding through the trust graph."}],"servers":[{"url":"https://rpc.aboutcircles.com","description":"Production"}],"paths":{"/#circlesV2_findPath":{"post":{"tags":["Pathfinder"],"operationId":"circlesV2_findPath","summary":"Find a transitive payment path","description":"Calculates a transitive payment path through the trust network. Unlike most Circles\nmethods, this takes a single **object** as the only `params` element.\n\n**`params[0]` object fields:**\n- `source` (string, **required**) — Source address.\n- `sink` (string, **required**) — Destination address.\n- `targetFlow` (string, **required**) — Target amount as a `uint256` string (in wei).\n  Use the max `uint256`\n  (`115792089237316195423570985008687907853269984665640564039457584007913129639935`)\n  for a max-flow query.\n- `withWrap` (boolean, optional) — Enable ERC20 wrapping.\n- `fromTokens` / `toTokens` (string[], optional) — Whitelist source/destination tokens.\n- `excludedFromTokens` / `excludedToTokens` (string[], optional) — Blacklist tokens.\n- `simulatedBalances` (object[], optional) — Override balances for testing.\n- `simulatedTrusts` (object[], optional) — Override trusts for testing.\n- `simulatedConsentedAvatars` (string[], optional) — Pre-consented avatars.\n- `maxTransfers` (integer, optional) — Max transfer hops.\n- `quantizedMode` (boolean, optional) — 96 CRC quantization for invitations.\n\n> Routed to the Pathfinder, which shares the RPC root URL (`/`).\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcRequestBase"}]}}},"required":true},"responses":{"200":{"description":"Computed flow with the ordered list of transfers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}}}}}},"components":{"schemas":{"JsonRpcRequestBase":{"type":"object","required":["jsonrpc","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0","description":"JSON-RPC protocol version. Always `\"2.0\"`."},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1,"description":"Request identifier echoed back in the response."},"method":{"type":"string","description":"The RPC method name (also selects routing on the single root endpoint)."},"params":{"type":"array","description":"Positional parameters for the method (see each operation for the order and types). Pathfinder and query methods take a single object as the first element.","items":{}}},"description":"JSON-RPC 2.0 request envelope. Sent via `POST` to the server root (`/`)."},"JsonRpcResponse":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"result":{"description":"Method-specific result. Present on success; see the example for each operation. (Type varies: string, object, array, boolean, …)"},"error":{"$ref":"#/components/schemas/JsonRpcError"}},"description":"JSON-RPC 2.0 response envelope. On success `result` is present; on failure `error` is present instead (still returned with HTTP `200`)."},"JsonRpcError":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"description":"Optional additional error detail."}},"description":"JSON-RPC 2.0 error object."}}}}
```
