Skip to content

Python: feat: Add Spraay batch payment plugin for Base (Python) #13974

@plagtech

Description

@plagtech

Feature Request

I'd like to contribute a Spraay batch payment plugin for the Python SDK, enabling SK agents to batch-send ETH or ERC-20 tokens to up to 200 recipients in a single transaction on Base.

Why

Batch payments are a common onchain operation for DAOs, teams, and AI agents — payroll, airdrops, bounties, and reward distributions. As AI agents increasingly handle financial operations, having a native plugin for efficient batch payments enables Semantic Kernel developers to build payment automation without deep blockchain expertise.

What

A SpraayBatchPaymentPlugin class with four @kernel_function methods:

Function Description
batch_eth Send equal ETH to multiple recipients
batch_eth_variable Send variable ETH amounts per recipient
batch_token Send equal ERC-20 tokens to multiple recipients
batch_token_variable Send variable token amounts per recipient

Features:

  • Up to 200 recipients per transaction
  • ~80% gas savings vs individual transfers
  • Automatic ERC-20 token approval handling
  • Chain ID verification, 10% gas buffer
  • All parameters use Annotated type hints for LLM function calling
  • Environment-based config (RPC URL, private key)

Protocol: Spraay — Contract 0x1646452F98E36A3c9Cfc3eDD8868221E207B5eEC on Base Mainnet.

Prior art: This tool has already been merged into Google ADK and published as a Strands Agents extension.

I have a working implementation with unit tests ready to submit as a PR. Happy to discuss the best location in the repo and any design feedback before opening the PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    .NETIssue or Pull requests regarding .NET codepythonPull requests for the Python Semantic Kerneltriage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions