Skip to content
Njord GitHub
Solana devnet · live

Where every click pays. Instantly. On-chain.

Njord is programmable USDC payment rails on Solana: a funded escrow that pays out per verified action, settled by a smart contract in roughly three seconds — no invoice, no middleman, no human approving each transfer. It powers affiliate marketing today, and it is exactly the pay-per-action leg the agent economy needs.

Settlement

~3 s

commission to wallet

Protocol fee

2.5%

of commission paid

Bridge fee

1%

to fiat operator

Tx cost

~$0.00025

per attribution

Why Njord

The primitive: escrow, a verified action, instant on-chain payout

Settlement

~3 second commissions, not NET-90 invoices

When a conversion is recorded, the on-chain escrow releases the affiliate commission in roughly three seconds. The whole industry standard of 30-to-90-day payment terms collapses into the time it takes a Solana slot to confirm.

Cost

2.5% protocol fee + 1% bridge fee — full stop

Traditional affiliate networks skim 15–30% off every commission. Njord charges 2.5% to the protocol and 1% to the bridge operator who handled the payment rail. Transaction costs round to roughly $0.00025 per attribution on Solana.

Trust

Attribution is a public ledger, not a vendor dashboard

Campaigns, conversions, escrow balances, and payouts are all on-chain accounts you can inspect, replay, and audit. The affiliate does not have to trust the company; the company does not have to trust the network.

Reach

Crypto-native, fiat-bridged, or hybrid

Customers pay with cards via bridge operators. Companies fund campaigns in USDC or SOL. Affiliates receive USDC directly, or withdraw to a bank through the same bridge. The chain stays underneath; the UX stays normal.

Integrity

Economic fraud handling, not manual review queues

Suspicious conversions enter a challenge window. Bad actors stake against their reputation; verifiers earn for catching them. Honest participants build a tier — New, Verified, Trusted, Elite — that shortens their hold period over time.

Open

Smart contracts, SDKs, indexer — MIT licensed

The protocol is Anchor-based on Solana with a TypeScript SDK, React hooks, a bridge-operator SDK, and a GraphQL indexer. Devnet is live; the program ID is published; the source is on GitHub.

Agent-ready

A pay-per-action rail the agent economy can call

Strip Njord to its core and you get escrow plus a verified action plus automatic settlement — the exact payment leg autonomous agents need. Today it settles human conversions; the same @njord/sdk lets a backend or agent record an action and trigger a USDC payout against a pre-funded budget it cannot overspend. A programmatic pay-per-action API and an x402 / HTTP-402 adapter are on the roadmap.

How it works

From a click to a settled commission, in seven on-chain steps

01

Create campaign

Company defines budget, commission model (percentage, flat, or tiered), the target action, and minimum affiliate tier.

02

Fund escrow

USDC or SOL is deposited into a campaign-scoped on-chain escrow. Funds stay locked until distributed or campaign ends.

03

Affiliate joins

Affiliate picks campaigns, gets a unique affiliate ID, and generates tracking links (URL parameter, short link, coupon, or SDK embed).

04

Customer converts

Customer clicks the affiliate link and completes the target action through a bridge or directly. No wallet required for the customer.

05

Bridge records attribution

The bridge operator (or company SDK) submits the conversion event on-chain. The contract validates campaign, affiliate, and escrow balance.

06

Contract calculates fees

Smart contract subtracts the 2.5% protocol fee and the 1% bridge fee, then releases the remainder from escrow to the affiliate wallet.

07

Commission lands

Affiliate sees USDC arrive in roughly three seconds. Elite-tier affiliates skip the hold period; lower tiers wait 24h–7d.

08

Audit anytime

Every step is on-chain. Re-derive the campaign state from public accounts; nothing is hidden in a vendor dashboard.

Who builds on Njord

Three roles, one ledger

Campaign owners

Pay only for verified conversions. On-chain escrow protects your budget. Stake NJORD for up to 50% fee discounts. Pause, withdraw remaining funds, or challenge suspicious conversions at any time.

Run a campaign →

Affiliates & creators

Browse open campaigns, get a unique tracking link, and earn in seconds. Build a reputation tier to shrink your hold period from 7 days down to real-time. No middleman holds your payout.

Earn as an affiliate →

Bridge operators

Run the fiat rails. Earn the 1% bridge fee on every transaction you process, plus staking yield in higher tiers (Bronze, Silver, Gold, Platinum). Docker-deployable bridge SDK, region-agnostic.

Run a bridge →

Integration

Four packages. TypeScript-first.

Pick the package that matches the role you're building for. Each wraps the on-chain program with idiomatic surfaces.

@njord/sdk

