사용 가능한 가드
NFT Payment Guard
Last updated March 10, 2026
NFT Payment 가드는 지정된 컬렉션에서 결제자에게 NFT를 청구하여 민팅을 허용하고, 소각 대신 사전 정의된 대상 지갑으로 NFT를 전송합니다.
개요
NFT Payment 가드는 지정된 NFT 컬렉션에서 결제자에게 NFT를 청구하여 민팅을 허용합니다. NFT는 사전 정의된 목적지로 전송됩니다.
결제자가 필수 컬렉션에서 NFT를 소유하지 않으면 민팅이 실패합니다.
가드 설정
NFT Payment 가드에는 다음 설정이 포함됩니다:
- Required Collection: 필수 NFT 컬렉션의 민트 주소입니다. 결제에 사용하는 NFT는 이 컬렉션의 일부여야 합니다.
- Destination: 모든 NFT를 받을 지갑의 주소입니다.
NFT Payment Guard를 사용한 Candy Machine 설정
create(umi, {
// ...
guards: {
nftPayment: some({
requiredCollection: requiredCollectionNft.publicKey,
destination: umi.identity.publicKey,
}),
},
});
API References: create, NftPayment
민트 설정
NFT Payment 가드에는 다음 민트 설정이 포함됩니다:
- Destination: 모든 NFT를 받을 지갑의 주소입니다.
- Mint: 결제에 사용할 NFT의 민트 주소입니다. 이는 필수 컬렉션의 일부여야 하며 민터에게 속해야 합니다.
- Token Standard: 결제에 사용되는 NFT의 토큰 표준입니다.
- Token Account (선택 사항): 선택적으로 NFT와 소유자를 명시적으로 연결하는 토큰 계정을 제공할 수 있습니다. 기본적으로 결제자의 연결된 토큰 계정이 사용됩니다.
- Rule Set (선택 사항): Rule Set이 있는 Programmable NFT로 결제하는 경우, 결제에 사용되는 NFT의 Rule Set입니다.
참고로, SDK의 도움 없이 명령어를 구성할 계획이라면 이러한 민트 설정과 더 많은 것들을 명령어 인수와 나머지 계정의 조합으로 제공해야 합니다. 자세한 내용은 Core Candy Guard의 프로그램 문서를 참조하세요.
NFT Payment Guard를 사용한 Candy Machine 설정
다음과 같이 mintArgs 인수를 사용하여 NFT Payment 가드의 민트 설정을 전달할 수 있습니다.
import { TokenStandard } from "@metaplex-foundation/mpl-token-metadata";
mintV1(umi, {
// ...
mintArgs: {
nftPayment: some({
destination,
mint: nftToPayWith.publicKey,
tokenStandard: TokenStandard.NonFungible,
}),
},
});
API References: mintV1, NftPaymentMintArgs
Route Instruction
NFT Payment 가드는 route instruction을 지원하지 않습니다.
Notes
- NFT Burn 가드와 달리, 이 가드는 NFT를 소각하지 않고 대상 지갑으로 전송합니다. NFT는 유통 상태로 남습니다.
- 대상 지갑은 가드 설정과 민트 인수 모두에서 지정해야 합니다.
- 결제자가 필수 컬렉션에서 NFT를 소유하지 않으면 민트 트랜잭션이 실패합니다.
- Rule Set이 있는 Programmable NFT로 결제할 때, 전송이 NFT의 인가 규칙을 준수하도록 민트 인수에
ruleSet을 포함하세요. - 이 가드는 결제 및 컬렉션 검증을 위해 Token Metadata NFT(Core Asset이 아님)를 사용합니다.
