Who enters which code
Which person or program enters each Envoy credential, where it may go, and what to do when your host forbids entering a code.
Read this page before you build or run an agent that handles sign-in, one-time codes or card details. Each credential has one owner and one destination. An Envoy tool never receives a bank code.
Support revision: envoy@2026-10. Last updated: 28 October 2026.
Who enters what
| Credential | Who enters it | Where it may go | Host-policy caveat | Keep it? |
|---|---|---|---|---|
| Envoy sign-in (app request or SMS code) | The user approves in the Envoy app. For an SMS code, the user reads the 6-digit code to the agent, and the agent types it once. | The Envoy sign-in page at https://envoy.money/agent-login. With hosted MCP, the user signs in on Envoy's page in the window the host opens. | Some hosts forbid typing a code. Then the user types it. | No |
| OAuth access and refresh tokens | The client, not the user. | The client's private storage only. | None recorded. | Yes, in private storage only |
Merchant or Instinct vault sign-in code (needs_answer, kind otp) | The user gives the code named by Envoy's open question. The agent sends it once. | submit_answer, only for that exact question. | Some hosts forbid passing a code. Then stop and hand the step to the user. | No |
| Merchant password (never passes through chat) | Nobody. Envoy never asks for a password, and the agent never asks the user for one. | Nowhere. When the merchant wants one, the reply says so; the user can cancel and buy on the merchant site. | None. | No |
| Bank or payment OTP on Envoy checkout | The user, in the Envoy app. On agent checkout the bank's code is the checkout_code below. | The Envoy app (enter_otp). Never the agent, chat or an Envoy tool. | The agent does not ask for or enter this code. | No |
checkout_code | The agent. | The bank page's code or OTP box for this card, once. It is the card's OTP. | The bank can reject it; do not retry. | No |
| Card details | The agent, on the merchant page. | The merchant's payment form, from an authorized ready reply. | Follow the connected host's profile. | No |
| Gift-card code and PIN | The agent only when the ready reply instructs redemption. | This purchase's merchant gift-card form. Envoy can instead complete checkout without releasing them. | Follow the connected host's profile. | No |
A checkout_code is optional and exists only on the card route. It can be absent. A gift-card payment link is for the user to open and pay; it is not a credential or an approval link.
Agent checkout and Envoy checkout differ
On agent checkout, the agent pays on the merchant page with the one-time card. If the bank page asks for a code or OTP, enter the returned checkout_code there once: it is the card's OTP. The bank sends the user no code for this card, so never ask the user for one. If the bank rejects the code, do not retry; report failed with failure_reason otp_failed.
On Envoy checkout, Envoy pays in its own browser. The user enters any bank code in the Envoy app. The agent has nothing to enter.
Not every charge needs a bank code. Do not tell the user to expect one.
If your host forbids entering a code
- Stop at that step.
- Tell the user which page needs a code.
- Hand the step to the user, who completes it.
- Do not look for another way. A workaround can expose the code or break your host's rules.
Never
- Never put real secrets in examples, logs, memory or files.
- Never paste a bank or payment OTP, a token or a callback URL into chat. Send a merchant or Instinct vault sign-in code only when Envoy's exact open
otpquestion requests it; send it once withsubmit_answer, and never repeat or retain it. - Never send a bank code to
submit_answer. Send only a merchant or Instinct vault sign-in code that Envoy's openotpquestion requests. - Never ask the user for a merchant password. Envoy never takes a password through chat.
Where to go next
- Browser agents for the sign-in steps in a browser.
- Connect over MCP for hosted sign-in and tokens.
- Purchase walkthrough for the full flow, including
readyandreport_checkout_result. - API security for token and log handling.
You succeed when no card, checkout code or voucher secret appears in agent replies or retained records. Send a merchant sign-in answer only to its exact open question. If a step stalls, hand it to the user and follow the recovery steps in the walkthrough.