How to Use Jev with Claude Code and Codex for Pix, SPEI, and Bre-B Operations
Use Jev, TypeSafe's System One model, to triage Spanish and Portuguese tickets on Pix, SPEI, and Bre-B before Claude Code or Codex investigates in Runtime.
A LATAM fintech support queue doesn't speak one language. A Monday inbox mixes "mi SPEI no ha llegado", "o Pix caiu na conta errada", "¿cómo registro mi llave Bre-B?", a merchant writing in English about a settlement, and a customer who mentions PROCON or the CONDUSEF in the second paragraph. They all wait in arrival order, and the missed payroll transfer sits behind forty password resets.
This is a practical guide for payment operations and support leads at English-speaking LATAM fintech teams, and the engineer helping them: how to use Jev to triage Spanish and Portuguese tickets on Pix, SPEI, and Bre-B the moment they arrive, and how to start a Claude Code or Codex agent only on the tickets that need one. It builds on our general Jev triage guide, which covers the pattern itself. This one is about the rails, the languages, and the questions that change in the region.
What it does. Every ticket gets a category, a severity, and sensitive-case flags in under a second. Urgent payment problems start an investigation right away, routine questions are batched, and MED cases, chargebacks, and regulator complaints go straight to a person.
What it is not. Jev doesn't investigate, explain, or reply, and nobody has published how well it reads Spanish or Portuguese. It's a routing layer you validate on your own tickets before anything depends on it.
Jev in one paragraph
Jev is TypeSafe AI's first model, in early access since September 15, 2026. It reads the text you send and answers typed questions with probabilities: a choice from a list, a score across levels you describe, or a noul, the probability that a statement is true. TypeSafe lists 70 to 500 milliseconds end to end and $0.042 per million input tokens, with output free. Those are vendor numbers, so benchmark them on your own traffic. The general guide covers the question types and the Jev versus Claude Code comparison in detail.
The language question
This is what's different for LATAM teams, so start here.
TypeSafe's documentation doesn't list supported languages. When it released Jev 1.14 on October 14, 2026, it wrote that it expected the largest gain of that version in multilingual support, without publishing per-language numbers. So the honest position is: it may work well on your Spanish and Portuguese tickets, and you need to measure it before you rely on it.
Three things to test explicitly:
| Test | Why |
|---|---|
| Agreement with your team, per language | A single blended accuracy number can hide a weak language |
| Confidence by language | If Portuguese tickets come back with lower confidence, your confidence floor will route more of them to humans, which is the right failure |
| English questions versus questions in the ticket's language | One question set is easier to maintain; a local one may read local terms more literally. Keep whichever agrees with your team more often |
The queue on LATAM rails
| Ticket | Rail and identifier | What Jev decides | What the agent does | What a person decides |
|---|---|---|---|---|
| Transfer not received | SPEI tracking key and CEP, Bre-B key and reference, Pix EndToEndId | That it's a missing payment and how urgent | Finds the payment, confirms its status, drafts a reply in the customer's language | Send or edit the reply |
| Pix sent to the wrong key | Pix EndToEndId | That it's a wrong-key case, not fraud | Pulls the transaction and drafts the next steps for the customer | What to tell the customer |
| Possible scam or MED case | Pix, MED 2.0 | That it may involve fraud | Nothing. A named fraud analyst owns it | Everything |
| Failed Pix Automático charge | Pix Automático authorization | The category | Finds the failure reason and drafts the retry or the customer message | Retry or escalate |
| Card chargeback or dispute | Card network | That it's a dispute | Nothing. A person owns it | Everything |
| Regulator or consumer complaint | CONDUSEF, Superfinanciera, consumidor.gov.br, Procon | That a regulator or authority is mentioned | Nothing | Everything |
| Incident spike | Any rail | Whether it describes the open incident | Groups affected accounts and builds the timeline | Declaring the incident |
Notice that the right answer for several rows is "no agent." Fraud cases on Pix are time-bound under the MED rules, and regulator complaints have their own clocks. Jev's job there is to make sure they never wait behind routine tickets.
How it works
- Your team writes the questions and routing rules. Categories, severity levels, and what always goes to a person.
- Jev scores each ticket on arrival. All questions in one request.
- Code applies the rules. Start an agent now, batch it, or route it to a named person.
- The agent investigates in Runtime. Read-only access, the runbook for that category, and a draft in the customer's language.
- A person approves. Anything that moves money or reaches a customer waits for sign-off.
The stack
| Job | Tools |
|---|---|
| Fast decisions | Jev by TypeSafe |
| Investigating agent | Claude Code, Codex |
| Tickets | Zendesk, Intercom, Freshdesk, WhatsApp Business |
| Payment data | SPEI through your bank or STP, Bre-B and PSE, Pix through your bank or provider, your card processor |
| Alerts and logs | Datadog, Sentry |
| Approvals | Slack |
| Agent infrastructure | Runtime |
Runtime is the operating system for AI agents. Each agent runs on its own isolated computer, wiped at the end of the session, with its own scoped credentials, and waits for a named person's approval before moving money or replying to a customer. CPF, CURP, account numbers, and cards are masked before they reach the model or the logs, every run is recorded, and a Jev routing rule can start a session directly. It can run in your own AWS, GCP, or Azure account, which matters if your data needs to stay in Brazil or Mexico.
Step 1: Write the questions (human)
Jev reads your questions literally. TypeSafe's guidance is one specific thing per question, combined in code. For a LATAM payments queue, a first set:
| Question | Type | Why it matters |
|---|---|---|
| Category: transfer not received, wrong key, possible scam, failed recurring charge, duplicate charge, dispute, onboarding, how-to, other | Choice | Picks the runbook |
| Severity, from "a question" to "money at risk now" | Score | Sets priority |
| "The customer says money left their account and did not arrive" | Noul | Missing funds jump the line |
| "The customer describes being tricked into sending money" | Noul | Possible MED case, goes to fraud |
| "A regulator, consumer authority, lawyer, or chargeback is mentioned" | Noul | Always a named human |
| "A deadline like payroll or a supplier payment is mentioned" | Noul | Time pressure the category misses |
Name the local institutions inside the question text. "A regulator, consumer authority, or lawyer is mentioned, such as CONDUSEF, the Superintendencia Financiera, Procon, or consumidor.gov.br" gives Jev the words your customers actually write.
Compute identifiers, amounts, and times in code. TypeSafe's documentation says Jev struggles with numbers and date comparisons. Extract the SPEI tracking key, the Pix EndToEndId, the amount, and how long ago the transfer happened in code, and pass the results as plain sentences in the state.
Step 2: Write the routing rules
| If Jev says | Then |
|---|---|
| Possible scam above 0.3 | Fraud analyst queue. No agent. |
| Regulator, lawyer, or chargeback above 0.3 | Named human. No agent. |
| Severity 2 or higher, with high confidence | Start a Runtime agent now |
| Matches the open incident above 0.8 | Attach to the incident |
| Routine category, high confidence | Batch into the next scheduled run |
| Confidence below your floor, in any language | Human triage, saved as a test case |
Set the numbers from your history, per language. Keep the sensitive thresholds low: a fraud analyst reading a few false alarms costs minutes, a missed MED case costs far more.
Step 3: Build the triage with Claude Code or Codex
TypeSafe has Python and JavaScript SDKs and publishes an agent skill for Claude Code and Codex. Put your TypeSafe API key in your secrets and ask the agent to build it.
"Build a triage service. For each new Zendesk or WhatsApp ticket, detect the language, extract in code the SPEI tracking key, Pix EndToEndId, Bre-B reference, amount, and time since the transfer, then send the ticket text and those facts to Jev with the questions in triage-questions.md. Apply the rules in routing.md. Log every Jev answer with the ticket ID, language, model version, and rule that fired. Test on the 600 labeled tickets in /fixtures and report agreement separately for Spanish, Portuguese, English, and mixed-language tickets. Then run the same test with the Spanish and Portuguese versions of the questions and compare."
Two habits make these prompts work harder:
- Say why, not just what. "Report agreement per language, because a strong English score can hide a weak Portuguese one" gets you the breakdown you actually need.
- Name the failure you're preventing. "A ticket that describes a scam must never start an agent, even with low severity" exists because that's the MED case that misses its deadline.
Step 4: Set up the investigating agent
In Runtime, create the agent the triage service will start: read-only connections to your ticketing tool, core ledger, payment provider, and logs, and one runbook per Jev category. Add credentials through the dashboard, never by pasting them in chat. Then test the limits: ask the agent to refund a charge or send a Pix and confirm it can't.
Step 5: Let Jev start the agent
"When the routing rule is 'investigate now,' start a session with the ticket, the Jev answers, and the category. Load the runbook for that category. Find the transfer using the tracking key, EndToEndId, or reference, cite every record you used, and post to #payment-ops a draft reply in the customer's language and a recommended action. Never reply to the customer or move money."
Run it in shadow mode for one to two weeks: Jev routes, your team still triages, and you compare. Go live one queue and one language at a time.
What stays human
| Step | Why |
|---|---|
| Writing the questions and thresholds | That's the judgment. Jev applies it. |
| MED cases and suspected scams | Time-bound, regulated, and decided by your fraud team |
| Chargebacks and regulator complaints | Need an accountable name |
| Refunds, retries, and replies to customers | Cheap to review, sometimes impossible to undo |
| Deciding a language is ready for automatic routing | Only your test results can answer that |
Lessons
- Measure per language from day one. Blended accuracy is the number most likely to mislead you.
- Fix the question before blaming the model. Jev reads literally, in any language.
- Ticket text is untrusted. TypeSafe notes Jev can be misled by adversarial content. No Jev score should grant an agent more access or skip an approval.
- Pin the model version. Each response includes the versioned model ID. When it changes, rerun your per-language test set before trusting your thresholds.
What compliance will ask
- Who owns the triage and the agent. A named owner per queue and scoped permissions per agent.
- That nothing moves on its own. Refunds and replies wait for a person.
- What data leaves. Treat TypeSafe like any third-party processor under the LGPD in Brazil or your local data protection law, and send only what each question needs. Runtime masks sensitive data before it reaches the model and never trains on customer data.
- Why a ticket was routed the way it was. Log every Jev answer next to the ticket, alongside Runtime's record of each investigation.
Measuring it
| Metric | What it tells you |
|---|---|
| Time to first touch on high-severity tickets, per language | What triage exists to move |
| Routing agreement with your team, per language | Whether Jev is ready for that language |
| Sensitive tickets that reached an agent | The target is zero |
| Agent runs per resolved ticket | Whether your thresholds are right |
A realistic timeline
| Stage | Time |
|---|---|
| Agent infrastructure | Minutes on Runtime; weeks if you build it yourself |
| Questions and routing rules | An afternoon with your team leads |
| Labeled test set and per-language calibration | About a week |
| Shadow mode | 1 to 2 weeks |
| Live routing for one queue and one language | After shadow mode agrees with your team |
Rain, a card issuer present in more than 150 countries, uses Runtime for technical support, fraud and risk monitoring, compliance, cybersecurity, engineering investigations, PR reviews, QA testing, and reporting, and has saved $750k in vendor and salary spend.
The point
Cheap decisions let you score every ticket the moment it arrives, in Spanish, Portuguese, or English. Whether Jev reads your languages well enough is a question your own tickets can answer in a week. Once they do, Jev sorts, the agent investigates in Runtime, and your team makes the calls that need a name.
For the Spanish version of this pattern, see Jev para operaciones de pagos. For onboarding and AML queues, see Jev for KYC, KYB, and AML.
Back to the tickets.
Frequently asked questions
Does Jev work on Spanish and Portuguese tickets?
TypeSafe hasn't published per-language results. When it released Jev 1.14 on October 14, 2026, it said it expected the largest gain of that version in multilingual support. Treat that as a reason to test, not a guarantee: run a few hundred Spanish and Portuguese tickets your team already labeled through Jev and compare its answers with your team's, language by language.
Should I write Jev questions in English, Spanish, or Portuguese?
Test both. One English question set is easier to maintain across Mexico, Colombia, and Brazil, but a question written in the ticket's language may read the local terms more literally. Run the same labeled tickets through both versions and keep whichever agrees with your team more often, per language.
How do I use Jev with Claude Code or Codex for Pix and SPEI tickets?
Ask Claude Code or Codex to build a small triage service with TypeSafe's SDK or agent skill. Compute amounts, timestamps, and identifiers like the SPEI tracking key or Pix EndToEndId in code, send the ticket text to Jev with your questions, and let your routing rules start a Runtime agent only for tickets that need an investigation.
Can Jev decide Pix MED cases or chargebacks?
No. Jev returns probabilities without reasons, and MED cases, chargebacks, and regulator complaints need a documented decision by an accountable person. Use Jev to flag them so they skip the agent and reach a named human first.
Where should the investigating agent run?
In its own sandbox, with read-only credentials for your ticketing, core, and payment data, network rules limiting it to those hosts, and a record of everything it read. Runtime provides that for Claude Code and Codex, can mask CPF, CURP, account numbers, and cards before they reach the model, and can run in your own cloud account, including São Paulo.
What is Runtime?
Runtime is the operating system for AI agents in payments and fintech teams. It runs Claude Code, Codex, or open source models in isolated computers with scoped credentials, approvals before money moves or a customer gets a reply, masking of sensitive data, and an exportable record of every run. A Jev routing rule can start a session directly.
Run the investigating agent on Runtime
Bring a ticket queue. A Runtime forward-deployed AI engineer sets up the agent, the connections, and the approvals so Jev can hand it work.