Skip to main content
The idLinks sub-module manages KYC verification links powered by . Each link directs an investor to a hosted verification flow where they complete identity checks and optionally connect a wallet.
const link = await trusset.customers.idLinks.create({
  recipientEmail: '[email protected]',
  investorType: 'RETAIL',
  country: 'DE',
  expiryDays: 30,
  sendVia: ['email'],
  note: 'Series A allocation',
})

link.id               // internal link ID
link.token            // unique token in the verification URL
link.verificationUrl  // full URL to send to the investor
link.status           // 'PENDING'
link.delivery         // { email: { sent: true } }
At least one of recipientEmail, recipientWallet, or recipientPhone is required. If recipientWallet is set, the investor must verify from that specific address. If omitted, any wallet can be connected during verification.
const result = await trusset.customers.idLinks.list({
  status: 'PENDING',  // 'PENDING' | 'COMPLETED' | 'EXPIRED'
  limit: 50,
  offset: 0,
})

// result.links: IdLinkListItem[]
// result.total: number
Expires a link immediately so it can no longer be used. Completed links cannot be revoked.
await trusset.customers.idLinks.revoke('link-id')
Re-sends an existing pending link via the specified channels.
const result = await trusset.customers.idLinks.resend('link-id', ['email', 'sms'])
// result.verificationUrl
// result.delivery: { email: { sent: true }, sms: { sent: true } }
Only links with status PENDING can be resent. Completed or expired links throw a TrussetError.