fill api, keeping the values out of your application’s injection flow and model context. agentcard uses aliases and provider-executed requests instead of fill.
for the platform capabilities, benefits, and end-to-end lifecycle, start with payments on KERNEL.
How payments work
see how payments work on KERNEL for the vault, browser, approval, and checkout lifecycle.Choose a provider
link by stripe
collect a link wallet and approve a one-use credential for a specific
purchase.
Agentcard
add users’ cards to agentcard’s vault. the user approves each transaction
with Face ID and earns points on the purchase.
link and agentcard identify where the credential comes from and how the
user approves it. choose between them based on that lifecycle, not the
merchant processor. only agentcard’s alias handoff depends on processor-adapter coverage.
choose link by stripe to enable users to pay with cards stored in their link wallet, each purchase is paid by a newly approved, single-use card. choose agentcard to enable users to pay with their actual cards, the same card can be used for multiple purchases and user-approval is required for each.
both integrations may provide additional benefits, including card rewards and chargeback protection. review each provider’s own documentation for the most up-to-date details.
Checkout and processor coverage
KERNEL’sfill api does not require a native processor adapter. for link-issued cards, the page must match the allowed merchant origin and provide supported checkout inputs. see link card requirements.
agentcard’s alias-based checkout requires a recognized processor request. see agentcard’s processor coverage for supported formats and limitations. neither field filling nor provider handoff guarantees processor acceptance or payment success.
Why use KERNEL handoff
see why use KERNEL payments for safe value injection, native integrations, purchase control, and outcome handling.Provider configurations
use KERNEL-managed credentials by default. if you need your own client, follow the optional setup in link or agentcard. a named provider configuration stores your application’sclient_id and client_secret,
not an end user’s wallet grant. credentials are encrypted at rest; secrets are
never returned.
configurations are organization-scoped and shared across projects, unlike
project-scoped vaults. create, update, and delete require organization-scoped
authentication; project-scoped api keys receive 403. names are unique within
the organization, and duplicate creates return 409 without replacing secrets.
- selection: choose exactly one config
idornamewhen creating a wallet. the cli accepts--provider-config-idor--provider-config-name; responses resolve names to ids. - binding: the wallet’s configuration is immutable, and cards inherit it. renaming a config preserves bindings.
- rotation: updating
client_secretaffects all bound wallets. provider, client id, and agentcard mode cannot change; changing clients requires a new config and new wallets. - deletion: returns
409while any non-deleted item references the config, even if disconnected. it does not delete the external oauth client or revoke unrelated grants.
Wallet and card items
for payment settings ui, enforce at most one wallet per provider in each vault. the api currently enforces uniqueness by item key, not by wallet provider, so a different key can create a second wallet for the same provider. list items before rendering provider options, hide the add option whenever that provider already has a wallet in any state, and reuse or recover the existing item. a card’sspec.wallet must reference a wallet in the same vault and from the
same provider.
for provider-specific specifications and states, see link or agentcard.
Payment actions and recovery
action.name can be link_oauth, spend_approval, push_approval, collect, mfa, embedded_ceremony, or card_enrollment. actions that require a hosted interaction include a url. don’t send action urls or provider authorization material to the agent.
recovery_required means a card’s provider outcome is unresolved. it stops
item wait loops and blocks new authorization, checkout, and deletion of the
card or its parent wallet or vault. inspect existing evidence and contact the
provider or support when manual reconciliation is needed. there is no reset
operation; deletion is not payment recovery.
Next step
configure link by stripe or agentcard, then follow enable payments in a browser agent. the provider pages show the CLI commands for creating wallets and cards. once the card item is ready, the shared CLI flow is:CLI
--wait performs one bounded observation. it does not confirm that a payment
succeeded, and the CLI does not submit or retry merchant payments.