For offering a credential to a wallet holder you have three options:
Send directly to the holder's email or wallet via Send() API call
Transfer the credentials's JSON and let the wallet holder insert it via InsertItem() API call
Use our Credential Offer functionality
Additionally, when an issuer issues a credential and wants to keep a copy of the credential to keep track of which are issued, they can insert it into their own wallet as well.