| 开发者 | skyemeta |
|---|---|
| 更新时间 | 2026年11月13日 23:13 |
| PHP版本: | 8.2 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
[skyegate chain="ethereum" contract="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" threshold="100"]Only holders see this.[/skyegate]
NFT holders. Replace the address with your collection's contract address.
[skyegate chain="ethereum" type="nft_ownership" contract="0xYourCollectionAddress"]Only holders see this.[/skyegate]
Everything between the opening tag and the closing [/skyegate] is the gated content. Change chain to where your token lives, for example base, polygon, arbitrum, solana or xrpl.
Want to see a gate before installing? Try the live demo, or watch the short video:
https://www.youtube.com/watch?v=P-0z7WwXYwY
What you can gate by
[skyegate chain="..." contract="..."] your content [/skyegate]skyegate folder to /wp-content/plugins/ or install via the WordPress plugin directoryThe quickest way is Create a gate under Settings > SkyeGate: answer its questions and it writes the shortcode for you to copy. To write one by hand, wrap the content you want to protect in the shortcode and say what a visitor must hold. Four attributes do most of the work:
chain: where the token or collection lives, for example ethereum, base, polygon, solana or xrplcontract: the token's or collection's address. To gate on a chain's own coin, use contract="native" (on Solana and the XRP Ledger you can simply leave it out)threshold: how much of a token a visitor must hold. The default is 1type: leave it out for a token, or set type="nft_ownership" for an NFT collection[skyegate chain="ethereum" contract="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" threshold="100"]Only holders see this.[/skyegate] (at least 100 USDC on Ethereum).
An NFT gate: [skyegate chain="ethereum" type="nft_ownership" contract="0xYourCollectionAddress"]Only holders see this.[/skyegate]
Always close the gate with [/skyegate], and always say what must be held. A [skyegate] with no contract on an Ethereum-style chain is not a working gate: administrators see a message saying what to correct, and visitors see nothing in its place.
No. SkyeGate includes InsumerAPI verification out of the box. No API key or account required.
MetaMask, Phantom (EVM + Solana), Coinbase Wallet, and any wallet that supports EIP-6963. Visitors without a wallet extension can use a Coinbase Smart Wallet: a passkey wallet that opens in a popup, no install required.
Yes. Put the token's mint address in contract, for example [skyegate chain="solana" contract="<mint address>" threshold="1000"]. Classic Solana tokens and Token-2022 tokens both work. Leave contract out to gate on SOL itself. Phantom connects automatically for Solana verification.
Yes. Use type="nft_ownership" and put the collection's verified address in contract, for example [skyegate chain="solana" type="nft_ownership" contract="<collection address>"]. Anyone holding an NFT from that collection gets in. Put one NFT's own address in contract instead to recognize that one NFT only. An NFT counts only when the collection's creator has verified it as part of the collection, so an NFT that merely claims to belong is not recognized.
Yes, by default. The gate shows a "Recognized here:" line with the chain name, so visitors know which wallet to bring. Add recognized to choose the words, or recognized="none" to hide it.
[skyegate contract="0xA0b8..." chain="ethereum" threshold="100" recognized="Hold 100 USDC"][skyegate chain="solana" threshold="1" recognized="auto"] shows "At least 1 of the native coin" and "Solana".fail_message, and offers "Try another wallet".
Yes. image puts a picture at the top of the gate (a link to the collection's image or your logo). get_url adds a button for visitors whose wallet does not qualify yet ("Get one" on an NFT gate, "How to qualify" on others), and get_label changes its words.
Yes. Under Settings, Appearance, "Match my site" (the default) draws the gate from the colours around it, so it suits light and dark pages alike. Light and Dark fix the colours instead. Accent Colour sets the button and highlights.
Yes. Use chain="xrpl".
[skyegate chain="xrpl" threshold="10"]contract and the token's currency code in currency, for example [skyegate chain="xrpl" contract="rIssuerAddress..." currency="USD" threshold="100"]. A code is 1 to 40 characters with no spaces, and is sent exactly as you write it. Currency codes on the XRP Ledger are case-sensitive (USD and usd are different tokens), so copy it exactly as the issuer created it. If a code contains symbols a shortcode cannot carry, such as <, >, &, [ or ], enter its 40-character hex form instead.[skyegate chain="xrpl" type="nft_ownership" contract="rIssuerAddress..."] accepts any NFT from that issuer. Add taxon="123" (a whole number from 0 to 4294967295) to accept only one collection under the issuer.The gate stays closed. A visitor is told their wallet does not meet the requirements only when a signed check says so. If the check could not be completed, they are told it could not be checked right now and offered a Try again button. If the gate's own setup was declined, they are asked to contact the site owner, and administrators see the reason on the gate.
Yes. Gated content is stored server-side and only delivered via AJAX after wallet verification passes. It is not present in the page source.
No. SkyeGate uses InsumerAPI to check on-chain data (token balances, NFT ownership). Verification results are cryptographically signed (ECDSA + JWKS). No personal information, email addresses, or wallet contents are stored.
chain="tempo"). Tempo has no coin of its own, so a gate there always names a token, and Create a gate does not offer the coin choice on Tempo.image with a link to the collection's image or a logo. Without one it shows a lock.recognized="none" to hide it.get_url to offer visitors a link: "Get one" on an NFT gate, "How to qualify" on others, or your own words with get_label.contract or token. Before, a mint address in token was not used and the gate checked SOL instead. On other chains an address in token now shows the site owner a message pointing to contract, and the gate stays closed until it is moved. Token symbols in token work as before.recognized attribute with your own words (for example recognized="Hold 100 USDC") or recognized="auto" for a description built from the condition. The chain name is shown beside it. Gates without the attribute look exactly as before.message and fail_message are left as written.message you wrote yourself is unchanged.currency attribute names a trust line token's currency code and is checked and then sent exactly as written (codes are case-sensitive). An XRP Ledger token gate that leaves it out, or carries a code that is not well formed, says so on the page for administrators.taxon attribute, a whole number from 0 to 4294967295, which limits an XRP Ledger NFT gate to one collection under an issuer.decimals attribute is no longer needed. Shortcodes that still carry it keep working.template attribute is read as documented.