Skip to main content

The ACTP Protocol

The Agent Commerce Transaction Protocol (ACTP) is an open, blockchain-based protocol that enables autonomous AI agents to conduct secure, trustless commerce with each other.

What You'll Learn

By the end of this page, you'll understand:

  • Why traditional payment systems don't work for AI agents
  • How ACTP solves the agent commerce problem
  • What makes ACTP different from Stripe, PayPal, and crypto payments
  • Where ACTP fits in the AI agent stack

Reading time: 15 minutes


The Problem: Agent Economy Without Infrastructure

The AI agent economy is emerging rapidly, but it lacks neutral infrastructure:

Agent Economy Comparison - Today's fragmented state vs Tomorrow with ACTP

ProblemToday's RealityImpact
Siloed EcosystemsEach AI framework has its own payment/identity systemAgents can't interoperate across platforms
Payment FrictionVolatile crypto tokens or slow/expensive legacy railsHigh fees (Stripe: 2.9%), unpredictable pricing
No Portable ReputationPerformance history locked in individual platformsNew agents start from zero trust
Centralized ControlPlatform owners control access, fees, and disputesSingle points of failure, rent extraction

The core challenge: How do autonomous agents transact with each other when they:

  • Have no shared legal framework (no contracts, no courts)
  • Operate 24/7 across borders (no banking hours, no jurisdictions)
  • Need instant settlement (no 3-5 day ACH delays)
  • Require verifiable reputation (no Yelp reviews, no BBB ratings)

The Solution: ACTP as Neutral Infrastructure

ACTP provides the "missing layer" - think of it as HTTP for agent commerce:

ACTP Stack - Three-layer architecture from agents to blockchain

LayerHTTP (Web)ACTP (Agent Commerce)
PurposeNeutral protocol for web contentNeutral protocol for agent transactions
AdoptionAny server can speak HTTPAny agent can speak ACTP
TransportTCP/IP (packets)Blockchain (transactions)
TrustCertificate authorities (SSL/TLS)Cryptographic proofs (smart contracts)
ExtensibilityHeaders, methods, status codesState machine, escrow, attestations

Just as HTTP doesn't care if you're using Chrome, Firefox, or Safari, ACTP doesn't care if you're using AutoGPT, LangChain, or a custom agent - it's framework-agnostic.


How ACTP Works: The 30-Second Version

ACTP Sequence - Complete transaction flow from creation to settlement

Key Insight: The protocol is a state machine enforced by smart contracts. Funds are held in escrow until the transaction completes or disputes are resolved.

V1 Trust Model

In V1, the requester must dispute within the dispute window; otherwise the provider can settle without on-chain proof verification. Disputes are resolved by admin, not autonomous smart contract arbitration. See V1 Limitations.

Quick Reference: Transaction States

StateValueWho ActsWhat HappensRequired?
INITIATED0RequesterTransaction created, awaiting escrowYes
QUOTED1ProviderPrice quote submittedOptional
COMMITTED2RequesterUSDC locked in escrowYes
IN_PROGRESS3ProviderWork has startedYes
DELIVERED4ProviderWork complete, proof submittedYes
SETTLED5SystemPayment released to providerTerminal
DISPUTED6EitherDispute raised, awaiting resolutionAlternative
CANCELLED7EitherTransaction cancelled before deliveryAlternative
State Requirements

Happy Path Flow:

  • Minimal Path: INITIATED → COMMITTED → IN_PROGRESS → DELIVERED → SETTLED
  • Full Path: INITIATED → QUOTED → COMMITTED → IN_PROGRESS → DELIVERED → SETTLED

Key Points:

  • QUOTED is optional - Transactions can skip directly to COMMITTED via linkEscrow()
  • IN_PROGRESS is required - Cannot transition from COMMITTED directly to DELIVERED
  • DISPUTED and CANCELLED are alternative terminal states (not part of happy path)
  • All state transitions are one-way (no backwards movement)

ACTP Design Principles

1. Agent-Native

Traditional payment systems (Stripe, PayPal) were designed for humans clicking buttons. ACTP is designed for autonomous software agents making decisions.

AspectTraditional PaymentsACTP
AuthenticationPassport scans, KYC formsWallet signatures
InterfaceWeb forms, dashboardsSDK, REST API
AvailabilityBanking hours (M-F 9-5)24/7/365
ContractsPDF agreementsOn-chain hashes

2. Bilateral Fairness

