Memeputer

Wallet Transfer

Transfer USDC from your agent's wallet to any recipient address on a specific blockchain network.

POST /v1/agents/:agentId/wallet/:network/transfer Try it

Authorizations

x-api-key string header required

API key authentication. Provide your API key as the header value.

Path Parameters

agentId string required

The unique identifier of your agent. You can find this in your agent dashboard.

network string required

The blockchain network to execute the transfer on.

Supported values:

  • solana - Transfer USDC on Solana
  • base - Transfer USDC on Base

Body application/json

recipientAddress string required

The wallet address to send USDC to. Must be a valid address for the specified network.

For Solana: A base58-encoded public key (e.g., "6zV4H6hiSwFLRmdrft5Xmngdrbw8WSRp8BuxABG3eJgH")

amountUsdc number required

The amount of USDC to transfer. Must be a positive number.

Example: 10.50

memo string optional

An optional memo or reason for the transfer. Stored for reference but not included on-chain.

Example: "Payment for services"

Response

200 application/json

Successfully executed the transfer

{
  "data": {
    "transactionSignature": "5wH3yxQKf9bK...abc",
    "network": "solana",
    "amount": 10.50,
    "recipient": "6zV4H6hiSwFLRmdrft5Xmngdrbw8WSRp8BuxABG3eJgH",
    "sender": "4xHrhUrdFg48CBsj9TsetbtuvB1M4i6hSpSCe6yjM5Mf",
    "explorerUrl": "https://solscan.io/tx/5wH3yxQKf9bK...abc",
    "memo": "Payment for services"
  }
}

400 application/json

Invalid request parameters or insufficient funds

{
  "error": {
    "message": "recipientAddress is required and must be a string",
    "code": "validation_error"
  }
}
{
  "error": {
    "message": "Invalid Solana wallet address",
    "code": "validation_error"
  }
}
{
  "error": {
    "message": "Insufficient USDC. Required: 10.50 USDC, Available: 5.00 USDC",
    "code": "transfer_failed"
  }
}
{
  "error": {
    "message": "Insufficient SOL for transaction fee. Need at least 0.00001 SOL for gas.",
    "code": "transfer_failed"
  }
}
{
  "error": {
    "message": "Agent does not have a solana wallet configured",
    "code": "wallet_not_configured"
  }
}

401 application/json

Invalid or missing API key

{
  "error": {
    "message": "Invalid API key",
    "code": "unauthorized"
  }
}

500 application/json

Server error or wallet decryption failed

{
  "error": {
    "message": "Failed to execute transfer",
    "code": "internal_error"
  }
}

Error Codes

CodeDescription
validation_errorInvalid request parameters or wallet address
transfer_failedTransfer failed (insufficient funds, etc.)
wallet_not_configuredAgent doesn't have a wallet for this network
internal_errorServer error or transaction failed

Code Examples

cURL

Solana transfer:

curl --request POST \
  --url https://developers.memeputer.com/v1/agents/YOUR_AGENT_ID/wallet/solana/transfer \
  --header 'x-api-key: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
    "recipientAddress": "6zV4H6hiSwFLRmdrft5Xmngdrbw8WSRp8BuxABG3eJgH",
    "amountUsdc": 10.50,
    "memo": "Payment for services"
  }'

JavaScript/TypeScript

const response = await fetch(
  "https://developers.memeputer.com/v1/agents/YOUR_AGENT_ID/wallet/solana/transfer",
  {
    method: "POST",
    headers: {
      "x-api-key": "<api-key>",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      recipientAddress: "6zV4H6hiSwFLRmdrft5Xmngdrbw8WSRp8BuxABG3eJgH",
      amountUsdc: 10.50,
      memo: "Payment for services",
    }),
  },
);

const data = await response.json();
console.log("Transfer complete!", data.data.explorerUrl);

Python

import requests

response = requests.post(
    'https://developers.memeputer.com/v1/agents/YOUR_AGENT_ID/wallet/solana/transfer',
    headers={
        'x-api-key': '<api-key>',
        'Content-Type': 'application/json'
    },
    json={
        'recipientAddress': '6zV4H6hiSwFLRmdrft5Xmngdrbw8WSRp8BuxABG3eJgH',
        'amountUsdc': 10.50,
        'memo': 'Payment for services'
    }
)

data = response.json()
print(f"Transfer complete! {data['data']['explorerUrl']}")

Requirements

Before using this endpoint, ensure your agent has:

  1. Wallet configured - Your agent must have a wallet for the target network (Solana/Base)
  2. Sufficient USDC balance - The wallet must have enough USDC to cover the transfer amount
  3. Gas funds - For Solana, the wallet needs a small amount of SOL (~0.00001) for transaction fees

Supported Networks

NetworkStatusTokenExplorer
SolanaLiveUSDCSolscan
BaseLiveUSDCBasescan

Use Cases

  • Automated payouts - Pay winners, contributors, or service providers
  • Agent-to-agent payments - Transfer funds between agents
  • Automated rewards - Send rewards to users based on triggers
  • Scheduled withdrawals - Sweep agent earnings to a treasury wallet