Wallets

Derive (and persist) a smart wallet address from (owner, salt, factory)

Changed on

Idempotent "ensure exists". Returns the deterministic CREATE2-derived address. POST (not GET) because it persists a wallet record server-side as a side effect of the derivation. Authorize with a user Bearer JWT or a partner assertion (scope: read) whose sub is the owner EOA.

post/wallets

Request

  • Base URL
    https://api.avaprotocol.org/api/v1
  • Auth
    • HTTP bearer
    • or API key in header X-Partner-Assertion

Request body

saltstring required

Salt as a decimal string (big-int). Determines the derived address together with the factory.

factoryAddressstring

Lowercase or checksummed hex EOA / contract address.

chainIdinteger

Numeric chain ID (e.g. 11155111 for Sepolia, 8453 for Base). On chain-aware trigger/node configs this is required and must be a configured chain; on query/filter params it is optional.

Example request

{
  "factoryAddress": "0x82F2Dd9a552a69f2ceD7Ff2D05c43aB8430158FB",
  "chainId": 11155111
}

Response

Wallet derived (existing record returned if already present).

addressstring required

Lowercase or checksummed hex EOA / contract address.

saltstring required

Salt used in CREATE2 derivation (decimal string). Empty for kind: eoa_7702 (no factory, no salt).

factoryAddressstring

Lowercase or checksummed hex EOA / contract address.

kind'eoa_7702'

Empty/omitted for derived CREATE2 wallets. eoa_7702 is the owner's EOA delegated to SemiModularAccount7702.

delegatestring

Lowercase or checksummed hex EOA / contract address.

isHiddenboolean
totalWorkflowCountinteger
enabledWorkflowCountinteger
completedWorkflowCountinteger
failedWorkflowCountinteger
disabledWorkflowCountinteger

Example response

{
  "address": "0x82F2Dd9a552a69f2ceD7Ff2D05c43aB8430158FB",
  "factoryAddress": "0x82F2Dd9a552a69f2ceD7Ff2D05c43aB8430158FB",
  "delegate": "0x82F2Dd9a552a69f2ceD7Ff2D05c43aB8430158FB"
}

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status