Picnic agents is in early access — read-only access only for now.
PT
Docs
Ferramentas
swap

swap

Inicia um swap de tokens (mesma chain ou cross-chain) a partir de uma das smart accounts picnic do utilizador, encaminhado pelo agregador de swaps da Picnic. Devolve um sign_url e um resource_uri para atualizações em tempo real. A execução arranca assim que o utilizador assina.

O routing distribui entre CowSwap, 0x, Bungee, Squid, Li.Fi e deBridge. Por defeito, o agregador escolhe a melhor cotação; usa provider para forçar uma fonte específica.

Restrição de source: só são aceites sources do tipo picnic. O safe do cartão (gnosisPay) não é uma origem válida — para converter fundos que estão na conta do cartão, primeiro faz transfer para a conta Picnic, depois swap.

Âmbitos necessários: propose:swap, execute:swap

Parâmetros:

NomeTipoObrig.Descrição
source_smart_account_addressstringsimSmart account picnic que detém o asset de origem. Tem de ser uma das contas controladas pela passkey em source_chain_id; sources gnosisPay são rejeitados. Usa get_smart_accounts para descobrir endereços.
source_chain_idnumbersimChain ID da smart account de origem. Tem de ser igual à chainId codificada em from_asset_id — divergência é rejeitada.
from_asset_idstringsimasset_id de origem — formato igual ao de transfer.
to_asset_idstringsimasset_id de destino. Pode estar noutra chain (swap cross-chain).
formatted_amountstringsimValor decimal do asset de origem, e.g. "1.5" para 1.5 USDC.
slippagenumbernãoSlippage como fração (default 0.01 = 1%, máx. 0.5).
providerstringnãoForçar provider — cowswap, 0x, lifi, bungee, squid, debridge. Default: melhor de todos.

Retorna:

CampoTipoDescrição
action_idstringUUID da action pendente.
statusstringSempre "proposed" imediatamente após esta chamada.
summarystringResumo legível mostrado ao utilizador.
sign_urlstringURL para autorizar com a passkey.
resource_uristringpicnic://action/{action_id}. Subscreve para receber atualizações.
simulation_urlstringURL de preview Tenderly.
expires_atdateTimestamp ISO; 10 minutos após criação.

Avisos de slippage: a página de assinatura mostra banner amarelo quando ≥1% e banner vermelho acima de 5%. Mais de 5% normalmente indica pool pouco profunda, rota invulgar, ou token fraudulento.

Ciclo de vida (status):

proposed → signed → submitted → broadcast → executed (caminho de sucesso)

Exemplos de prompt:

"Faz swap de 100 USDC para ETH na Base."

"Faz bridge de 50 USDC da Base para USDC na Polygon."