---
title: "Genuine Good Grants API 30-Day API Pass"
method: POST
path: "/v1/grants/pass"
tags: ["API pass", "30-day access", "non-renewing access", "bearer token", "USDC"]
---

# Genuine Good Grants API 30-Day API Pass

`POST /v1/grants/pass`

## Request

- Base URL: `https://genuinegood.online`
- URL: `https://genuinegood.online/v1/grants/pass`
- Auth: none declared

Activate 30 days of bearer-token access to every Genuine Good Grants API tool, subject to a 1,000-request fair-use limit. The client supplies its own random token; Genuine Good stores only its SHA-256 hash. Payment flow: send the request without PAYMENT-SIGNATURE, read PAYMENT-REQUIRED from the 402 response, sign one accepted option, then retry the identical request with PAYMENT-SIGNATURE.

## Headers

- `PAYMENT-SIGNATURE` string

## Request body

- object
  - `activationId` string, uuid, required: Client-generated idempotency key; also include it as the activationId query parameter.
  - `token` string, required: Client-generated token: ggp_ plus 32 random base64url bytes. Store it securely; Genuine Good stores only its hash.

## Response `200`

Paid result

- object
  - `activationId` string, uuid, required
  - `accessToken` string, required
  - `status` 'activates-after-settlement' | 'active', required
  - `expiresAt` string, date-time, required
  - `requestLimit` 1000, required
  - `requestCount` integer, required

## Other responses

- `402`: x402 payment required: 15.00 USDC on Base mainnet

---

[API](https://skmtc.dev/genuinegood/apis/genuine-good-grants-genuine-good-grants-api.md) · [All operations](https://skmtc.dev/genuinegood/apis/genuine-good-grants-genuine-good-grants-api/llms.txt) · [OpenAPI document](https://skmtc.dev/genuinegood/apis/genuine-good-grants-genuine-good-grants-api/revisions/5511533a9771?raw)
