v1

latestOpenAPI 3.1.02026-07-13143194365.4 KB
tipping

Check if a destination is tippable

Resolve a destination (URL, handle, domain, or wallet address) and return any available tip addresses.

Supported destinations

  • Grove handle: @olshansky or olshansky (resolves via Grove account)
  • EVM address: 0x...
  • Solana address: 9kuc...
  • ENS / Basename: vitalik.eth, alice.base.eth
  • Domain: example.com (reads llms.txt)
  • Twitter/X: x.com/handle, x.com/handle/status/<id>
  • Substack: substack.com/@handle, handle.substack.com, post URLs
  • YouTube: youtube.com/@handle, youtube.com/handle, youtube.com/c/handle, youtube.com/channel/UCxxx, youtube.com/watch?v=ID, youtu.be/ID

Notes

  • No authentication required (public discovery).
  • This endpoint does not perform a transfer; it only discovers published receiver addresses.
  • On resolution failure or unsupported adapters, the response is typically 200 OK with tippable=false and error populated.
get/v1/tip/resolve

Query parameters

destinationstring required

Destination identifier to resolve.

Accepts handles, URLs, domains, ENS/Basenames, and direct wallet addresses.

Example:@olshansky

Destination identifier to resolve.

Accepts handles, URLs, domains, ENS/Basenames, and direct wallet addresses.

Response

Successful Response

tippableboolean required

Whether this destination can receive tips.

destination_kind'evm_address' | 'sol_address' | 'ens' | 'basename' | 'domain' | 'twitter' | 'reddit' | 'github' | 'tiktok' | 'substack' | 'youtube' | 'twitch' | 'bluesky' | 'grove_handle' | 'other_handle'

Type of destination that was resolved for tipping.

This enum categorizes WHERE a tip is being sent:

  • Direct blockchain addresses (EVM, Solana)
  • Name services (ENS)
  • Website domains (via llms.txt)
  • Social platform profiles (Twitter, Reddit, etc.)

Social platform values intentionally match SocialPlatform enum values to enable conversion via to_social_platform(). The key difference:

  • DestinationKind: What TYPE of destination (address, domain, social profile)
  • SocialPlatform: Which PLATFORM for context attribution (where tip originated)

Inherits from str so values serialize naturally to JSON.

errorstring nullable

Error message if resolution failed.

cache_hint'definitive' | 'temporary'

Client-side caching hint for non-tippable resolution results.

DEFINITIVE: Destination is known to be non-tippable (safe to cache long). TEMPORARY: Transient failure (e.g. network timeout) — client should retry soon.

Example response

{
  "description": "A creator profile with published tip addresses.",
  "summary": "Tippable destination",
  "value": {
    "addresses": [
      {
        "address": "0x9ab39B84aC4DE6D705C5f051c07db8fE72890953",
        "chain": "base",
        "source": "bio",
        "token": "USDC"
      },
      {
        "address": "0x9ab39B84aC4DE6D705C5f051c07db8fE72890953",
        "chain": "ethereum",
        "source": "bio",
        "token": "ETH"
      }
    ],
    "destination_kind": "twitter",
    "tippable": true
  }
}