Token Gating

Controle de acesso baseado em tokens

Resumo

Solução avançada permitindo uma conexão profunda com comunidades web3. Utilizando nossa API, empresas podem definir condições baseadas em tokens ERC20 e NFTs.

Essa API é altamente flexível e poderosa, permitindo que você, como empresa, configure condições complexas para controlar o acesso.

Utilizando operadores lógicos como AND (&) e OR (|), você pode criar regras de acesso multifacetadas. Por exemplo, você pode definir uma condição que diz: "Se um membro da comunidade X possuir TokenA E TokenB, ele terá acesso", ou "Se um membro da comunidade Y possuir TokenC OU TokenD, ele terá acesso".

Desta forma, você pode usar a API para configurar um sistema de token gated personalizado que atenda às suas necessidades específicas e ajude a fomentar o envolvimento da comunidade.

Criação do token gating

POST https://hml-mywayend.gotokens.io/api/v1/token-gate

Esse endpoint cria um token gate e define o benefício pode ser aplicado a esse acesso. Desde um simples acesso ou uma porcentagem de desconto.

Request Body

NameTypeDescription

name*

String

Um nome que te lembre a que token gate se refire

discountPercentage

Número

Porcentagem de desconto caso o pagamento seja realizado direto pela goTokens. O número inserido será em decimais, ou seja, para dar 10% de desconto, o valor inserido será 1000. (Equivalente a 10,00%) Caso não deseje dar desconto, apague este campo

givesWhitelistAccess*

Booleano

Se queremos dar acesso ao usuário esse parâmetro deve ser "true"

maxUsageLimit

Número

Se definido, será a quantidade de acessos que um usuário pode passar pelo token gate

Cadastro dos tokens que darão acesso ao token gating

POST https://hml-mywayend.gotokens.io/api/v1/token-gate/condition

Request Body

NameTypeDescription

name*

String

Um nome que te lembre a que tokens se refire

contractAddress*

String

Endereço do contrato dos tokens na blockchain

individualTokenIds

Array

Se deseja explicitar os token que são válidos para o token gate, passe nesse array de strings.

Se esse valor não for passado, qualquer token do contrato será aceito.

conditionalOperator*

String

O usuário precisa cumprir com os requisitos apenas para 1 token ou para todos?

Para um, colocar: "or"

Para todos, colocar: "and"

countType*

String

Como a quantidade de tokens de um usuário é contada.

Em outras palavras, o "amount" é aplicado a 1 token ou ao conjunto de tokens?

Exemplo: Se o usuário precisa ter 1 de cada token a contagem é individual. Caso precise ter 1 token ao todo, a contagem é a soma de todos os tokens.

Valores possíveis "individual" ou "sum"

amount*

Número

Quantidade necessária para o acesso ao token gate

network*

String

Rede blockchain do token. Valores possíveis: "ethereum_mainnet", "polygon_mainnet", "gnosis_mainnet",

"ethereum_goerli",

"polygon_mumbai",

"gnosis_testnet",

Associação de condição com token gating

POST https://hml-mywayend.gotokens.io/api/v1/token-gate/condition/{id}/add/token-gate

Essa rota associa um token gate com as condições necessárias para acessar o mesmo

Path Parameters

NameTypeDescription

*

String

id do grupo de tokens cadastrado (condição) no passo anterior

Request Body

NameTypeDescription

benefitIds*

Array

Array de strings contendo o id dos token gates que queremos associar com o grupo de tokens cadastrado (condição)

Verificação do Token Gating

POST https://hml-mywayend.gotokens.io/api/v1/token-gate/check/manage

Verifica se um usuário pode ou não acessar um conteúdo protegido por token gate

Request Body

NameTypeDescription

userWallets*

Array

Lista de wallets de um usuário, caso o mesmo possua mais de uma carteira

benefitIds*

Array

Lista de ids de benefícios que você quer ver se o usuário tem direito

Last updated