Goals


Motivation


Minting NFTs from a frame is a common use case. Apps that support relaying or directly initiating transactions should be able to enhance. Apps that do not should be able to fall back to linking to an external URL.

Proposal


Add a new fc:frame:button:$idx:action type, mint .

<meta property="fc:frame:button:1" content="Mint" />
<meta property="fc:frame:button:1:action" content="mint" />
<meta property="fc:frame:button:1:target" content="eip155:7777777:0x060f3edd18c47f59bd23d063bbeb9aa4a8fec6df<:token_id>" />

Validation

The target property MUST be a valid CAIP-10 address, plus an optional token_id .

Apps MUST validate the target property and ignore malformed addresses.

Apps MAY perform additional validations based on the target address, such as accessing an NFT collection metadata API or contract reputation scoring service. Based on these validations, apps may choose to hide the embed or fall back to an OpenGraph image.

Frames MUST specify both an action and a target property for the same button index if action type is mint .

Apps MUST reject frames with missing properties as malformed and fall back to the OpenGraph embed.