Skip to main content

Automations

Automations allow you to create workflows that execute actions automatically based on events occurring on the platform. It's like having a digital assistant taking care of your repetitive operations.

🎯 What are Automations

Basic Concept

  • Hooks (Triggers): Events that start an automation (e.g., PIX received, crypto charge paid).
  • Actions: What happens when the hook is activated (e.g., transfer crypto, swap).
  • Workspaces: Where you organize your automations by project or function.

Practical Example

Scenario: "When receiving a crypto payment, automatically transfer to another wallet."

  • Hook: crypto.charge.paid (payment confirmed)
  • Action: crypto.transfer.new (transfer to specific wallet)

🏗️ Workspaces

What are Workspaces

Workspaces are workspaces where you group related automations. For example:

  • "Automatic Conversions" - For auto-converting currencies
  • "Notifications" - For email/webhook alerts
  • "Rebalancing" - To maintain portfolio proportions

How to Create a Workspace

Step 1: Create Workspace

  1. AutomationsWorkspaces
  2. Click on New Workspace
  3. Define:
    • Name: Workspace identification
    • Description: Purpose
    • Status: Active or inactive

Step 2: Configure Automation

Inside the workspace, configure:

  • Triggers: When to execute
  • Actions: What to execute
  • Conditions: Additional rules

⚡ Hooks (Triggers)

Available Hook Types

💰 Financial Hooks

  • crypto.charge.paid: When a crypto payment is confirmed
  • pix.charge.paid: When a PIX payment is made
  • ramp.on_ramp.completed: When on-ramp is completed
  • ramp.off_ramp.completed: When off-ramp is completed

🔗 Blockchain Hooks

  • evm_wallet.transfer: When there is a transfer between EVM wallets
  • onchain.swap.completed: When on-chain swap is completed
  • cross.swap.completed: When cross-chain swap is completed

⏰ Time Hooks (Scheduler)

  • scheduler: Periodic execution based on resources
    • EvmWallet: Monitors EVM wallets
    • DefiPosition: Monitors DeFi positions

📊 DeFi Hooks

  • defi.position.updated: When DeFi position is updated
  • defi.strategy.position.updated: When DeFi strategy changes

Configuring Hooks

Example: Crypto Charge Paid

Hook: crypto.charge.paid
- Token: USDC
- Minimum Amount: $100
- Network: Polygon
- Wallet: Specific or any

Example: Scheduler for EvmWallet

Hook: scheduler
- Resource: EvmWallet
- Frequency: Every 1 hour
- Network: Ethereum, Polygon, BSC
- Monitor: Balances and transactions

🎬 Actions

Available Action Types

💱 Financial Actions

  • crypto.transfer.new: Transfer crypto between wallets
  • cross.swap.new: Perform cross-chain swap
  • onchain.swap.new: Perform on-chain swap
  • ramp.off_ramp.new: Convert crypto to fiat
  • ramp.on_ramp.new: Convert fiat to crypto

🔍 Query Actions

  • evm_wallet.get_native_balance: Query native balance
  • evm_wallet.get_token_balance: Query token balance
  • defi_position.get_fees_earned: Query earned fees
  • defi_strategy_position.get_details: Get position details

🔄 DeFi Actions

  • defi_strategy_position.deposit: Deposit into strategy
  • defi_strategy_position.withdraw: Withdraw from strategy
  • defi_position.collect_fees: Collect accumulated fees

🧮 Transformation Actions

  • transform.numeric_split: Split value into multiple allocations
  • conditional: Execute action based on condition

Configuring Actions

Example: Crypto Transfer

Action: crypto.transfer.new
- Source Wallet: {events.hooks.crypto_charge_paid.wallet_address}
- Destination Wallet: Specific wallet
- Token: {events.hooks.crypto_charge_paid.token.id}
- Amount: {events.hooks.crypto_charge_paid.amount}

Example: Cross Swap

Action: cross.swap.new
- Source Token: {events.hooks.crypto_charge_paid.token.id}
- Destination Token: USDC
- Amount: {events.hooks.crypto_charge_paid.amount}
- Destination Address: Specific wallet

Example: Numeric Split

Action: transform.numeric_split
- Source Value: {events.hooks.crypto_charge_paid.amount}
- Allocations:
- 50% → Reserve
- 30% → Investment
- 20% → Expenses

