STP
Grants

Grants

ℹ️

Only the contract owner can create grants.

Creators can grant access to accounts for a given amount of time. This can be done for a single account, or for a group of accounts with a single transaction. Granted time is measured in seconds and is tracked separately from purchased time. The expiration date of a subscription is the max of remaining purchased time and remaining grant time.

Granting will mint a new NFT if the beneficiary doesn't currently have a subscription. If they do, the time extends their subscription.

import {
  prepareGrantTime,
} from '@withfabric/protocol-sdks/stpv1';
 
const accounts: `0x${string}`[] = [
  '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92264',
  '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92265',
];
 
const grant = await prepareGrantTime({
  contractAddress: '0x...',
  numSeconds: 86400n,
  accounts,
});
 
const receipt = await grant();