feat(payments): Uniswap any-token funding and payout-token choice
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start by reading services/proposal_service.py and agentkit_service.py to trace how funding and escrow currently use USDC; also check the chain registry and issues #2 and #3. Confirm Trading API support and routing options for a testnet before choosing an integration path. Done means non-USDC funding meets the escrow and slippage criteria, failed or partial swaps are recorded, and agent caps and token allowlists are enforced with tests and documentation.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Let users fund proposals or jobs with any supported token by swapping to USDC through Uniswap before escrow, and let workers pick a payout token.
Motivation
Requiring USDC up front is a friction point. Swapping in-flow keeps escrow and accounting in one currency.
Current state in this repo
- Proposal funding and escrow are USDC-only (
services/proposal_service.py,agentkit_service.py).
Proposal
- Add a swap service that requests a quote and a transaction from the Uniswap Trading API (API key via env), enforces slippage and deadline limits, and executes from the funder's wallet on a registry EVM chain.
- Add a
swap_tokensagent tool that respects agent caps and an allowlist of tokens. - Optionally add a payout-token preference for workers (swap USDC to their token after escrow release).
- Treat the quote as binding only within a short window; re-quote on expiry.
Acceptance criteria
- Funding with a non-USDC test token results in the exact USDC amount escrowed, within the configured slippage.
- Failed or partial swaps never leave funds in an unrecorded state (payment events show the outcome).
- Agent swaps obey per-transaction and daily caps and the token allowlist.
Out of scope
- Liquidity provision or trading strategies.
- Mainnet.
Technical notes and risks
- Uniswap routing, Permit2 approvals and MEV protection options vary by chain. Start on one testnet chain with real liquidity.
Dependencies
- #2
- #3
Testing plan
- Mocked Trading API tests; one scripted testnet swap.
Verify before implementing
- Trading API availability on the chosen testnet.
- Unichain chain ids and supported routing types before adding it to the registry.
References
- Uniswap swap integration docs: https://developers.uniswap.org/docs/protocols/v4/guides/swapping/getting-started
Part of ##1. Ground rules for all issues in this roadmap are listed there (testnet-first, no secrets in the repo, chain logic behind the registry, tests and docs with every PR).
- Lenguaje dominante
- Python
- Estrellas
- 2
- Forks
- 4
- Merge medio
- 5 h 19 min
- PR fusionados (30 d)
- 11
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
QMeshPy/distributed-quantum#53 ·
Los mantenedores suelen responder en 1 día
-
chain-integration enhancement payments research-spike tier-2
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
QMeshPy/distributed-quantum#78 ·
Los mantenedores suelen responder en 1 día
-
chain-integration enhancement payments research-spike tier-2
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
QMeshPy/distributed-quantum#77 ·
Los mantenedores suelen responder en 1 día
-
chain-integration enhancement payments tier-2
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
QMeshPy/distributed-quantum#76 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue kubo storage tier-1
Dificultad 2/5 1-3 horas Aptitud para principiantes 42/100
QMeshPy/distributed-quantum#75 ·
Los mantenedores suelen responder en 1 día
Todos los issues de QMeshPy/distributed-quantum
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
khuisman/mcp-gee-sweet#1166 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
lugassawan/swe-workbench#823 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
gramaziokohler/compas_timber#870 ·
-
security-scan-failure
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
semantica-agi/semantica#2089 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
autowarefoundation/autoware_carla_scenario#500 ·
Los mantenedores suelen responder en 1 día