SkyeGate

外掛說明

SkyeGate lets you restrict access to any WordPress content based on what visitors hold in their crypto wallet. Powered by InsumerAPI, visitors connect their wallet, SkyeGate verifies their token or NFT holdings, and the gated content is revealed — all without collecting personal data.

Free and fully functional. Install, add a shortcode, and start gating content immediately. No API key or account required.

What you can gate by

  • Token balance — require visitors to hold a minimum amount of any ERC-20 or SPL token
  • NFT ownership — require visitors to own an NFT from a specific collection
  • EAS attestations — require on-chain attestations via Ethereum Attestation Service
  • Native tokens — gate by ETH, SOL, MATIC, and other native chain tokens

Supported chains

Ethereum, Solana, Polygon, Arbitrum, Base, Optimism, BNB Chain, Avalanche, and 23 more (31 blockchains total).

How it works

  1. Add the [skyegate] shortcode around any content
  2. Visitors see a “Connect Wallet” button
  3. After connecting, SkyeGate verifies their holdings via InsumerAPI
  4. If they qualify, the gated content is revealed (loaded server-side, not in page source)

Wallets supported

MetaMask, Phantom (EVM + Solana), Coinbase Wallet, and any wallet that supports EIP-6963.

External Services

This plugin connects to two external services for wallet verification. No personal data is collected or transmitted — only public blockchain wallet addresses and your site domain are sent.

SkyeGate API (skyemeta.com)

When a visitor connects their wallet, the plugin sends a POST request to https://skyemeta.com/api/verify with the visitor’s public wallet address, the gate conditions you configured, and your site domain. The service returns a signed verification result. This happens each time a visitor attempts to access gated content.

InsumerAPI (api.insumermodel.com)

To verify that the returned attestation was genuinely signed by InsumerAPI and has not been tampered with, the plugin fetches a public signing key (JWKS) from https://api.insumermodel.com/.well-known/jwks.json. No user data is sent — this is a public key fetch, cached for 24 hours.

Source Code

The unminified source for public/js/skyegate-wallet.js is included in the plugin at src/wallet.js. The minified file is built with Vite using npm run build. The build configuration is in package.json and vite.config.js.

螢幕擷圖

  • The SkyeGate connect wallet prompt on the frontend
  • Gated content revealed after wallet verification

安裝方式

  1. Upload the skyegate folder to /wp-content/plugins/ or install via the WordPress plugin directory
  2. Activate the plugin through the Plugins menu
  3. Add a [skyegate] shortcode to any post or page — it works immediately
  4. Optionally configure default chain, button text, and gate style under Settings > SkyeGate

常見問題集

Do I need an API key to get started?

No. SkyeGate includes InsumerAPI verification out of the box — no API key or account required.

What wallets are supported?

MetaMask, Phantom (EVM + Solana), Coinbase Wallet, and any wallet that supports EIP-6963.

Can I gate by Solana tokens?

Yes. Use chain="solana" in the shortcode. Phantom wallet connects automatically for Solana verification.

Is the gated content truly hidden?

Yes. Gated content is stored server-side and only delivered via AJAX after wallet verification passes. It is not present in the page source.

Is user data collected?

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.

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈SkyeGate〉的開發相關工作。

參與者

將〈SkyeGate〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.0.4

  • Single-condition gates on 31 blockchains (token balance, NFT ownership, EAS attestation)
  • Multi-wallet: MetaMask, Phantom, Coinbase Wallet, and any wallet supporting EIP-6963
  • Cryptographically signed verification results (ECDSA + JWKS), verified on the server before content release
  • Server-side content delivery — gated HTML is never present in the page source
  • Per-visitor session binding so a verification in one browser does not unlock gated content in another
  • Built-in caching to minimize verification calls