Minhas wallets
- curl
- JavaScript
- Python
curl http://127.0.0.1:8787/v1/wallet/wallets \
-H "Authorization: Bearer <accessToken do participante>"
const response = await fetch("http://127.0.0.1:8787/v1/wallet/wallets", {
headers: { Authorization: `Bearer ${accessToken}` },
});
const { items } = await response.json();
import requests
response = requests.get(
"http://127.0.0.1:8787/v1/wallet/wallets",
headers={"Authorization": f"Bearer {access_token}"},
)
items = response.json()["items"]
{
"items": [
{
"walletId": "0728a...",
"eventId": "018f26d7-8a7b-7e7d-8c96-4f0b8d0f2b10",
"eventName": "Festival de Verão",
"eventSlug": "festival-de-verao",
"eventCode": "AXY-9898",
"status": "active",
"lastSyncedAt": "2026-08-07T10:00:03.000Z"
}
]
}
Isso é descoberta, não saldo
Esse endpoint vive em wallet-control-api (global) e lê de
global.user_wallet_directory — um espelho de leitura rápida, não a fonte
de verdade. Ele serve pra responder "em quais eventos eu já tenho wallet e
qual o eventId de cada um", pra então o app chamar
GET /v1/events/{eventId}/wallets/current (na região certa) e pegar saldo
de verdade. Não use o status daqui pra decidir se pode gastar — ele é
só um retrato, atualizado com alguns segundos de atraso em relação ao que
acabou de acontecer na região.
Por que pode demorar pra aparecer
Quando a wallet é ativada (veja Encontrar evento e ativar
wallet), a região grava um
evento numa fila própria (outbox) e um processo em segundo plano — que roda
a cada poucos segundos, não é instantâneo — envia isso pro diretório global.
Se você chamar GET /v1/wallet/wallets bem no instante seguinte à ativação, é
possível a wallet ainda não estar na lista. Se seu app depende de mostrar a
wallet imediatamente após ativar, use a resposta do próprio PUT .../wallets/current em vez de depender desta listagem logo em seguida.