Core TypeScript SDK for direct protocol interaction. Use this from backends, scripts, and indexers.

@njord/react

React hooks and components for frontends. Connect wallets, browse campaigns, render attribution flows.

@njord/bridge-sdk

For bridge operators. Standardised attribution submission, fee accounting, and Docker-friendly deploy patterns.

@njord/indexer

Event indexer with a GraphQL API over campaigns, conversions, payouts, and affiliate tiers.

Fund → attribute → settle

import { NjordClient } from '@njord/sdk';

// Fund a campaign into on-chain escrow
const client = new NjordClient({ cluster: 'devnet', wallet });
const campaign = await client.createCampaign({
  budget:      5_000,        // USDC into escrow
  commission:  { type: 'percentage', rate: 0.15 },
  attribution: 'last-click',
});

// Hand an affiliate a tracking link
const link = client.trackingLink(campaign.id, affiliateId);

// On conversion, escrow releases the commission in ~3s
const payout = await client.submitAttribution({
  campaign: campaign.id, affiliate: affiliateId, amount: 240,
});
// payout.net = 240 − 2.5% protocol − 1% bridge → affiliate wallet

Get the source

# Clone and build
git clone https://github.com/cryptuon/njord.git
cd njord && pnpm install && pnpm build

# Live on Solana devnet
program: Hm5WfS2KL4UPaUqVJ3vadCuPMCftw2oybqvpDr7fn9Hv
cluster: devnet   (mainnet pending)

Honest comparisons

Where Njord fits versus the alternatives

We benchmark against the rails affiliate-marketing, per-click, and per-action monetisation teams actually use — including the agent-payment paywalls (L402, x402) built for the same job. Pick what fits; switch when the math changes.

FAQ

Questions teams ask before they integrate

+ What chain does Njord run on?

Solana. The on-chain programs are Anchor-based. The devnet program ID is Hm5WfS2KL4UPaUqVJ3vadCuPMCftw2oybqvpDr7fn9Hv. Mainnet deployment is pending.

+ Where does the ~3 second settlement number come from?

It is the sum of bridge confirmation (~2s) plus an attribution submitted to Solana plus the slot confirmation that releases escrow. On devnet the budget breaks down as roughly T+2s for the bridge, T+2.5s for the attribution write, T+3s for confirmation and payout.

+ What does it cost to run a campaign?

A flat 0.1 SOL campaign-creation fee to the treasury, 2.5% protocol fee on commissions paid, and 1% bridge fee on commissions paid. Staking 5,000 NJORD removes 10% of the protocol fee; 25,000 NJORD removes 25%; 100,000 NJORD removes 50%.

+ How does it stop fraud?

Two layers. First, automated scoring flags self-referrals, bot traffic, and duplicate conversions before payout. Second, an on-chain challenge window lets verifiers contest suspect attributions and earn from slashed stake when they win. Affiliate tiers gate access to premium campaigns.

+ Do affiliates need a crypto wallet?

No. The bridge path lets affiliates earn through a fiat-front-end and withdraw to a bank in local currency. Crypto-native affiliates connect a Solana wallet (Phantom, Solflare, Backpack) and receive USDC directly.

+ Can autonomous agents use Njord to pay for actions?

The building blocks are there today. Njord is escrow plus a verified action plus automatic USDC settlement — the same primitive an AI agent needs to pay per call or per result against a pre-funded budget it cannot overspend. Any backend or agent can already record an action via @njord/sdk and trigger a payout. A dedicated pay-per-action API and an x402 / HTTP-402 adapter are on the roadmap, not yet shipped.

+ How is this different from x402 / HTTP-402 paywalls?

x402 is a two-party pattern: a client pays a server per request. Njord adds a funded, multi-party escrow — one budget can pay many earners (or agents) per verified action, with fee splitting and a public audit trail built in. The two are complementary; a 402 response could settle against a Njord escrow.

+ Is Njord production-ready?

The protocol is deployed on Solana devnet today; the program ID is public and explorable. Mainnet is pending an audit. SDKs and the indexer are open-source in the GitHub workspace. Treat this as a working public testnet rather than a battle-tested mainnet system.

+ Why "Njord"?

Njord is the Norse god of seafarers and prosperity at sea — the patron of fair returns on voyages. The protocol routes value back to the people who actually made the journey: the affiliate who sent the customer, not the network in the middle.

Explore Njord

Go deeper into the protocol

Every section of the docs, one hop away — the full feature surface, real-world use cases, and the reasoning behind the design.

Stop waiting 90 days to settle a click.

Clone the repo, deploy on devnet, and run a campaign in under an hour. The docs walk through campaign creation, bridge integration, and the SDK in detail.