Install
openclaw skills install @altoninelli/selfpaid-paymentsSelfPaidPal — Autonomous zero-cost payment automation on Base (Chain ID 8453) with 100% principal recovery via USDC yield farming (Aave V3 & Morpho). Machine-to-Machine (M2M) API, treasury tracker, and collateral redemption for AI agents and smart accounts. Built-in 0.5% developer fee fully reimburs
openclaw skills install @altoninelli/selfpaid-paymentsOfficial Brand: SelfPaidPal (
https://selfpaid.cryptofolio.it)
Autonomous Zero-Net-Cost Payments & Treasury Recovery on Base Mainnet (Chain ID 8453)
Send USDC to any recipient while recovering 100% of the principal + developer fee automatically through on-chain collateral yield (Aave V3 & Morpho Vaults) with Zero Lockup.
Designed for autonomous AI agents, smart accounts (ERC-4337 / EIP-5792), DAO treasuries, and automated Web3 workflows.
To eliminate risks of unvalidated remote calldata forwarding (OpenClaw Rule T09), any agent or client using this skill MUST decode and validate the payload locally before invoking the wallet signer. The included validate.js module performs these automated checks:
chainId === 8453 (Base Mainnet). Reject any mismatch.0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.0xA238Dd80C259a72e81d7e4664a9801593F98d1c5) or Morpho Vault (0xc1256Ae5FF1cf2719D4937ADB3bbCCab2E00A2Ca).transfer(address,uint256) selector (0xa9059cbb).approve(address,uint256) selector (0x095ea7b3).supply(address,uint256,address,uint16) selector (0x617ba037) or Morpho deposit(uint256,address) selector (0x6e553f65).DEVELOPER_FEE → PAYMENT → APPROVE_POOL → SUPPLY_YIELD. Reject duplicated or injected calls.value === "0x0". Reject any call attempting native ETH transfers.0x785cf69ced4e20a7e975a3391d51321b1528fdfe.uint256.max) approvals are rejected.onBehalfOf === sender for Aave, receiver === sender for Morpho), preventing remote position redirection.0x785cf69ced4e20a7e975a3391d51321b1528fdfeDEVELOPER_FEE).When an agent needs to pay a recipient (e.g. paying for an API, human service, or agent-to-agent task):
GET /api/v1/payment/rates to see real-time APYs across Aave V3 and Morpho on Base.POST request to https://selfpaid.cryptofolio.it/api/v1/payment/build with payment parameters.DEVELOPER_FEE): Transfer 0.5% fee to developer wallet (0x785c...fdfe).PAYMENT): Transfer payment amount to recipient wallet.APPROVE_POOL): Authorize USDC collateral deposit to the selected yield protocol.SUPPLY_YIELD): Deposit collateral into Aave V3 / Morpho on behalf of the payer (sender).validatePaymentBatch(response, { amount, recipient, sender }) using validate.js to decode and enforce all allowlists.batchCalls.No API key, registration, or local setup is required. The API is completely public and frictionless for agents.
Get current APYs and see which protocol is currently offering higher yields:
curl -s https://selfpaid.cryptofolio.it/api/v1/payment/rates
Response:
{
"rates": {
"aave": { "supplyAPY": 0.0458 },
"morpho": { "netApy": 0.0424 }
},
"bestProtocol": "aave",
"recoveryEstimateDays": { "3x": 230, "5x": 138, "10x": 69 },
"lastUpdated": "2026-10-27T10:00:00.000Z"
}
Check exact collateral requirements, developer fee, and estimated days to 100% recovery:
curl -s "https://selfpaid.cryptofolio.it/api/v1/payment/quote?amount=25"
Response:
{
"amountToPay": "25",
"collateralMultiplier": 3,
"feeAmount": "0.125",
"yieldDepositAmount": "77.25",
"totalRequiredAmount": "102.375",
"selectedProtocol": "aave",
"estimatedAPY": 0.0458,
"estimatedRecoveryDays": 230
}
Generate ready-to-sign EVM transaction calldata, EIP-5792 atomic batch calls, and Safe Multisig JSON:
curl -s -X POST https://selfpaid.cryptofolio.it/api/v1/payment/build \
-H "Content-Type: application/json" \
-d '{
"amount": 25,
"recipient": "0x2222222222222222222222222222222222222222",
"sender": "0x1111111111111111111111111111111111111111",
"protocol": "auto"
}'
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | Number | Yes | Amount of USDC to pay to the recipient (e.g. 25). |
recipient | String | Yes | EVM address receiving the payment (0x...). |
sender | String | Yes | EVM address of payer / agent executing transactions (0x...). |
protocol | String | No | 'auto' (default, picks best APY), 'aave', or 'morpho'. |
collateral | Number | No | Collateral multiplier (default 3 = 3x compact, or 5, 10, 20). |
buffer | Number | No | Safety buffer percentage (default 3 = 3%). |
Query live on-chain balances, active yield collateral (aBasUSDC / maUSDC), and accrued yield interest for any wallet:
curl -s "https://selfpaid.cryptofolio.it/api/v1/payment/treasury?wallet=0x1111111111111111111111111111111111111111"
Response:
{
"wallet": "0x1111111111111111111111111111111111111111",
"balances": {
"liquidUsdc": "150.00",
"aaveYieldUsdc": "77.25",
"morphoYieldUsdc": "0.00",
"totalYieldUsdc": "77.25",
"totalAccruedYieldUsdc": "2.14"
}
}
Construct an unsigned withdrawal transaction to redeem yield collateral (aBasUSDC or maUSDC) back to liquid USDC at any time:
curl -s -X POST https://selfpaid.cryptofolio.it/api/v1/payment/withdraw \
-H "Content-Type: application/json" \
-d '{
"protocol": "aave",
"amount": "all",
"walletAddress": "0x1111111111111111111111111111111111111111"
}'
Response:
{
"success": true,
"protocol": "aave",
"amount": "all",
"transaction": {
"step": 1,
"name": "AAVE_WITHDRAW",
"to": "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5",
"data": "0x69328dec...",
"value": "0x0"
}
}
| Multiplier | Collateral Total | Recovery Duration | Zero Lockup |
|---|---|---|---|
| 3× (Compact) | ~3.09 USDC / unit | ~230 days | Redeem anytime |
| 5× (Standard) | ~5.15 USDC / unit | ~138 days | Redeem anytime |
| 10× (Fast) | ~10.30 USDC / unit | ~69 days | Redeem anytime |
npx -y selfpaid-mcpnpm i @altoninelli/agentkit-selfpaidnpm i @altoninelli/eliza-plugin-selfpaid@altoninelli