Platform

Create wallet spend policy

Changed on

Create an app-wide spend policy that governs what embedded wallet users can do with their wallets. Policies apply to all connected users by default and can be overridden per-user via connection-level policies.

post/v1/platform/apps/{appId}/spend-policies

Request

  • Base URL: https://api.1claw.co
  • URL: https://api.1claw.co/v1/platform/apps/{appId}/spend-policies
  • Auth: HTTP bearer

Path parameters

appIdstring uuid required

Request body

user_idstring uuid

Scope to a specific user (app-level policies only)

to_allowliststring[]

Permitted destination addresses (empty = unrestricted)

to_denyliststring[]

Blocked destination addresses

max_value_per_tx_ethstring

Maximum value per transaction in ETH (decimal string)

daily_limit_ethstring

Rolling 24h spend cap in ETH (decimal string)

allowed_chainsstring[]

Chains the user may transact on (empty = all enabled)

allowed_tokensstring[]

Permitted ERC-20 token contract addresses

max_transactions_per_dayinteger

Maximum number of transactions per 24h window

inference_allowance_usdstring

Monthly LLM inference allowance in USD (decimal string)

inference_reserved_pctinteger

Percent of allowance held in reserve (not spendable)

inference_hard_stopboolean

When true, block inference when allowance is exhausted

inference_allowance_mode'policy' | 'credits'
max_request_cost_usdstring

Maximum estimated cost per LLM request in USD

human_factor_authobject

Human factor auth requirements for send/swap/export. Fields: send, swap, export (password_or_passkey | passkey_only | passkey_required | password_only | reauth_token_only), conditional.require_passkey_above_usd, conditional.require_passkey_for_new_recipient.

Response

Spend policy created

idstring uuid required
org_idstring uuid required
platform_app_idstring uuid nullable
user_idstring uuid nullable
to_allowliststring[]
to_denyliststring[]
max_value_per_tx_ethstring nullable
daily_limit_ethstring nullable
allowed_chainsstring[]
allowed_tokensstring[]
max_transactions_per_dayinteger nullable
inference_allowance_usdstring nullable
inference_reserved_pctinteger nullable
inference_hard_stopboolean nullable
inference_allowance_modestring nullable
max_request_cost_usdstring nullable
human_factor_authobject nullable
is_activeboolean required
created_atstring date-time required
updated_atstring date-time required

Changes

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became optional for the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status