# User

## GET /user/{address}/compliance

> Checks compliance for a user and retrieves predicate message if compliant

```json
{"openapi":"3.0.0","info":{"title":"Nest API","version":"1.0.0"},"servers":[{"url":"https://api.nest.credit/v1","description":"Nest API Server"}],"paths":{"/user/{address}/compliance":{"get":{"tags":["User"],"description":"Checks compliance for a user and retrieves predicate message if compliant","parameters":[{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"User address"},"required":true,"description":"User address","name":"address","in":"path"},{"schema":{"type":"number","default":1,"description":"Optional. Chain ID"},"required":false,"description":"Optional. Chain ID","name":"chainId","in":"query"},{"schema":{"type":"string","default":false,"description":"Optional. Indicates if the compliance check is for deposit and bridge interaction. Defaults to false."},"required":false,"description":"Optional. Indicates if the compliance check is for deposit and bridge interaction. Defaults to false.","name":"isDepositAndBridge","in":"query"},{"schema":{"type":"string","default":false,"description":"Optional. Indicates if bridge uses zapper (usdt -> usdc swap). Defaults to false."},"required":false,"description":"Optional. Indicates if bridge uses zapper (usdt -> usdc swap). Defaults to false.","name":"isZapper","in":"query"},{"schema":{"type":"string","default":false,"description":"Optional. Indicates solana deposits.  Defaults to false."},"required":false,"description":"Optional. Indicates solana deposits.  Defaults to false.","name":"isSolana","in":"query"},{"schema":{"type":"string","default":false,"description":"Optional. Indicates if the new proxy is used. Defaults to false."},"required":false,"description":"Optional. Indicates if the new proxy is used. Defaults to false.","name":"isNewProxy","in":"query"},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Optional. The Nest composer address extracted from CCTP hook data. Required for Solana deposits."},"required":false,"description":"Optional. The Nest composer address extracted from CCTP hook data. Required for Solana deposits.","name":"nestComposerAddress","in":"query"},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Optional. Override predicate \"from\" with executor address (bundled EVM flow)."},"required":false,"description":"Optional. Override predicate \"from\" with executor address (bundled EVM flow).","name":"predicateFromAddress","in":"query"}],"responses":{"200":{"description":"Compliance","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"isCompliant":{"type":"boolean"},"predicateMessage":{"$ref":"#/components/schemas/PredicateMessage"}},"required":["isCompliant","predicateMessage"]}},"required":["data"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}}},"components":{"schemas":{"PredicateMessage":{"type":"object","properties":{"taskId":{"type":"string","nullable":true},"expireByBlockNumber":{"type":"number","nullable":true,"deprecated":true,"description":"Deprecated field. Use `expireByTime` instead."},"expireByTime":{"type":"number","nullable":true},"signerAddresses":{"type":"array","items":{"type":"string","pattern":"^0x[a-fA-F0-9]+$"}},"signatures":{"type":"array","items":{"type":"string","pattern":"^0x[a-fA-F0-9]+$"}}},"required":["taskId","expireByBlockNumber","expireByTime","signerAddresses","signatures"]}}}}
```

## GET /user/{address}/details

> Gets user's current TVL and weighted average APY across all vault holdings

```json
{"openapi":"3.0.0","info":{"title":"Nest API","version":"1.0.0"},"servers":[{"url":"https://api.nest.credit/v1","description":"Nest API Server"}],"paths":{"/user/{address}/details":{"get":{"tags":["User"],"description":"Gets user's current TVL and weighted average APY across all vault holdings","parameters":[{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"User wallet address"},"required":true,"description":"User wallet address","name":"address","in":"path"}],"responses":{"200":{"description":"User details","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tvl":{"type":"number","description":"User's current total value locked across all vaults (USD)"},"apy":{"type":"number","description":"User's weighted average APY across all vault holdings (decimal, e.g., 0.05 = 5%)"}},"required":["tvl","apy"]}},"required":["data"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nest.credit/developers/api/user.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
