Core APIUserAddress

/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.

GET
/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.

Path Parameters

address*string

User address

Match^0x[a-fA-F0-9]+$

Query Parameters

chainId?number

Optional. Chain ID

Default1
isDepositAndBridge?string

Optional. Indicates if the compliance check is for deposit and bridge interaction. Defaults to false.

Defaultfalse
isZapper?string

Optional. Indicates if bridge uses zapper (usdt -> usdc swap). Defaults to false.

Defaultfalse
isSolana?string

Optional. Indicates solana deposits. Defaults to false.

Defaultfalse
isNewProxy?string

Optional. Indicates if the new proxy is used. Defaults to false.

Defaultfalse
nestComposerAddress?string

Optional. The Nest composer address extracted from CCTP hook data. Required for Solana deposits.

Match^0x[a-fA-F0-9]{40}$
predicateFromAddress?string

Optional. Override predicate "from" with executor address (bundled EVM flow).

Match^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"      ]    }  }}