Actions & Adapters
Tools for managing HAL actions and adapters — the core building blocks of the HAL Expression System .
Actions are executable batches of write functions for on-chain transactions. Adapters are reusable functions (write, read, or code) that can be imported into actions or other adapters.
Search Actions & Adapters
Search existing actions and adapters before creating new ones — existing adapters can be imported directly into new actions.
Parameters
Parameter Required Description expressionTypeNo action, adapter, or both (default)nameNo Search by name scopeNo Filter by yours and/or verified contractAddressNo Filter by contract address functionSignatureNo Filter by function signature (4-byte selector) blockchainNo ethereum or basepageNo Page number for pagination (20 per page)
Example Queries
Search for existing USDC transfer adapters
Find verified swap actions on Base
Get Action or Adapter
Retrieve a specific action or adapter by ID, including its full HAL expression.
Parameters
Parameter Required Description idYes Action or adapter ID versionNameNo Version name (e.g. v1); defaults to latest includeReferencesNo When true, inlines imported expressions and code blocks
Create Action
Create a new action from a HAL expression. Actions have batched steps — each batch contains write-function calls.
Before creating an action, read the HAL documentation using the Documentation tool with document IDs hal://spec/syntax, hal://spec/modules/herd, and hal://spec/examples. Search for existing adapters first with the search tool above.
Parameters
Parameter Required Description nameYes Action name descriptionNo Description of what the action does expressionYes HAL expression (JSON array) publishNo Publish immediately (true/false)
Create Adapter
Create a new adapter from a HAL expression. Adapters encapsulate reusable logic (queries and writes) for import into actions.
Parameters
Parameter Required Description nameYes Adapter name descriptionNo Description of what the adapter does expressionYes HAL expression (JSON array) publishNo Publish immediately (true/false)
Start with logic in actions — extract to adapters when you see the same pattern repeated across multiple actions.
Update Action
Update an existing action’s name, description, expression, or publish status.
Parameters
Parameter Required Description idYes Action ID nameNo New name descriptionNo New description expressionNo JSON Patch operations (RFC 6902) to modify the expression publishNo Publish the latest version
Expression updates use JSON Patch operations: add, remove, replace, move, copy, test. Paths use JSON Pointer syntax (e.g., /0, /1/2, /1/2/1).
Update Adapter
Update an existing adapter’s name, description, expression, or publish status. Same parameters and patch format as Update Action.
Parameters
Parameter Required Description idYes Adapter ID nameNo New name descriptionNo New description expressionNo JSON Patch operations (RFC 6902) to modify the expression publishNo Publish the latest version
Delete Action or Adapter
Delete an action or adapter by ID.
Parameters
Parameter Required Description idYes Action or adapter ID
Deletion fails if the action/adapter is auto-synced to a code block (delete the code block instead) or if other actions/adapters import it.
Workflow
Search for existing adapters that do what you need
Read HAL documentation if creating new expressions
Create adapters for reusable logic, actions for transactions
Simulate with Evaluation tools before publishing
Publish once tested
Next Steps
HAL Reference Full HAL language documentation
Evaluation Simulate before publishing