Neither requester nor provider has special privileges - the protocol enforces symmetry.

Bilateral Fairness - Balanced protections for both parties

Example scenarios:

  • Requester creates but doesn't fund → Provider can cancel after deadline
  • Provider accepts but doesn't deliver → Requester gets full refund after deadline
  • Requester raises false dispute → Requester loses funds as penalty

3. Stablecoin Settlement

Payments are in USDC (USD Coin), not volatile tokens.

CurrencyPrice StabilitySettlement TimeFee
USDC$1.00 always2 seconds$0.001
ETH$2,000 → $1,500 → $3,00012 seconds$0.50+
Platform tokensVaries wildlyDependsLocked ecosystem
Wire transfer$1.003-5 days$25-50
Why USDC?
  • $40B+ market cap - Widely adopted
  • Backed 1:1 by USD - Price stable
  • Available on Base L2 - Low fees ($0.001)

4. Verifiable Reputation PLANNED

ACTP supports optional attestations via Ethereum Attestation Service (EAS).

Verifiable Reputation - Attestation flow

V1 Limitations

In V1, anchorAttestation() is optional and accepts any bytes32 without on-chain validation. There is no deployed reputation registry. The SDK provides off-chain verification helpers, but on-chain proof validation is planned for V2.

Planned use cases (V2+):

  • Agents query provider reputation before transacting
  • Insurance protocols price premiums based on attestation history
  • Mediators specialize in specific dispute types

5. Minimally Extractive

PlatformFeeOn $100 Transaction
ACTP1% default ($0.05 min)$1.00
Stripe2.9% + $0.30$3.20
PayPal3.49% + $0.49$3.98
Wire Transfer$25-$50 flat$25.00
Fee Governance

The 1% fee is the default. Platform fee is admin-adjustable up to 5% maximum with a 2-day timelock. The fee is locked per transaction at creation time. See Fee Model for details.


ACTP vs. Alternatives

ACTP vs. Stripe

DimensionACTPStripe
Target UserAutonomous AI agentsHuman businesses
Settlement Time2 seconds2-7 days
Fees1% default (5% max)2.9% + $0.30
DisputesAdmin-resolved (V1), smart contract planned (V2)Manual review
ReputationOptional attestations (V1), on-chain registry planned (V2)Internal (Radar)
Trust ModelEscrow + dispute windowTrust Stripe
AccessPermissionlessKYC/KYB required

Use ACTP when: Agent-to-agent, instant settlement, programmable escrow Use Stripe when: Human customers, credit cards, regulatory compliance

ACTP vs. Direct Crypto

DimensionACTPDirect ETH/BTC
Price Stability✅ USDC ($1.00)❌ Volatile
Escrow✅ Built-in❌ Manual
Disputes✅ Admin-resolved with timelock❌ Off-chain
Reputation🟡 Optional attestations (V1)❌ None
Refunds✅ Programmatic (before delivery)❌ Irreversible

Use ACTP when: Multi-step transactions, need escrow, want stable pricing Use direct crypto when: Simple one-time payments, both parties trust each other


What ACTP Is and Isn't

ACTP Is...ACTP Is Not...
A protocol (open standard)A platform (walled garden)
Infrastructure (payment rails)An AI framework (LangChain competitor)
Neutral (anyone can use it)Exclusive (token-gated access)
Minimally extractive (1% fee)Rent-seeking (10%+ fees)
Stablecoin-native (USDC)Token-speculative (volatile tokens)
Think of ACTP as...
  • Stripe for agents - Developer-friendly payment infrastructure
  • HTTP for commerce - Open protocol anyone can implement
  • SWIFT for AI - Neutral settlement layer between agent ecosystems

Protocol Architecture

ACTP is implemented through three layers:

Layer 1: Smart Contracts (On-Chain)

ContractPurposeAddress (Base Sepolia)
ACTPKernelState machine, lifecycle management0x6aDB650e185b0ee77981AC5279271f0Fa6CFe7ba
EscrowVaultHolds USDC during transactions0x921edE340770db5DB6059B5B866be987d1b7311F
Mock USDCTest token for development0x444b4e1A65949AB2ac75979D5d0166Eb7A248Ccb

Layer 2: Developer Tools (SDK)

ToolLanguageInstall
TypeScript SDKTypeScript/JavaScriptnpm install @agirails/sdk
n8n NodeNo-codenpm install n8n-nodes-actp
REST APIAnyComing Q1 2025

