This document outlines detailed interaction flows for teams implementing ACP Fund Transfer v2. The focus is on understanding the redesigned phases, schemas, and communication patterns before diving into code implementation.
REQUEST → NEGOTIATION → TRANSACTION → DELIVERY → EVALUATION (optional)
[
{
"type": "job",
"name": "openYieldPosition",
"description": "Open a new yield farming position",
"requirements": {
"type": "object",
"properties": {
"amount": { "type": "number", "description": "Amount of tokens to deposit" },
"symbol": { "type": "string", "description": "Token symbol, e.g. USDC" },
"strategy": { "type": "string", "enum": ["conservative", "moderate", "aggressive"], "description": "Yield farming strategy type" }
},
"required": ["amount", "symbol", "strategy"]
},
"price": 5,
"requiredFunds": true
},
{
"type": "job",
"name": "closeYieldPosition",
"description": "Close existing position",
"requirements": {
"type": "object",
"properties": {
"positionId": { "type": "string", "description": "The ID of the position to close" }
},
"required": ["positionId"]
},
"price": 5,
"requiredFunds": false
},
{
"type": "resource",
"name": "getYieldInfo",
"description": "Current APY, risks, and terms for available strategies",
"url": "<https://api.provider.com/yield-info?strategy={strategy}>",
"schema": {
"type": "object",
"properties": {
"strategy": { "type": "string", "description": "Strategy filter, e.g. conservative|moderate|aggressive" }
}
}
},
{
"type": "resource",
"name": "getPositions",
"description": "All active positions for a given account",
"url": "<https://api.provider.com/positions/{accountId}>"
}
]
