-
Notifications
You must be signed in to change notification settings - Fork 594
[Portal] .NET v3 & Unity v6 Documentation #8140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
import { Details, createMetadata } from "@doc"; | ||
|
||
export const metadata = createMetadata({ | ||
title: "ThirdwebApi | Thirdweb .NET SDK", | ||
description: | ||
"Low-level interaction with the Thirdweb API for enhanced SDK functionality and extensions.", | ||
}); | ||
|
||
# [ThirdwebApi](/reference) .NET Integration | ||
`ThirdwebApi` is the low-level HTTP client that powers the higher-level Thirdweb .NET SDK. Reach for it when you need to call https://api.thirdweb.com directly, build custom extensions, or inspect raw API payloads. The client works everywhere .NET runs, including Unity and MAUI. | ||
|
||
## What you unlock with ThirdwebApi | ||
|
||
| Capability | Why teams use it | | ||
| --- | --- | | ||
| **Authentication** | Orchestrate SMS/email codes, SIWE, OAuth redirects, and passkeys from your own backend before handing off JWTs to wallets. | | ||
| **Wallet services** | Look up user/server wallets, enumerate tokens/NFTs, stream transaction history, sign messages, or send value programmatically. | | ||
| **Smart contracts** | Batch read/write invocations, fetch metadata & signatures, deploy bytecode, and capture emitted events with pagination. | | ||
| **Transactions pipeline** | Queue, monitor, and introspect Engine-backed transactions with execution metadata and status tracking. | | ||
| **Tokens & bridge** | Launch ERC20s, list circulating assets, price fiat ↔ crypto, or bridge/swap liquidity across chains. | | ||
| **Payments & x402** | Spin up hosted purchases, reconcile payment history, and prepare X402 machine-payable requests. | | ||
| **AI assistant** | Embed natural-language orchestration that can read state, prepare contract calls, swap assets, or route transactions for end-users. | ||
|
||
> **Backend first** — All of the above accept your project secret via `x-secret-key`. Client-side use cases can opt into `x-client-id` + user JWT flows where supported. | ||
|
||
## When to reach for ThirdwebApi | ||
- You need endpoints that aren't yet wrapped by the higher-level SDK helpers. | ||
- You're building backend services that must authenticate with a Thirdweb secret key. | ||
- You want full visibility into contract metadata, ABI definitions, and compilation artifacts. | ||
- You plan to orchestrate auth, payments, or cross-chain flows without managing disparate providers. | ||
|
||
## Quickstart workflow | ||
|
||
### Instantiate an authenticated client | ||
Create a reusable `ThirdwebClient` instance with your backend secret key. This unlocks every raw API surface exposed by Thirdweb. | ||
|
||
```csharp | ||
// Program.cs / dependency container registration | ||
var client = ThirdwebClient.Create(secretKey: Environment.GetEnvironmentVariable("THIRDWEB_SECRET_KEY")); | ||
``` | ||
|
||
### Example operation | ||
Contract metadata is the canonical example for low-level reads. The same pattern applies to other namespaces like `/v1/wallets/*`, `/v1/payments/*`, or `/ai/chat`—swap the method call but keep your authenticated client. | ||
|
||
```csharp | ||
// using Newtonsoft.Json; | ||
|
||
var metadata = await client.Api.GetContractMetadataAsync( | ||
chainId: 1, | ||
address: "0xBd3531dA5CF5857e7CfAA92426877b022e612cf8" | ||
); | ||
|
||
Console.WriteLine($"ABI: {JsonConvert.SerializeObject(metadata.Result.Output.Abi, Formatting.Indented)}"); | ||
Console.WriteLine($"Compiler version: {metadata.Result.Compiler.Version}"); | ||
``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect NuGet version reference
As of September 27, 2025, the latest published
Thirdweb
NuGet package is2.25.1
;3.0.0
does not exist, so following this instruction will cause restore failures. Please revert to the actual version (or add guidance to check NuGet for the current release) before publishing. (nuget.org)📝 Committable suggestion
🤖 Prompt for AI Agents