/user/{address}/compliance-v2
Predicate V2 compliance check for the ComplianceProxy stack. Returns a one-time attestation (spent on-chain on success, short-lived) ABI-encoded as `complianceData`. Use purpose=preview to prefetch without receiving a proof; request purpose=transaction immediately before sending to take an unused proof once or fetch a new one. Runs in parallel with the V1 `/compliance` route.
Predicate V2 compliance check for the ComplianceProxy stack. Returns a one-time attestation (spent on-chain on success, short-lived) ABI-encoded as complianceData. Use purpose=preview to prefetch without receiving a proof; request purpose=transaction immediately before sending to take an unused proof once or fetch a new one. Runs in parallel with the V1 /compliance route.
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
V2 only: preview caches an unused attestation for up to 30 seconds and returns eligibility/routing without a proof. Transaction takes a proof once or fetches a new one. Defaults to transaction; V1 behavior is unchanged.
"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" } }}