Overview
In B2B, an agent may act for a business through a particular person. A supplier portal or procurement system needs to know both: which business the agent represents and which person is acting for it. Verifying that the business exists doesn’t prove that the person may act on its behalf. For example, an agent for Harbor Concrete reorders parts from Acme Supply’s portal. Acme needs to know that the agent represents Harbor Concrete, which verified person is behind it, and that the person is verified to act for Harbor Concrete. Acme still decides whether to allow the reorder. Key challenges:- Identifying the business an agent represents
- Identifying the person behind the agent
- Confirming that the person is verified to act for the business
- Evaluating the business and person separately when a rule applies to both
- Baselayer mints the two together and binds them to the same agent key.
- It mints a business credential only when the operator link between the person and the business is
VERIFIED. - The credentials establish identity and the relationship between the two.
How it works
The site’s checks in the last two steps use the KYA SDK, which is coming soon. That code won’t run until the packages are published.
1
Verify the person and the business together
The agent platform does one of these:
- Uses a Hosted Enrollment journey that collects a business.
- Sends a business verification to
POST /issuance/identities/verificationswith both the person and the business.
tin) so the link can verify on its own.The response includes an individual_ref, a business_ref and the link’s status. See Verifying an Identity.2
Check the operator link
The link is
VERIFIED when:- A tax ID was provided.
- The IRS matched it to the business name.
- The business was verified against its state registry.
UNDER_REVIEW and its shortfalls say which.3
Review links that need a decision
The agent platform:
- Lists links with
status=UNDER_REVIEW. - Looks at the evidence.
- Approves or rejects each one.
4
Mint the business credential
The agent platform asks Baselayer to mint for the person and the business.The mint returns two credentials minted together: the business’s and the person’s.Each carries only the fields allowed by the site’s published scope.A mint for a link that isn’t
VERIFIED is refused with error code 6300. See Minting Credentials.5
The agent presents the pair
The agent signs both credentials with the same key and the same nonce. In the token exchange:
- The business credential goes as
subject_token. - The person’s goes as
actor_token.
6
Verify the pair as one
The site calls
verifier.verify(subjectToken, { actor: actorToken, scope }), with the scope from its published profile.If either credential fails, the whole presentation is refused. A business credential sent without its person is refused with ACTOR_MISMATCH. See Business Agents.7
Check both the business and the person
Each credential carries its own checks.
claims.attests(key)asks about the business only.claims.actorAttests(key)asks about the person only.
What each party sees
The site sees:
- A site-specific ID for the business (
claims.sub). - The acting person’s site-specific ID (
claims.act.sub). - Separate verification results for each (
claims.verification.active_keysandclaims.act.verification.active_keys). - Their expiry.
- Any shared fields.
Recommended settings
Preset
- Use
b2b_ecommerceonly when those fields match what the site’s KYA profile asks for. - A mint applies no preset unless it names one.
Next steps
- Verify the relationship: Who Can Act for a Business
- Mint the credential pair: Minting Credentials
- Check the pair at the site: Business Agents