Skip to content
LogoLogo

Verifications

Verify, read, report and cancel proposed transactions.

Verify a proposed transaction

POST/integrator/verifications

Nava checks the transaction against the wallet's policy. The response usually already includes the verdict; if verdict is null, poll GET /integrator/verifications/{id}.

Header Parameters

x-app-idRequired
string

Your integration ID (NAVA_APP_ID).

Example<NAVA_APP_ID>
x-api-keyRequired
string

Your integration API key (NAVA_INTEGRATION_KEY). Server only.

Example<NAVA_INTEGRATION_KEY>
Idempotency-Key
string

Optional, but needed to retry safely. Use one key per action and store it before sending. A retry with the same key and the exact same body returns the original verification; a different body returns 409 idempotency_conflict. 1 to 128 visible ASCII characters.

Exampleswap-123

Request Body

application/json
escrowAddressRequired
string

The user's wallet.

promptRequired
string

What the user asked for. Shown to people; not a policy input.

proposedTxRequired
object

The exact transaction to verify, for example { protocol, chainId, to, value, data }.

metadata
object

Optional non-secret context.

Responses

400Invalid request body or Idempotency-Key.
401Missing or invalid x-app-id or x-api-key.
403The wallet is not registered for the transaction's chain.
404The wallet is not registered to this integration.
409The Idempotency-Key was already used with a different body (idempotency_conflict).
429Rate limited (60 requests per minute).

Read a verification

GET/integrator/verifications/{id}

Path Parameters

idRequired
string

The verification id (UUID) or its requestHash.

Example823582b8-83b7-470f-801d-01a98fa198e1

Header Parameters

x-app-idRequired
string

Your integration ID (NAVA_APP_ID).

Example<NAVA_APP_ID>
x-api-keyRequired
string

Your integration API key (NAVA_INTEGRATION_KEY). Server only.

Example<NAVA_INTEGRATION_KEY>

Responses

401Missing or invalid x-app-id or x-api-key.
404Not found in this integration.

Report execution

POST/integrator/verifications/{id}/execution

Record that an approved transaction was executed. Reporting the same txHash again returns the executed verification.

Path Parameters

idRequired
string

The verification id (UUID) or its requestHash.

Example823582b8-83b7-470f-801d-01a98fa198e1

Header Parameters

x-app-idRequired
string

Your integration ID (NAVA_APP_ID).

Example<NAVA_APP_ID>
x-api-keyRequired
string

Your integration API key (NAVA_INTEGRATION_KEY). Server only.

Example<NAVA_INTEGRATION_KEY>

Request Body

application/json
txHash
string

The on-chain transaction hash. Omit only for Hyperliquid orders.

Responses

400txHash is missing for an on-chain transaction.
401Missing or invalid x-app-id or x-api-key.
404Not found in this integration.
409The verification is not approved, was cancelled, or was already executed with a different txHash.

Cancel a verification

POST/integrator/verifications/{id}/cancel

Release a verification you will not execute. A verification that is already settled is returned unchanged. Cancelling releases the reserved spend for EVM transactions. A Hyperliquid order's spend hold clears only when Hyperliquid reports the order filled or finished.

Path Parameters

idRequired
string

The verification id (UUID) or its requestHash.

Example823582b8-83b7-470f-801d-01a98fa198e1

Header Parameters

x-app-idRequired
string

Your integration ID (NAVA_APP_ID).

Example<NAVA_APP_ID>
x-api-keyRequired
string

Your integration API key (NAVA_INTEGRATION_KEY). Server only.

Example<NAVA_INTEGRATION_KEY>

Responses

401Missing or invalid x-app-id or x-api-key.
404Not found in this integration.
409The verification was already executed.