/user/{address}/compliance-v2
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.
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.
Path Parameters
Executing sender: the EVM account that will call ComplianceProxy (msg.sender). For relayed / bridged flows this is the relayer, and the end user goes in onBehalf.
^0x[a-fA-F0-9]+$Query Parameters
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. Preview requests do not consume the compliance wallet rate limit; transaction requests do.
"transaction"Value in
- "preview"
- "transaction"
Vault slug selecting its configured Predicate V2 deployment. Required to select an eligible vault.
1 <= lengthEVM chain ID of the ComplianceProxy deployment. Requires an enabled V2 deployment for the selected vault.
0 < valueComplianceProxy operation to attest. deposit covers asset deposits; requestRedeem and instantRedeem cover redemptions. accessCheck covers NestAdapter leverage: sender is the Bundler3 initiator, with an optional represented user. Defaults to deposit.
"deposit"Value in
- "deposit"
- "requestRedeem"
- "instantRedeem"
- "accessCheck"
Optional for deposits and access checks. Represented user when address executes on behalf of someone else. Accepts an EVM address, 32-byte hex identifier, or base58 Solana public key. Deposits always select deposit(bytes32). Access checks select accessCheck(bytes32) only for a nonzero user distinct from sender; otherwise accessCheck(address sender).
Optional registered composer that is both the executing sender and the historical Predicate V2 deployment selector. Requires a deposit on behalf of a represented user.
^0x[a-fA-F0-9]+$Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/user/0x1234567890123456789012345678901234567890/compliance-v2?vault=nest-test-vault&chainId=98866"{ "data": { "isCompliant": true, "chainId": 0, "chain": "plume", "complianceProxyAddress": "string", "hookAddress": "string", "sender": "string", "onBehalf": "string", "payload": "0xd0e30db0", "attestation": { "uuid": "string", "expiration": 0, "attester": "string", "signature": "string" }, "complianceData": "string", "policyId": "string", "policyName": "string", "reason": { "code": "string", "message": "string" } }}/user/{address}/compliance GET
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.
/user/{address}/details GET
Gets user's current TVL and USD-value-weighted average 30-day NAV APY across all vault holdings