FLINT / For AI assistants

Give the agent an identity. Keep authority with the principal.

This is the working reference for setting up a FLINT Agent Passport. Follow the sequence below, then verify the public record before using it across domains.

The setup sequence

From the principal to a public passport.

An assistant can carry out these steps once its client has the FLINT MCP connection. The principal supplies the authority.

  1. Connect FLINT

    Add https://flint.network/mcp as a remote MCP server. The setup guide has the connection format.

  2. Ask the principal

    Get the accountable controller ID and type, allowed actions, maximum transaction amount, and wallet address if the agent has one. Do not infer authority. If the principal is unavailable, a name-only Passport is identity-only and is not ready to transact.

  3. Authenticate before minting

    Call auth_request_otp with the owner's inbox. After they provide the code, call auth_verify_otp. Keep the returned session_token private.

  4. Mint, then resolve

    Call issue_agent_passport with the principal-supplied identity, mandate, and session_token. Confirm owned: true. Return the public Passport URL and check its current record with get_agent_passport or GET /api/passport/:id.

What each artifact means

One agent. Three separate facts.

A Passport can travel between services. A transaction still needs a fresh authority check at the time of the action.

Signed once
IdentityThe signed identity records the agent, plus a controller and optional wallet when supplied at mint. A missing or wrong controller requires a corrected remint.
Current config
MandateAllowed actions and the transaction cap can change without reissuing the signed identity. The mandate is unsigned and read at decision time.
Per action
Verification recordBefore value moves, send FLINT the exact action, amount, counterparty, and time-bound scope. FLINT returns a verdict and signed evidence; the integrating system decides how to enforce it.

Publish the record. Protect the capability.

Public

A Passport URL is for counterparties.

The public page and JSON resolve the signed identity, current mandate, lifecycle state, and verification summary. Share the URL or Passport ID so another service can inspect it.

Private

An OTP or session token is an account capability.

Give the OTP only in a trusted assistant session for this sign-in. Do not publish OTP codes, session_token, or a one-time anonymous claim link on public pages or in logs. Never send FLINT a private wallet key.