Skip to main content
Glama

azeth_create_payment_agreement

Create a recurring payment agreement between participants with a fixed interval. Automates periodic transfers like subscriptions or scheduled payments.

Instructions

Set up a recurring payment agreement to another participant. Payments execute on a fixed interval.

Use this when: You need automated recurring payments (subscriptions, data feeds, scheduled transfers) between participants.

Returns: The agreement ID, creation transaction hash, and the effective totalCap (hard on-chain spend ceiling).

Spend cap (totalCap): the on-chain module accrues payments pro-rata — a single execution can pay up to 3 missed intervals — so total payout may exceed amount × maxExecutions. totalCap is a hard on-chain ceiling on total payout. If omitted, it defaults to amount × maxExecutions × 3 (today's accrual worst case, made explicit and enforced) when maxExecutions is set, else amount × 365 (~1 year budget). The response always reports the effective cap.

Note: This creates an on-chain agreement via the PaymentAgreementModule. The payee or anyone can call execute once each interval has elapsed. Requires sufficient token balance for each execution. The payer account is determined by the AZETH_PRIVATE_KEY environment variable.

Example: { "payee": "Alice", "token": "0x036CbD53842c5426634e7929541eC2318f3dCF7e", "amount": "1.00", "intervalSeconds": 86400 } Example with caps: { "payee": "Alice", "token": "0x036CbD53842c5426634e7929541eC2318f3dCF7e", "amount": "0.50", "intervalSeconds": 3600, "maxExecutions": 3, "totalCap": "1.50" }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainNoTarget chain. Defaults to AZETH_CHAIN env var or "baseSepolia". Accepts "base", "baseSepolia", "ethereumSepolia", "ethereum" (and aliases like "base-sepolia", "eth-sepolia", "sepolia", "eth", "mainnet").
payeeYesRecipient: Ethereum address, participant name, "me", or "#N" (account index).
tokenYesPayment token address. Use an ERC-20 contract address (e.g., USDC) or 0x0000000000000000000000000000000000000000 for native ETH.
amountYesPayment amount per interval in human-readable units (e.g., "10.00" for 10 USDC).
endTimeNoUnix timestamp in SECONDS (not ms) after which the agreement expires. Must be at least now + intervalSeconds (the chain rejects agreements that expire before their first execution) and within 100 years. Omit for no time limit.
decimalsNoToken decimals. Defaults to 6 (USDC). Use 18 for WETH or native ETH.
totalCapNoMaximum total payout across all executions, in human-readable token units (e.g., "1.50"). Hard on-chain cap. Defaults to amount × maxExecutions × 3 when maxExecutions is set (3 = on-chain accrual worst case), else amount × 365.
maxExecutionsNoMaximum number of payments. 0 or omit for unlimited.
intervalSecondsYesTime between payments in seconds (minimum 60). E.g., 86400 for daily, 604800 for weekly.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It details on-chain nature, accrual mechanics, totalCap calculation, balance requirements, payer determination, and execution process. Very thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections: purpose, when to use, returns, detailed behavior notes, examples. Slightly long but each part is informative. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters and no output schema, description covers return values, default behaviors, constraints, and provides examples. Complete enough for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions, but description adds meaning beyond schema: explains totalCap defaults, interval minimum, endTime constraints, and provides examples. Adds value over schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it sets up a recurring payment agreement on a fixed interval, with specific verb 'create' and resource 'payment agreement'. Distinguishes from siblings like one-time payments or cancellations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Includes explicit 'Use this when' section listing examples like subscriptions and scheduled transfers. No explicit when-not but context is clear given sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/azeth-protocol/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server