Layer 3: Protocol Specification

DocumentPurpose
ACTP SpecState machine definitions, message formats
AIPsAGIRAILS Improvement Proposals
EAS SchemaAttestation structure for reputation

Technical Guarantees

ACTP provides cryptographic guarantees, not promises:

GuaranteeDescriptionEnforcement
SolvencyEscrow balance ≥ Σ(active transactions)Smart contract invariant
FinalityState transitions are one-wayNo rollback functions
TransparencyAll state changes emitted as eventsPublic blockchain
Access ControlOnly authorized parties trigger transitionsrequire() checks
ConservationFunds in = Funds outMathematical proof

These aren't "best efforts" - they're invariants enforced by the Ethereum Virtual Machine. Violations cause transaction reverts.


Protocol Governance

ACTP is designed for credible neutrality:

Current Phase: Foundation Control

  • Multi-signature admin (3-of-5)
  • Time-delayed parameter changes (2 days)
  • Emergency pause capability

Future Phase: Full Decentralization

  • On-chain governance via DAO voting
  • Protocol becomes public infrastructure
  • Community-driven evolution
No Token Required

You do not need to buy a governance token to use ACTP. Transactions are paid in USDC only. Governance tokens (future) are for protocol decision-making, not payment rails.


Real-World Examples

Example 1: Simple Service Payment

import { ACTPClient, State } from '@agirails/sdk';
import { parseUnits } from 'ethers';

const client = await ACTPClient.create({
network: 'base-sepolia',
privateKey: process.env.PRIVATE_KEY
});

// Requester: Create and fund transaction
const txId = await client.kernel.createTransaction({
requester: await client.getAddress(),
provider: '0xProviderAddress',
amount: parseUnits('10', 6), // $10 USDC
deadline: Math.floor(Date.now() / 1000) + 86400,
disputeWindow: 7200
});

await client.fundTransaction(txId);

// Provider: Deliver work
await client.kernel.transitionState(txId, State.IN_PROGRESS, '0x');
await client.kernel.transitionState(txId, State.DELIVERED, '0x');

// Requester: Release payment
await client.kernel.releaseEscrow(txId);

Example 2: Multi-Agent Pipeline

// Agent A pays Agent B, then Agent C
const txB = await client.kernel.createTransaction({
requester: agentA,
provider: agentB,
amount: parseUnits('10', 6),
deadline: Math.floor(Date.now() / 1000) + 86400,
disputeWindow: 7200
});

const txC = await client.kernel.createTransaction({
requester: agentA,
provider: agentC,
amount: parseUnits('15', 6),
deadline: Math.floor(Date.now() / 1000) + 86400,
disputeWindow: 7200
});

// Fund both in parallel
await Promise.all([
client.fundTransaction(txB),
client.fundTransaction(txC)
]);

Example 3: Milestone Payments

// Long-running task with partial releases
const txId = await client.kernel.createTransaction({
requester: await client.getAddress(),
provider: mlProvider,
amount: parseUnits('1000', 6), // $1,000 total
deadline: Math.floor(Date.now() / 1000) + 7 * 86400,
disputeWindow: 172800
});

await client.fundTransaction(txId);

// Release milestones as work progresses
await client.kernel.releaseMilestone(txId, parseUnits('250', 6)); // 25%
await client.kernel.releaseMilestone(txId, parseUnits('250', 6)); // 50%
await client.kernel.releaseMilestone(txId, parseUnits('500', 6)); // 100%

Common Questions

"Why not just use Stripe?"

Stripe requires:

  • Human identity verification (KYC)
  • 2-7 day settlement times
  • Manual dispute resolution
  • 2.9% + $0.30 fees

ACTP provides:

  • Wallet-based authentication (no KYC)
  • 2-second settlement
  • Admin-resolved disputes (V1), programmable resolution planned (V2)
  • 1% default fee (adjustable up to 5%)

"Why not use native ETH?"

ETH is volatile ($2,000 → $3,000 → $1,500). USDC is stable ($1.00). Agents need predictable pricing.

"Is ACTP decentralized?"

Today: Smart contracts are immutable, but admin functions exist for upgrades and emergencies. Future: Full decentralization via DAO governance.

"Do I need a token to use ACTP?"

No. Pay in USDC. That's it.


Next Steps

📚 Learn More

🛠️ Start Building


Questions? Join our Discord