/user/{address}/compliance
Checks whether an address meets compliance requirements and returns a predicateMessage for V1 transactions when eligible. Compliance requests are limited per chain and wallet to 10 per 10 seconds, 100 per 10 minutes, and 2,000 per UTC day. These limits allow short bursts while restricting sustained traffic. All three limits apply at once and are shared across V1 requests and V2 purpose=transaction requests, including requests for different vaults and flows. Use V2 purpose=preview to check eligibility only; preview requests do not consume this rate limit. On HTTP 429, wait the number of seconds in Retry-After before retrying.
Checks whether an address meets compliance requirements and returns a predicateMessage for V1 transactions when eligible. Compliance requests are limited per chain and wallet to 10 per 10 seconds, 100 per 10 minutes, and 2,000 per UTC day. These limits allow short bursts while restricting sustained traffic. All three limits apply at once and are shared across V1 requests and V2 purpose=transaction requests, including requests for different vaults and flows. Use V2 purpose=preview to check eligibility only; preview requests do not consume this rate limit. On HTTP 429, wait the number of seconds in Retry-After before retrying.
Path Parameters
User address
^0x[a-fA-F0-9]+$Query Parameters
Optional. Chain ID
1Optional. Indicates if the compliance check is for deposit and bridge interaction. Defaults to false.
falseOptional. Indicates if bridge uses zapper (usdt -> usdc swap). Defaults to false.
falseOptional. Indicates solana deposits. Defaults to false.
falseOptional. Indicates if the new proxy is used. Defaults to false.
falseOptional. The Nest composer address extracted from CCTP hook data. Required for Solana deposits.
^0x[a-fA-F0-9]{40}$Optional. Override predicate "from" with executor address (bundled EVM flow).
^0x[a-fA-F0-9]{40}$Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/user/0x1234567890123456789012345678901234567890/compliance"{ "data": { "isCompliant": true, "predicateMessage": { "taskId": "string", "expireByBlockNumber": 0, "expireByTime": 0, "signerAddresses": [ "string" ], "signatures": [ "string" ] } }}/token-holders GET
Gets all token holders across all Nest vaults, aggregated by address and token
/user/{address}/compliance-v2 GET
Checks whether an address meets compliance requirements. Use purpose=preview to check eligibility only, or purpose=transaction to also obtain the attestation and complianceData needed to submit a transaction. Defaults to purpose=transaction. Compliance requests are limited per chain and wallet to 10 per 10 seconds, 100 per 10 minutes, and 2,000 per UTC day. These limits allow short bursts while restricting sustained traffic. All three limits apply at once and are shared across V1 requests and V2 purpose=transaction requests, including requests for different vaults and flows. Use V2 purpose=preview to check eligibility only; preview requests do not consume this rate limit. On HTTP 429, wait the number of seconds in Retry-After before retrying.