Picnic agents is in early access — read-only access only for now.
BR
Docs
Ferramentas
get_transactions

get_transactions

Pega o histórico de transações paginado em todas as smart accounts do usuário. Retorna um objeto JSON { transactions, pagination }. Retorna o resultado vazio (transactions: [], paginação zerada) se a passkey não controla nenhuma smart account.

Escopo necessário: read:transactions

Parâmetros:

NomeTipoObrigatórioPadrãoDescrição
page_numbernumbernão1Número da página, começa em 1.
page_sizenumbernão20Resultados por página (máx. 100).
chain_idnumbernãoFiltra por chain ID (ex. 1 Ethereum, 8453 Base, 100 Gnosis).
account_type"picnic" | "gnosisPay"nãoFiltra pelo tipo de smart account — picnic (conta principal) ou gnosisPay (conta do cartão).
smart_account_addressstringnãoFiltra para um único endereço de smart account (case-insensitive). Descubra endereços via get_smart_accounts.

Campos retornados:

CampoTipoDescrição
transactions[].type"cryptoTransfer" | "cardTransaction" | "rampOrder" | "rampOrderWithSwap" | "swap" | "investment"Tipo de transação.
transactions[].status"success" | "pending" | "failed" | "partial" | "refunded" | "unknown"Estado da liquidação.
transactions[].executedAtdateQuando a transação executou.
transactions[].receiptsarrayRecibos on-chain. Múltiplas entradas pra transações cross-chain (ex.: bridges).
transactions[].receipts[].chainIdnumberChain do recibo.
transactions[].receipts[].txHashstringHash da transação.
transactions[].flows[]arrayPernas da movimentação. Um swap tem 2 flows (outflow + inflow); um transfer tem 1.
transactions[].flows[].smartAccount.addressstring | nullEndereço da smart account a que a flow pertence.
transactions[].flows[].smartAccount.chainIdnumber | nullChain dessa smart account.
transactions[].flows[].smartAccount.type"picnic" | "gnosisPay" | "agentWallet" | "unknown"Tipo de smart account.
transactions[].flows[].direction"inflow" | "outflow"Direção relativa à smart account.
transactions[].flows[].assetIdstring | nullIdentificador CAIP (opens in a new tab) (eip155:{chainId}/erc20:{address}, bep20 na chain 56, slip44:60 pra nativos).
transactions[].flows[].symbolstringSímbolo do token (ex.: USDC, EURE).
transactions[].flows[].formattedAmountstring | nullQuantidade em formato decimal (ex.: "52.5"). String, igual formattedAmount em get_balances.
transactions[].flows[].values.usdnumber | nullValor da flow convertido pra USD. null se não houver taxa.
transactions[].flows[].values.eurnumber | nullValor convertido pra EUR.
transactions[].flows[].values.brlnumber | nullValor convertido pra BRL.
pagination.pageNumbernumberPágina atual (1-indexada).
pagination.pageSizenumberTamanho de página usado.
pagination.totalCountnumberTotal de transações que casam com a query.
pagination.totalPagesnumberceil(totalCount / pageSize).

Campos por tipo:

Quando type === "cardTransaction", a transação também tem purchase com dados do estabelecimento e cobrança:

CampoTipoDescrição
purchase.merchantstring | nullNome do estabelecimento.
purchase.merchantCitystring | nullCidade do estabelecimento.
purchase.merchantCountrystring | nullPaís do estabelecimento (geralmente ISO alpha-2).
purchase.mccstring | nullMerchant Category Code (4 dígitos ISO 18245), quando o provider reporta.
purchase.kindstring | nullTipo da transação no provider — ex.: "Payment", "Refund", "Reversal".
purchase.statusstring | nullStatus no provider — ex.: "Approved", "Declined".
purchase.isPendingboolean | nullSe a transação ainda tá pendente.
purchase.billingAmountstring | nullValor cobrado (em unidades majores de billingCurrency).
purchase.billingCurrencystring | nullCódigo ISO da moeda de cobrança.
purchase.transactionAmountstring | nullValor no ponto de venda (em unidades majores de transactionCurrency).
purchase.transactionCurrencystring | nullCódigo da moeda no ponto de venda.
purchase.cardIdstring | nullFaz cross-reference com o cardId do get_card.
purchase.cardNamestring | nullApelido do cartão.
purchase.lastFourDigitsstring | nullPAN mascarado.

Quando type === "rampOrder" ou "rampOrderWithSwap", a transação tem ramp:

CampoTipoDescrição
ramp.providerstring | nullProvider de ramp (ex.: "brla", "avenia", "monerium").
ramp.type"deposit" | "depositWithSubsequentSwap" | "withdrawal" | nullDireção do ramp.

Quando type === "investment", a transação tem investment:

CampoTipoDescrição
investment.type"deposit" | "withdrawal" | "send-native-btc" | nullDireção do investimento.
investment.productstring | nullProduto de investimento (ex.: "EarnDollarUSDC", "DeFiBasketEasyPassiveUSD").

Exemplo de pergunta:

"Me mostra minhas últimas 30 transações na Picnic."