🔧 Advanced Configuration

Additional Conditions

Add conditional logic to automations:

IF/THEN/ELSE

IF pix_value > 1000
THEN convert_to_usdc(50%)
AND send_email("Large value received")
ELSE
convert_to_usdc(100%)

Multiple Conditions

IF (day_of_week == "monday") AND (value > 500)
THEN execute_action()

Dynamic Values

Use dynamic paths in automations:

  • {events.hooks.crypto_charge_paid.amount} - Payment amount
  • {events.hooks.crypto_charge_paid.token.id} - Token ID
  • {events.hooks.crypto_charge_paid.wallet_address} - Wallet address
  • {events.actions.123.to_amount} - Result of previous action

Security Limits

Configure limits to protect your automations:

  • Maximum amount per execution
  • Maximum number of executions per day
  • Automatic pause after failures

📊 Executions

Monitoring Executions

Track all executions in AutomationsExecutions:

  • Status: Success, failure, pending
  • Timestamp: When it was executed
  • Trigger: What started the execution
  • Actions: Which actions were executed
  • Logs: Execution details

Execution Status

  • 🟢 Success: Executed without issues
  • 🟡 Pending: Waiting for confirmation
  • 🔴 Failure: Error in execution
  • ⏸️ Canceled: Manually canceled
  • 🔄 Reprocessing: Automatic retry

💡 Common Use Cases

1. Simple Auto-Transfer

Objective: Transfer received crypto to a specific wallet

Workspace: "Auto Transfer"
Hook: crypto.charge.paid
Action: crypto.transfer.new
- Source Wallet: {events.hooks.crypto_charge_paid.wallet_address}
- Destination Wallet: Reserve wallet
- Token: {events.hooks.crypto_charge_paid.token.id}
- Amount: {events.hooks.crypto_charge_paid.amount}

2. Automatic Cross-Chain Swap

Objective: Convert received token to USDC on another network

Workspace: "Auto Convert USDC"
Hook: crypto.charge.paid
Action: cross.swap.new
- Source Token: {events.hooks.crypto_charge_paid.token.id}
- Destination Token: USDC
- Amount: {events.hooks.crypto_charge_paid.amount}
- Destination Address: USDC wallet

3. Automatic Distribution

Objective: Split receipt into multiple allocations

Workspace: "Automatic Distribution"
Hook: crypto.charge.paid
Action: transform.numeric_split
- Source Value: {events.hooks.crypto_charge_paid.amount}
- Allocations:
- 50% → Reserve
- 30% → Investment
- 20% → Expenses

4. Balance Monitoring

Objective: Check wallet balance periodically

Workspace: "Balance Monitor"
Hook: scheduler (EvmWallet)
Action: evm_wallet.get_token_balance
- Wallet: Specific wallet
- Token: USDC
- Conditional Action: If balance < $1000, send alert

5. DeFi Auto-Compound

Objective: Reinvest fees automatically

Workspace: "Auto Compound"
Hook: scheduler (DefiPosition)
Action: defi_position.collect_fees
- Position: {events.hooks.scheduler.position_id}
- Reinvest: Yes
- Strategy: Auto compound

🛡️ Security and Best Practices

Secure Configuration

  • Test with small amounts first
  • Configure maximum limits per execution
  • Use multiple confirmations for high values
  • Monitor executions regularly

Redundancy

  • Don't put everything in one automation
  • Have manual backup for critical operations
  • Configure alerts for failures
  • Review settings periodically
  • Maximum amount per execution: 10% of your portfolio
  • Executions per day: Maximum 20
  • Pause after: 3 consecutive failures

🆘 Troubleshooting

Automation did not execute

  1. Check if it is active in the workspace
  2. Confirm if trigger was actually activated
  3. Check logs for specific errors
  4. Manually test the trigger

Execution failed

  1. Read error logs in the Executions section
  2. Check for sufficient balances for actions
  3. Confirm trigger/action settings
  4. Test with smaller parameters

Slow performance

  1. Simplify complex automations
  2. Reduce frequency of checks
  3. Group related actions
  4. Archive unused workspaces

Next steps: Use the No-Code Editor to create your automations or explore the Event Structure to understand the available data.