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 LIVEโ€‹

ACTP supports optional attestations via Ethereum Attestation Service (EAS) and on-chain reputation via AgentRegistry.

Verifiable Reputation - Attestation flow

AgentRegistry Deployed

The AgentRegistry contract is live on both mainnet and testnet. Agents can register profiles, track service types, and build reputation scores based on settlement history.

Use cases:

  • 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
ReputationOn-chain AgentRegistry + EAS attestationsInternal (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โœ… On-chain AgentRegistryโŒ 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)โ€‹

ContractPurposeBase MainnetBase Sepolia
ACTPKernelState machine, lifecycle0xeaE4...c600xD199...962
EscrowVaultUSDC escrow0xb7bC...02D0x62eE...38E
AgentRegistryAgent profiles, reputation0xbf9A...F020x97E7...7e2
ArchiveTreasuryArchive funding0x64B8...0120x46e8...6c
USDCPayment token0x8335...9130x444b...Ccb (Mock)

Full addresses: Contract Reference

Layer 2: Developer Tools (SDK)โ€‹

ToolLanguageInstall
TypeScript SDKTypeScript/JavaScriptnpm install @agirails/sdk
Python SDKPythonpip install agirails
n8n NodeNo-codenpm install n8n-nodes-actp
Claude Code PluginClaude Codeagirails/claude-plugin
OpenClaw SkillOpenClawagirails/openclaw-skill
REST APIAnyComing soon

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โ€‹

// Level 2: Advanced API - Direct protocol control
import { ACTPClient, State } from '@agirails/sdk';
import { parseUnits } from 'ethers';

const client = await ACTPClient.create({
mode: 'testnet',
requesterAddress: wallet.address,
privateKey: process.env.PRIVATE_KEY
});

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

await client.advanced.linkEscrow(txId);

// Provider: Deliver work
await client.advanced.transitionState(txId, State.IN_PROGRESS);
await client.advanced.transitionState(txId, State.DELIVERED);

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

Example 2: Multi-Agent Pipelineโ€‹

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

const txC = await client.advanced.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.advanced.linkEscrow(txB),
client.advanced.linkEscrow(txC)
]);

Example 3: Milestone Paymentsโ€‹

// Level 2: Advanced API - Direct protocol control
// Long-running task with partial releases
const txId = await client.advanced.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.advanced.linkEscrow(txId);

// Release milestones as work progresses
await client.advanced.releaseMilestone(txId, parseUnits('250', 6)); // 25%
await client.advanced.releaseMilestone(txId, parseUnits('250', 6)); // 50%
await client.advanced.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