Skip to main content
Glama

azeth_create_payment_agreement

Set up an on-chain recurring payment agreement to automate periodic transfers to another participant. Specify the payee, token, amount, and interval to create a self-executing payment schedule.

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 and creation transaction hash.

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 }

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).
intervalSecondsYesTime between payments in seconds (minimum 60). E.g., 86400 for daily, 604800 for weekly.
maxExecutionsNoMaximum number of payments. 0 or omit for unlimited.
decimalsNoToken decimals. Defaults to 6 (USDC). Use 18 for WETH or native ETH.
Behavior4/5

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

With no annotations provided, the description carries full disclosure burden effectively. It specifies the on-chain module used (PaymentAgreementModule), execution permissions ('payee or anyone can call execute'), balance requirements, and critical auth context (AZETH_PRIVATE_KEY env var). Only minor gap is not mentioning that agreements are cancellable (relevant given azeth_cancel_agreement sibling).

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, usage trigger, returns, technical notes, and example. Slight redundancy between 'recurring' and 'fixed interval' in opening sentences, but overall information density is high with minimal waste.

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?

Despite lacking an output schema, the description explicitly documents return values ('agreement ID and creation transaction hash'). It also covers environmental prerequisites (AZETH_PRIVATE_KEY, token balance), on-chain mechanics, and provides a concrete example, making it complete for a complex blockchain operation with 7 parameters.

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 has 100% coverage, establishing baseline 3. The description adds value through the JSON example showing semantic usage (e.g., 'Alice' as valid payee identifier, string formatting for amount, 86400 mapping to daily intervals), which helps agents understand parameter interchange formats beyond raw schema types.

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?

The description opens with a specific verb phrase ('Set up a recurring payment agreement') and clearly identifies the resource type and mechanism ('Payments execute on a fixed interval'). It effectively distinguishes this from sibling tools like azeth_pay (one-time) and azeth_transfer by emphasizing the recurring/automated nature.

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?

Provides explicit 'Use this when' guidance listing specific scenarios (subscriptions, data feeds, scheduled transfers). While it doesn't explicitly name sibling tools to avoid, the context makes clear this is for automated recurring flows versus one-time payments, which is sufficient given the extensive sibling list.

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