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:
| Nome | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
page_number | number | não | 1 | Número da página, começa em 1. |
page_size | number | não | 20 | Resultados por página (máx. 100). |
chain_id | number | não | — | Filtra por chain ID (ex. 1 Ethereum, 8453 Base, 100 Gnosis). |
account_type | "picnic" | "gnosisPay" | não | — | Filtra pelo tipo de smart account — picnic (conta principal) ou gnosisPay (conta do cartão). |
smart_account_address | string | não | — | Filtra para um único endereço de smart account (case-insensitive). Descubra endereços via get_smart_accounts. |
Campos retornados:
| Campo | Tipo | Descriçã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[].executedAt | date | Quando a transação executou. |
transactions[].receipts | array | Recibos on-chain. Múltiplas entradas pra transações cross-chain (ex.: bridges). |
transactions[].receipts[].chainId | number | Chain do recibo. |
transactions[].receipts[].txHash | string | Hash da transação. |
transactions[].flows[] | array | Pernas da movimentação. Um swap tem 2 flows (outflow + inflow); um transfer tem 1. |
transactions[].flows[].smartAccount.address | string | null | Endereço da smart account a que a flow pertence. |
transactions[].flows[].smartAccount.chainId | number | null | Chain 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[].assetId | string | null | Identificador CAIP (opens in a new tab) (eip155:{chainId}/erc20:{address}, bep20 na chain 56, slip44:60 pra nativos). |
transactions[].flows[].symbol | string | Símbolo do token (ex.: USDC, EURE). |
transactions[].flows[].formattedAmount | string | null | Quantidade em formato decimal (ex.: "52.5"). String, igual formattedAmount em get_balances. |
transactions[].flows[].values.usd | number | null | Valor da flow convertido pra USD. null se não houver taxa. |
transactions[].flows[].values.eur | number | null | Valor convertido pra EUR. |
transactions[].flows[].values.brl | number | null | Valor convertido pra BRL. |
pagination.pageNumber | number | Página atual (1-indexada). |
pagination.pageSize | number | Tamanho de página usado. |
pagination.totalCount | number | Total de transações que casam com a query. |
pagination.totalPages | number | ceil(totalCount / pageSize). |
Campos por tipo:
Quando type === "cardTransaction", a transação também tem purchase com dados do estabelecimento e cobrança:
| Campo | Tipo | Descrição |
|---|---|---|
purchase.merchant | string | null | Nome do estabelecimento. |
purchase.merchantCity | string | null | Cidade do estabelecimento. |
purchase.merchantCountry | string | null | País do estabelecimento (geralmente ISO alpha-2). |
purchase.mcc | string | null | Merchant Category Code (4 dígitos ISO 18245), quando o provider reporta. |
purchase.kind | string | null | Tipo da transação no provider — ex.: "Payment", "Refund", "Reversal". |
purchase.status | string | null | Status no provider — ex.: "Approved", "Declined". |
purchase.isPending | boolean | null | Se a transação ainda tá pendente. |
purchase.billingAmount | string | null | Valor cobrado (em unidades majores de billingCurrency). |
purchase.billingCurrency | string | null | Código ISO da moeda de cobrança. |
purchase.transactionAmount | string | null | Valor no ponto de venda (em unidades majores de transactionCurrency). |
purchase.transactionCurrency | string | null | Código da moeda no ponto de venda. |
purchase.cardId | string | null | Faz cross-reference com o cardId do get_card. |
purchase.cardName | string | null | Apelido do cartão. |
purchase.lastFourDigits | string | null | PAN mascarado. |
Quando type === "rampOrder" ou "rampOrderWithSwap", a transação tem ramp:
| Campo | Tipo | Descrição |
|---|---|---|
ramp.provider | string | null | Provider de ramp (ex.: "brla", "avenia", "monerium"). |
ramp.type | "deposit" | "depositWithSubsequentSwap" | "withdrawal" | null | Direção do ramp. |
Quando type === "investment", a transação tem investment:
| Campo | Tipo | Descrição |
|---|---|---|
investment.type | "deposit" | "withdrawal" | "send-native-btc" | null | Direção do investimento. |
investment.product | string | null | Produto de investimento (ex.: "EarnDollarUSDC", "DeFiBasketEasyPassiveUSD"). |
Exemplo de pergunta:
"Me mostra minhas últimas 30 transações na Picnic."