Setup
You must request a builder code from Gauntlet — it is not self-serve. Request one as part of your partnership onboarding. The Gauntlet indexer must recognize your specific code for volume to be counted against your integration; using an arbitrary string will append bytes to calldata but attribution will not be tracked. Your builder code is separate from your API key — you may receive them together or at different stages of onboarding. Once you have it, setbuilderCode on GauntletClient:
builderCode, AttributionMode.PUBLIC appends nothing and transactions are unattributed.
How It Works
The SDK encodes attribution as an ERC-8021 calldata suffix appended to every transaction. It does not affect contract execution — the Gauntlet indexer reads it to attribute the volume. ERC-8021 format:"acme" (4 bytes) becomes 0x61636d650400 followed by the 16-byte marker 80218021802180218021802180218021.
Sending Transactions
How attribution is carried depends on which submission path you use.Path 1 — step.payload + sendTransaction
Attribution is baked into payload.data — the full calldata is already {ABI-encoded call}{attribution suffix}. The wallet receives a single opaque hex string and sends it as-is. Attribution cannot be lost regardless of what wallet or provider you use.
eth_sendRawTransaction directly, or anywhere you want eth_call pre-simulation on the exact calldata that will be broadcast.
Path 2 — step.tx + writeContract
Attribution is in step.tx.attribution as standalone bytes. You must pass it as dataSuffix to writeContract — wagmi appends it to the ABI-encoded calldata before sending. If dataSuffix is omitted or the EIP-1193 provider strips it, the transaction succeeds on-chain but volume is not attributed.
simulateContract).
Note: Most major EIP-1193 providers used with wagmi honor dataSuffix. If you’re using a custom or obscure provider, verify it forwards unknown WriteContractParameters fields before relying on this path for attribution.
Attribution Modes
PUBLIC is supported. ENCODED and PRIVATE throw UnimplementedFeatureError if used.
Monitor Attributed Activity
Monitoring attribution is under development and not currently available.
Initialize
Query Attributed Activity
API
chain_id:address string (e.g. gtBTC on Ethereum is 1:0xeff0ae5b39271b33f448cd408b51dc8aa72a672b) to filter events by vault: GET /v1/events?vault_id=1:0xeff0ae5b39271b33f448cd408b51dc8aa72a672b.
Use transactions for user-facing activity and confirmations. Use events for monitoring, reconciliation, and reporting.
Trend Activity Over Time
API
Monitoring Options
On-Chain Verification
For trustless monitoring, read events directly from the gtUSDa vault on Base:What’s Next
Attribution without SDK
Add attribution manually using Privy embedded wallets or wagmi.
SDK Reference
Full result shape, type definitions, and error reference.
Deposit Your First Dollar
SDK-based deposit and withdrawal flow using the Gauntlet SDK.
Deployed Vaults
gtUSDa contract addresses for on-chain verification.