n8n community node for AGIRAILS ACTP (Agent Commerce Transaction Protocol) - enables AI agent payments and escrow in n8n workflows
n8n-nodes-actp is an early-stage TypeScript project in the AI payments / x402 ecosystem. It currently has 3 GitHub stars and 0 forks.
The official n8n community node for the Agent Commerce Transaction Protocol (ACTP) - add AI agent payment rails to any n8n workflow with blockchain-based escrow.
n8n-nodes-actpnpm install n8n-nodes-actp
Add to your n8n Dockerfile:
RUN cd /usr/local/lib/node_modules/n8n && npm install n8n-nodes-actp
| Field | Description |
|---|---|
| Environment | mock (testing), testnet (Base Sepolia), or mainnet (Base) |
| Private Key | Your wallet private key (required for testnet/mainnet) |
| RPC URL | Optional custom RPC endpoint |
Beginner-friendly operations with smart defaults and helpful action hints.
| Operation | Description | Use Case |
|---|---|---|
| Send Payment | Create and fund a transaction in one step | Pay an AI agent for a service |
| Check Status | Get transaction status with next action hints | Monitor payment progress |
| Start Work | Provider accepts and begins work | Accept a job request |
| Mark Delivered | Provider marks work as complete | Signal job completion |
| Release Payment | Release escrowed funds to provider | Approve and pay |
| Raise Dispute | Dispute a delivery | Contest unsatisfactory work |
| Cancel | Cancel before delivery | Abort a transaction |
Full protocol control for complex integrations and custom workflows.
| Operation | Description |
|---|---|
| Create Transaction | Create transaction without funding |
| Link Escrow | Fund and commit to a transaction |
| Transition State | Manual state transitions (QUOTED, IN_PROGRESS, DELIVERED) |
| Release Escrow | Release with optional EAS attestation |
| Get Transaction | Retrieve full transaction details |
| Get Escrow Balance | Check locked escrow amount |
INITIATED → QUOTED → COMMITTED → IN_PROGRESS → DELIVERED → SETTLED
↘ ↘ ↘
CANCELLED CANCELLED DISPUTED → SETTLED
| State | Description |
|---|---|
INITIATED |
Transaction created, awaiting escrow |
QUOTED |
Provider submitted price quote |
COMMITTED |
Escrow linked, funds locked |
IN_PROGRESS |
Provider actively working |
DELIVERED |
Work delivered with proof |
SETTLED |
Payment released (terminal) |
DISPUTED |
Under dispute resolution |
CANCELLED |
Cancelled before completion |
[Webhook Trigger] → [ACTP: Send Payment] → [AI Agent Node] → [ACTP: Mark Delivered] → [ACTP: Release Payment]
[Schedule Trigger] → [ACTP: Check Status] → [IF: Is Delivered?] → [Slack: Notify]
[HTTP Request] → [ACTP: Create Transaction] → [Code: Select Provider] → [ACTP: Link Escrow] → [Wait] → [ACTP: Check Status]
# For testnet operations
BASE_SEPOLIA_RPC=https://sepolia.base.org
BASE_SEPOLIA_PRIVATE_KEY=0x...
# For mainnet operations
BASE_MAINNET_RPC=https://mainnet.base.org
BASE_MAINNET_PRIVATE_KEY=0x...
| Field | Required | Description |
|---|---|---|
environment |
Yes | mock, testnet, or mainnet |
privateKey |
Testnet/Mainnet | Wallet private key (never logged) |
rpcUrl |
No | Custom RPC endpoint override |
stateDirectory |
No | Mock mode state persistence path |
The node provides structured errors for reliable workflow automation:
ACTPError (base)
├── TransactionNotFoundError
├── InvalidStateTransitionError
├── InsufficientBalanceError
├── DeadlinePassedError
├── ValidationError
│ ├── InvalidAddressError
│ └── InvalidAmountError
└── NetworkError
└── TransactionRevertedError
Use the Error Trigger node to handle failures gracefully.
| Network | Chain ID | Status |
|---|---|---|
| Mock | - | ✅ Local Development |
| Base Sepolia | 84532 | ✅ Testnet |
| Base Mainnet | 8453 | ✅ Production |
# Clone repository
git clone https://github.com/agirails/n8n-nodes-actp.git
cd n8n-nodes-actp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Run tests with coverage
npm test -- --coverage
# Development mode (watch)
npm run dev
# Lint
npm run lint
# Format
npm run format
# Set environment variables
export BASE_SEPOLIA_RPC=https://sepolia.base.org
export BASE_SEPOLIA_PRIVATE_KEY=0x...
# Run integration tests
npm test
| Property | Type | Description |
|---|---|---|
mode |
simple | advanced |
Operation mode |
operation |
string | Selected operation |
provider |
string | Provider wallet address |
amount |
string | Amount in USDC |
deadline |
string | Transaction deadline |
transactionId |
string | Existing transaction ID |
| Field | Type | Description |
|---|---|---|
txId |
string | Transaction ID |
state |
string | Current state |
amount |
string | Transaction amount |
provider |
string | Provider address |
requester |
string | Requester address |
escrowId |
string | Escrow ID (if linked) |
nextAction |
string | Suggested next action (Simple mode) |
Ensure your wallet has enough USDC for the transaction amount plus gas fees.
Verify the transaction ID is correct and exists on the selected network.
Check the transaction lifecycle diagram - some transitions are only valid from specific states.
Testnet and mainnet modes require a private key in credentials.
Apache 2.0 License - see LICENSE for details.
The agent-native LLM router for autonomous agents. 55+ models (8 free), <1ms local routing, USDC payments on Base & Solana via x402.
A payments protocol for the internet. Built on HTTP.
A local-first AI agent with persistent memory, emotional intelligence, and a peer-to-peer skills economy.
The trust layer for agent-to-agent commerce — natural-language mandates, ERC-7710 delegated permissions, x402 payments, escrow, and dispute resolution as one open, catch-all Agent Skill / Claude Code plugin.
Self-healing infrastructure for AI agent payments. 90.3% auto-recovery.
The AI agent with a wallet — spends USDC autonomously to get real work done. Apache-2.0, TypeScript.